linux/include/linux/ssb/ssb_driver_mips.h
<<
>>
Prefs
   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