Lines Matching refs:base

54 static unsigned int __i2c_set_bus_speed(struct lpc32xx_i2c_base *base,  in __i2c_set_bus_speed()  argument
73 writel(half_period, &base->clk_hi); in __i2c_set_bus_speed()
74 writel(half_period, &base->clk_lo); in __i2c_set_bus_speed()
79 static void __i2c_init(struct lpc32xx_i2c_base *base, in __i2c_init() argument
83 writel(LPC32XX_I2C_SOFT_RESET, &base->ctrl); in __i2c_init()
85 __i2c_set_bus_speed(base, requested_speed, chip); in __i2c_init()
89 static int __i2c_probe_chip(struct lpc32xx_i2c_base *base, u8 dev) in __i2c_probe_chip() argument
94 writel(LPC32XX_I2C_SOFT_RESET, &base->ctrl); in __i2c_probe_chip()
95 while (readl(&base->ctrl) & LPC32XX_I2C_SOFT_RESET) in __i2c_probe_chip()
99 &base->tx); in __i2c_probe_chip()
101 while (!((stat = readl(&base->stat)) & LPC32XX_I2C_STAT_TDI)) in __i2c_probe_chip()
111 static int __i2c_read(struct lpc32xx_i2c_base *base, u8 dev, uint addr, in __i2c_read() argument
117 writel(LPC32XX_I2C_SOFT_RESET, &base->ctrl); in __i2c_read()
118 while (readl(&base->ctrl) & LPC32XX_I2C_SOFT_RESET) in __i2c_read()
123 writel((dev<<1) | LPC32XX_I2C_TX_START, &base->tx); in __i2c_read()
131 writel(a, &base->tx); in __i2c_read()
134 while (!((stat = readl(&base->stat)) & LPC32XX_I2C_STAT_TDI)) in __i2c_read()
137 writel(1, &base->stat); in __i2c_read()
142 writel(1 | (dev<<1) | LPC32XX_I2C_TX_START, &base->tx); in __i2c_read()
147 stat = readl(&base->stat); in __i2c_read()
154 LPC32XX_I2C_TX_STOP, &base->tx); in __i2c_read()
161 *(data++) = readl(&base->rx); in __i2c_read()
165 while (!((stat = readl(&base->stat)) & LPC32XX_I2C_STAT_TDI)) in __i2c_read()
168 writel(1, &base->stat); in __i2c_read()
178 static int __i2c_write(struct lpc32xx_i2c_base *base, u8 dev, uint addr, in __i2c_write() argument
184 writel(LPC32XX_I2C_SOFT_RESET, &base->ctrl); in __i2c_write()
185 while (readl(&base->ctrl) & LPC32XX_I2C_SOFT_RESET) in __i2c_write()
190 writel((dev<<1) | LPC32XX_I2C_TX_START, &base->tx); in __i2c_write()
196 stat = readl(&base->stat); in __i2c_write()
203 writel(a, &base->tx); in __i2c_write()
208 stat = readl(&base->stat); in __i2c_write()
216 writel(d, &base->tx); in __i2c_write()
220 while (!((stat = readl(&base->stat)) & LPC32XX_I2C_STAT_TDI)) in __i2c_write()
223 writel(1, &base->stat); in __i2c_write()
287 __i2c_init(dev->base, dev->speed, 0, dev->index);
295 return __i2c_probe_chip(dev->base, chip_addr);
324 return __i2c_read(dev->base, dmsg->addr, address,
327 return __i2c_write(dev->base, dmsg->addr, address,
334 return __i2c_set_bus_speed(dev->base, speed, dev->index);
341 __i2c_init(dev->base, dev->speed, 0, dev->index);