[SSB]: add Sonics Silicon Backplane bus support
SSB is an SoC bus used in a number of embedded devices. The most well-known of these devices is probably the Linksys WRT54G, but there are others as well. The bus is also used internally on the BCM43xx and BCM44xx devices from Broadcom. This patch also includes support for SSB ID tables in modules, so that SSB drivers can be loaded automatically. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
5ee3afba88
commit
61e115a56d
46
include/linux/ssb/ssb_driver_mips.h
Normal file
46
include/linux/ssb/ssb_driver_mips.h
Normal file
@ -0,0 +1,46 @@
|
||||
#ifndef LINUX_SSB_MIPSCORE_H_
|
||||
#define LINUX_SSB_MIPSCORE_H_
|
||||
|
||||
#ifdef CONFIG_SSB_DRIVER_MIPS
|
||||
|
||||
struct ssb_device;
|
||||
|
||||
struct ssb_serial_port {
|
||||
void *regs;
|
||||
unsigned long clockspeed;
|
||||
unsigned int irq;
|
||||
unsigned int baud_base;
|
||||
unsigned int reg_shift;
|
||||
};
|
||||
|
||||
|
||||
struct ssb_mipscore {
|
||||
struct ssb_device *dev;
|
||||
|
||||
int nr_serial_ports;
|
||||
struct ssb_serial_port serial_ports[4];
|
||||
|
||||
u8 flash_buswidth;
|
||||
u32 flash_window;
|
||||
u32 flash_window_size;
|
||||
};
|
||||
|
||||
extern void ssb_mipscore_init(struct ssb_mipscore *mcore);
|
||||
extern u32 ssb_cpu_clock(struct ssb_mipscore *mcore);
|
||||
|
||||
extern unsigned int ssb_mips_irq(struct ssb_device *dev);
|
||||
|
||||
|
||||
#else /* CONFIG_SSB_DRIVER_MIPS */
|
||||
|
||||
struct ssb_mipscore {
|
||||
};
|
||||
|
||||
static inline
|
||||
void ssb_mipscore_init(struct ssb_mipscore *mcore)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* CONFIG_SSB_DRIVER_MIPS */
|
||||
|
||||
#endif /* LINUX_SSB_MIPSCORE_H_ */
|
Reference in New Issue
Block a user