1#ifndef LINUX_SSB_MIPSCORE_H_ 2#define LINUX_SSB_MIPSCORE_H_ 3 4#ifdef CONFIG_SSB_DRIVER_MIPS 5 6struct ssb_device; 7 8struct ssb_serial_port { 9 void *regs; 10 unsigned long clockspeed; 11 unsigned int irq; 12 unsigned int baud_base; 13 unsigned int reg_shift; 14}; 15 16struct ssb_pflash { 17 bool present; 18 u8 buswidth; 19 u32 window; 20 u32 window_size; 21}; 22 23#ifdef CONFIG_SSB_SFLASH 24struct ssb_sflash { 25 bool present; 26 u32 window; 27 u32 blocksize; 28 u16 numblocks; 29 u32 size; 30 31 void *priv; 32}; 33#endif 34 35struct ssb_mipscore { 36 struct ssb_device *dev; 37 38 int nr_serial_ports; 39 struct ssb_serial_port serial_ports[4]; 40 41 struct ssb_pflash pflash; 42#ifdef CONFIG_SSB_SFLASH 43 struct ssb_sflash sflash; 44#endif 45}; 46 47extern void ssb_mipscore_init(struct ssb_mipscore *mcore); 48extern u32 ssb_cpu_clock(struct ssb_mipscore *mcore); 49 50extern unsigned int ssb_mips_irq(struct ssb_device *dev); 51 52 53#else /* CONFIG_SSB_DRIVER_MIPS */ 54 55struct ssb_mipscore { 56}; 57 58static inline 59void ssb_mipscore_init(struct ssb_mipscore *mcore) 60{ 61} 62 63static inline unsigned int ssb_mips_irq(struct ssb_device *dev) 64{ 65 return 0; 66} 67 68#endif /* CONFIG_SSB_DRIVER_MIPS */ 69 70#endif /* LINUX_SSB_MIPSCORE_H_ */ 71