xtensa: fix high memory/reserved memory collision
[cris-mirror.git] / include / linux / ssb / ssb_driver_mips.h
blobbef6bba32dff9b5ae0686e5e7a196d06f1d254a6
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef LINUX_SSB_MIPSCORE_H_
3 #define LINUX_SSB_MIPSCORE_H_
5 #ifdef CONFIG_SSB_DRIVER_MIPS
7 struct ssb_device;
9 struct ssb_serial_port {
10 void *regs;
11 unsigned long clockspeed;
12 unsigned int irq;
13 unsigned int baud_base;
14 unsigned int reg_shift;
17 struct ssb_pflash {
18 bool present;
19 u8 buswidth;
20 u32 window;
21 u32 window_size;
24 #ifdef CONFIG_SSB_SFLASH
25 struct ssb_sflash {
26 bool present;
27 u32 window;
28 u32 blocksize;
29 u16 numblocks;
30 u32 size;
32 void *priv;
34 #endif
36 struct ssb_mipscore {
37 struct ssb_device *dev;
39 int nr_serial_ports;
40 struct ssb_serial_port serial_ports[4];
42 struct ssb_pflash pflash;
43 #ifdef CONFIG_SSB_SFLASH
44 struct ssb_sflash sflash;
45 #endif
48 extern void ssb_mipscore_init(struct ssb_mipscore *mcore);
49 extern u32 ssb_cpu_clock(struct ssb_mipscore *mcore);
51 extern unsigned int ssb_mips_irq(struct ssb_device *dev);
54 #else /* CONFIG_SSB_DRIVER_MIPS */
56 struct ssb_mipscore {
59 static inline
60 void ssb_mipscore_init(struct ssb_mipscore *mcore)
64 static inline unsigned int ssb_mips_irq(struct ssb_device *dev)
66 return 0;
69 #endif /* CONFIG_SSB_DRIVER_MIPS */
71 #endif /* LINUX_SSB_MIPSCORE_H_ */