Lines Matching defs:extif

20 static inline u32 extif_read32(struct ssb_extif *extif, u16 offset)
22 return ssb_read32(extif->dev, offset);
25 static inline void extif_write32(struct ssb_extif *extif, u16 offset, u32 value)
27 ssb_write32(extif->dev, offset, value);
30 static inline u32 extif_write32_masked(struct ssb_extif *extif, u16 offset,
34 value |= extif_read32(extif, offset) & ~mask;
35 extif_write32(extif, offset, value);
55 int ssb_extif_serial_init(struct ssb_extif *extif, struct ssb_serial_port *ports)
60 extif_write32(extif, SSB_EXTIF_GPIO_INTPOL, 0);
61 extif_write32(extif, SSB_EXTIF_GPIO_INTMASK, 0);
71 extif_write32(extif, SSB_EXTIF_GPIO_INTMASK, 2);
86 void ssb_extif_timing_init(struct ssb_extif *extif, unsigned long ns)
90 /* Initialize extif so we can get to the LEDs and external UART */
91 extif_write32(extif, SSB_EXTIF_PROG_CFG, SSB_EXTCFG_EN);
97 extif_write32(extif, SSB_EXTIF_PROG_WAITCNT, tmp);
104 extif_write32(extif, SSB_EXTIF_PROG_WAITCNT, tmp);
107 void ssb_extif_get_clockcontrol(struct ssb_extif *extif,
111 *n = extif_read32(extif, SSB_EXTIF_CLOCK_N);
112 *m = extif_read32(extif, SSB_EXTIF_CLOCK_SB);
117 struct ssb_extif *extif = bcm47xx_wdt_get_drvdata(wdt);
119 return ssb_extif_watchdog_timer_set(extif, ticks);
124 struct ssb_extif *extif = bcm47xx_wdt_get_drvdata(wdt);
127 ticks = ssb_extif_watchdog_timer_set(extif, ticks);
132 u32 ssb_extif_watchdog_timer_set(struct ssb_extif *extif, u32 ticks)
136 extif_write32(extif, SSB_EXTIF_WATCHDOG, ticks);
141 void ssb_extif_init(struct ssb_extif *extif)
143 if (!extif->dev)
145 spin_lock_init(&extif->gpio_lock);
148 u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask)
150 return extif_read32(extif, SSB_EXTIF_GPIO_IN) & mask;
153 u32 ssb_extif_gpio_out(struct ssb_extif *extif, u32 mask, u32 value)
158 spin_lock_irqsave(&extif->gpio_lock, flags);
159 res = extif_write32_masked(extif, SSB_EXTIF_GPIO_OUT(0),
161 spin_unlock_irqrestore(&extif->gpio_lock, flags);
166 u32 ssb_extif_gpio_outen(struct ssb_extif *extif, u32 mask, u32 value)
171 spin_lock_irqsave(&extif->gpio_lock, flags);
172 res = extif_write32_masked(extif, SSB_EXTIF_GPIO_OUTEN(0),
174 spin_unlock_irqrestore(&extif->gpio_lock, flags);
179 u32 ssb_extif_gpio_polarity(struct ssb_extif *extif, u32 mask, u32 value)
184 spin_lock_irqsave(&extif->gpio_lock, flags);
185 res = extif_write32_masked(extif, SSB_EXTIF_GPIO_INTPOL, mask, value);
186 spin_unlock_irqrestore(&extif->gpio_lock, flags);
191 u32 ssb_extif_gpio_intmask(struct ssb_extif *extif, u32 mask, u32 value)
196 spin_lock_irqsave(&extif->gpio_lock, flags);
197 res = extif_write32_masked(extif, SSB_EXTIF_GPIO_INTMASK, mask, value);
198 spin_unlock_irqrestore(&extif->gpio_lock, flags);