1 #ifndef LINUX_SSB_MIPSCORE_H_
2 #define LINUX_SSB_MIPSCORE_H_
3 
4 #ifdef CONFIG_SSB_DRIVER_MIPS
5 
6 struct ssb_device;
7 
8 struct 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 
16 struct ssb_pflash {
17 	bool present;
18 	u8 buswidth;
19 	u32 window;
20 	u32 window_size;
21 };
22 
23 struct ssb_mipscore {
24 	struct ssb_device *dev;
25 
26 	int nr_serial_ports;
27 	struct ssb_serial_port serial_ports[4];
28 
29 	struct ssb_pflash pflash;
30 };
31 
32 extern void ssb_mipscore_init(struct ssb_mipscore *mcore);
33 extern u32 ssb_cpu_clock(struct ssb_mipscore *mcore);
34 
35 extern unsigned int ssb_mips_irq(struct ssb_device *dev);
36 
37 
38 #else /* CONFIG_SSB_DRIVER_MIPS */
39 
40 struct ssb_mipscore {
41 };
42 
43 static inline
44 void ssb_mipscore_init(struct ssb_mipscore *mcore)
45 {
46 }
47 
48 #endif /* CONFIG_SSB_DRIVER_MIPS */
49 
50 #endif /* LINUX_SSB_MIPSCORE_H_ */
51