61e115a56d
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>
47 lines
808 B
C
47 lines
808 B
C
#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_ */
|