mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-03 10:17:21 +00:00
i2c: lpc32xx: Prepare compatibility functions
This is part of the prep work for the migration to the driver model. Signed-off-by: Liam Beguin <lbeguin@tycoint.com> Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com>
This commit is contained in:
parent
03d924ae76
commit
552531e45d
1 changed files with 38 additions and 9 deletions
|
@ -68,7 +68,7 @@ static struct lpc32xx_i2c_registers *lpc32xx_i2c[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Set I2C bus speed */
|
/* Set I2C bus speed */
|
||||||
static unsigned int lpc32xx_i2c_set_bus_speed(struct i2c_adapter *adap,
|
static unsigned int __i2c_set_bus_speed(struct i2c_adapter *adap,
|
||||||
unsigned int speed)
|
unsigned int speed)
|
||||||
{
|
{
|
||||||
int half_period;
|
int half_period;
|
||||||
|
@ -93,7 +93,7 @@ static unsigned int lpc32xx_i2c_set_bus_speed(struct i2c_adapter *adap,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* I2C init called by cmd_i2c when doing 'i2c reset'. */
|
/* I2C init called by cmd_i2c when doing 'i2c reset'. */
|
||||||
static void _i2c_init(struct i2c_adapter *adap,
|
static void __i2c_init(struct i2c_adapter *adap,
|
||||||
int requested_speed, int slaveadd)
|
int requested_speed, int slaveadd)
|
||||||
{
|
{
|
||||||
struct lpc32xx_i2c_registers *i2c = lpc32xx_i2c[adap->hwadapnr];
|
struct lpc32xx_i2c_registers *i2c = lpc32xx_i2c[adap->hwadapnr];
|
||||||
|
@ -101,11 +101,11 @@ static void _i2c_init(struct i2c_adapter *adap,
|
||||||
/* soft reset (auto-clears) */
|
/* soft reset (auto-clears) */
|
||||||
writel(LPC32XX_I2C_SOFT_RESET, &i2c->ctrl);
|
writel(LPC32XX_I2C_SOFT_RESET, &i2c->ctrl);
|
||||||
/* set HI and LO periods for half of the default speed */
|
/* set HI and LO periods for half of the default speed */
|
||||||
lpc32xx_i2c_set_bus_speed(adap, requested_speed);
|
__i2c_set_bus_speed(adap, requested_speed);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* I2C probe called by cmd_i2c when doing 'i2c probe'. */
|
/* I2C probe called by cmd_i2c when doing 'i2c probe'. */
|
||||||
static int lpc32xx_i2c_probe_chip(struct i2c_adapter *adap, u8 dev)
|
static int __i2c_probe_chip(struct i2c_adapter *adap, u8 dev)
|
||||||
{
|
{
|
||||||
struct lpc32xx_i2c_registers *i2c = lpc32xx_i2c[adap->hwadapnr];
|
struct lpc32xx_i2c_registers *i2c = lpc32xx_i2c[adap->hwadapnr];
|
||||||
int stat;
|
int stat;
|
||||||
|
@ -128,7 +128,7 @@ static int lpc32xx_i2c_probe_chip(struct i2c_adapter *adap, u8 dev)
|
||||||
* I2C read called by cmd_i2c when doing 'i2c read' and by cmd_eeprom.c
|
* I2C read called by cmd_i2c when doing 'i2c read' and by cmd_eeprom.c
|
||||||
* Begin write, send address byte(s), begin read, receive data bytes, end.
|
* Begin write, send address byte(s), begin read, receive data bytes, end.
|
||||||
*/
|
*/
|
||||||
static int lpc32xx_i2c_read(struct i2c_adapter *adap, u8 dev, uint addr,
|
static int __i2c_read(struct i2c_adapter *adap, u8 dev, uint addr,
|
||||||
int alen, u8 *data, int length)
|
int alen, u8 *data, int length)
|
||||||
{
|
{
|
||||||
struct lpc32xx_i2c_registers *i2c = lpc32xx_i2c[adap->hwadapnr];
|
struct lpc32xx_i2c_registers *i2c = lpc32xx_i2c[adap->hwadapnr];
|
||||||
|
@ -196,7 +196,7 @@ static int lpc32xx_i2c_read(struct i2c_adapter *adap, u8 dev, uint addr,
|
||||||
* I2C write called by cmd_i2c when doing 'i2c write' and by cmd_eeprom.c
|
* I2C write called by cmd_i2c when doing 'i2c write' and by cmd_eeprom.c
|
||||||
* Begin write, send address byte(s), send data bytes, end.
|
* Begin write, send address byte(s), send data bytes, end.
|
||||||
*/
|
*/
|
||||||
static int lpc32xx_i2c_write(struct i2c_adapter *adap, u8 dev, uint addr,
|
static int __i2c_write(struct i2c_adapter *adap, u8 dev, uint addr,
|
||||||
int alen, u8 *data, int length)
|
int alen, u8 *data, int length)
|
||||||
{
|
{
|
||||||
struct lpc32xx_i2c_registers *i2c = lpc32xx_i2c[adap->hwadapnr];
|
struct lpc32xx_i2c_registers *i2c = lpc32xx_i2c[adap->hwadapnr];
|
||||||
|
@ -246,21 +246,50 @@ static int lpc32xx_i2c_write(struct i2c_adapter *adap, u8 dev, uint addr,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
U_BOOT_I2C_ADAP_COMPLETE(lpc32xx_0, _i2c_init, lpc32xx_i2c_probe_chip,
|
static void lpc32xx_i2c_init(struct i2c_adapter *adap,
|
||||||
|
int requested_speed, int slaveadd)
|
||||||
|
{
|
||||||
|
__i2c_init(adap, requested_speed, slaveadd);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int lpc32xx_i2c_probe_chip(struct i2c_adapter *adap, u8 dev)
|
||||||
|
{
|
||||||
|
return __i2c_probe_chip(adap, dev);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int lpc32xx_i2c_read(struct i2c_adapter *adap, u8 dev, uint addr,
|
||||||
|
int alen, u8 *data, int length)
|
||||||
|
{
|
||||||
|
return __i2c_read(adap, dev, addr, alen, data, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int lpc32xx_i2c_write(struct i2c_adapter *adap, u8 dev, uint addr,
|
||||||
|
int alen, u8 *data, int length)
|
||||||
|
{
|
||||||
|
return __i2c_write(adap, dev, addr, alen, data, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
static unsigned int lpc32xx_i2c_set_bus_speed(struct i2c_adapter *adap,
|
||||||
|
unsigned int speed)
|
||||||
|
{
|
||||||
|
return __i2c_set_bus_speed(adap, speed);
|
||||||
|
}
|
||||||
|
|
||||||
|
U_BOOT_I2C_ADAP_COMPLETE(lpc32xx_0, lpc32xx_i2c_init, lpc32xx_i2c_probe_chip,
|
||||||
lpc32xx_i2c_read, lpc32xx_i2c_write,
|
lpc32xx_i2c_read, lpc32xx_i2c_write,
|
||||||
lpc32xx_i2c_set_bus_speed,
|
lpc32xx_i2c_set_bus_speed,
|
||||||
CONFIG_SYS_I2C_LPC32XX_SPEED,
|
CONFIG_SYS_I2C_LPC32XX_SPEED,
|
||||||
CONFIG_SYS_I2C_LPC32XX_SLAVE,
|
CONFIG_SYS_I2C_LPC32XX_SLAVE,
|
||||||
0)
|
0)
|
||||||
|
|
||||||
U_BOOT_I2C_ADAP_COMPLETE(lpc32xx_1, _i2c_init, lpc32xx_i2c_probe_chip,
|
U_BOOT_I2C_ADAP_COMPLETE(lpc32xx_1, lpc32xx_i2c_init, lpc32xx_i2c_probe_chip,
|
||||||
lpc32xx_i2c_read, lpc32xx_i2c_write,
|
lpc32xx_i2c_read, lpc32xx_i2c_write,
|
||||||
lpc32xx_i2c_set_bus_speed,
|
lpc32xx_i2c_set_bus_speed,
|
||||||
CONFIG_SYS_I2C_LPC32XX_SPEED,
|
CONFIG_SYS_I2C_LPC32XX_SPEED,
|
||||||
CONFIG_SYS_I2C_LPC32XX_SLAVE,
|
CONFIG_SYS_I2C_LPC32XX_SLAVE,
|
||||||
1)
|
1)
|
||||||
|
|
||||||
U_BOOT_I2C_ADAP_COMPLETE(lpc32xx_2, _i2c_init, NULL,
|
U_BOOT_I2C_ADAP_COMPLETE(lpc32xx_2, lpc32xx_i2c_init, NULL,
|
||||||
lpc32xx_i2c_read, lpc32xx_i2c_write,
|
lpc32xx_i2c_read, lpc32xx_i2c_write,
|
||||||
lpc32xx_i2c_set_bus_speed,
|
lpc32xx_i2c_set_bus_speed,
|
||||||
100000,
|
100000,
|
||||||
|
|
Loading…
Add table
Reference in a new issue