Message ID | 20201026213616.20816-2-pali@kernel.org |
---|---|
State | Superseded |
Delegated to: | Lokesh Vutla |
Headers | show |
Series | [1/2] power: twl4030: Add twl4030_i2c_read() function | expand |
On Mon, Oct 26, 2020 at 10:36:16PM +0100, Pali Rohár wrote: > Signed-off-by: Pali Rohár <pali@kernel.org> Please include something for the commit message. > --- > board/nokia/rx51/rx51.c | 26 ++++++++++++++++++++++++-- > configs/nokia_rx51_defconfig | 2 ++ > include/configs/nokia_rx51.h | 2 ++ > 3 files changed, 28 insertions(+), 2 deletions(-) > > diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c > index f624dbfbeb..9cc5eb97b3 100644 > --- a/board/nokia/rx51/rx51.c > +++ b/board/nokia/rx51/rx51.c > @@ -22,6 +22,7 @@ > */ > > #include <common.h> > +#include <dm.h> > #include <env.h> > #include <init.h> > #include <watchdog.h> > @@ -33,6 +34,7 @@ > #include <asm/setup.h> > #include <asm/bitops.h> > #include <asm/mach-types.h> > +#include <asm/omap_i2c.h> > #include <asm/arch/mux.h> > #include <asm/arch/sys_proto.h> > #include <asm/arch/mmc_host_def.h> > @@ -390,10 +392,16 @@ int misc_init_r(void) > u8 state; > > /* reset lp5523 led */ > +#ifndef CONFIG_DM_I2C > i2c_set_bus_num(1); > state = 0xff; > i2c_write(0x32, 0x3d, 1, &state, 1); > i2c_set_bus_num(0); > +#else > + struct udevice *dev; > + if (i2c_get_chip_for_busnum(1, 0x32, 1, &dev) == 0) > + dm_i2c_reg_write(dev, 0x3d, 0xff); > +#endif At this point, and especially for boards and not drivers, just do the conversion unilaterally. Thanks!
diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c index f624dbfbeb..9cc5eb97b3 100644 --- a/board/nokia/rx51/rx51.c +++ b/board/nokia/rx51/rx51.c @@ -22,6 +22,7 @@ */ #include <common.h> +#include <dm.h> #include <env.h> #include <init.h> #include <watchdog.h> @@ -33,6 +34,7 @@ #include <asm/setup.h> #include <asm/bitops.h> #include <asm/mach-types.h> +#include <asm/omap_i2c.h> #include <asm/arch/mux.h> #include <asm/arch/sys_proto.h> #include <asm/arch/mmc_host_def.h> @@ -390,10 +392,16 @@ int misc_init_r(void) u8 state; /* reset lp5523 led */ +#ifndef CONFIG_DM_I2C i2c_set_bus_num(1); state = 0xff; i2c_write(0x32, 0x3d, 1, &state, 1); i2c_set_bus_num(0); +#else + struct udevice *dev; + if (i2c_get_chip_for_busnum(1, 0x32, 1, &dev) == 0) + dm_i2c_reg_write(dev, 0x3d, 0xff); +#endif /* initialize twl4030 power managment */ twl4030_power_init(); @@ -626,8 +634,8 @@ int rx51_kp_tstc(struct stdio_dev *sdev) continue; /* read the key state */ - i2c_read(TWL4030_CHIP_KEYPAD, - TWL4030_KEYPAD_FULL_CODE_7_0, 1, keys, 8); + twl4030_i2c_read(TWL4030_CHIP_KEYPAD, + TWL4030_KEYPAD_FULL_CODE_7_0, keys, 8); /* cut out modifier keys from the keystate */ mods = keys[4] >> 4; @@ -684,3 +692,17 @@ void board_mmc_power_init(void) twl4030_power_mmc_init(0); twl4030_power_mmc_init(1); } + +#ifdef CONFIG_DM_I2C +static const struct omap_i2c_platdata rx51_i2c[] = { + { I2C_BASE1, 2200000, OMAP_I2C_REV_V1 }, + { I2C_BASE2, 100000, OMAP_I2C_REV_V1 }, + { I2C_BASE3, 400000, OMAP_I2C_REV_V1 }, +}; + +U_BOOT_DEVICES(rx51_i2c) = { + { "i2c_omap", &rx51_i2c[0] }, + { "i2c_omap", &rx51_i2c[1] }, + { "i2c_omap", &rx51_i2c[2] }, +}; +#endif diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig index e249dff774..d5f27db642 100644 --- a/configs/nokia_rx51_defconfig +++ b/configs/nokia_rx51_defconfig @@ -59,3 +59,5 @@ CONFIG_CFB_CONSOLE_ANSI=y # CONFIG_VGA_AS_SINGLE_DEVICE is not set CONFIG_SPLASH_SCREEN=y # CONFIG_GZIP is not set +CONFIG_DM=y +CONFIG_DM_I2C=y diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h index c86c429413..1d7ee7fc19 100644 --- a/include/configs/nokia_rx51.h +++ b/include/configs/nokia_rx51.h @@ -77,7 +77,9 @@ /* commands to include */ +#ifndef CONFIG_DM_I2C #define CONFIG_SYS_I2C +#endif /* * TWL4030
Signed-off-by: Pali Rohár <pali@kernel.org> --- board/nokia/rx51/rx51.c | 26 ++++++++++++++++++++++++-- configs/nokia_rx51_defconfig | 2 ++ include/configs/nokia_rx51.h | 2 ++ 3 files changed, 28 insertions(+), 2 deletions(-)