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