]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
Nokia RX-51: Convert to CONFIG_DM_I2C
authorPali Rohár <pali@kernel.org>
Mon, 26 Oct 2020 22:45:11 +0000 (23:45 +0100)
committerLokesh Vutla <lokeshvutla@ti.com>
Sun, 15 Nov 2020 09:56:25 +0000 (15:26 +0530)
Use twl4030_i2c_read(), i2c_get_chip_for_busnum() and remove
CONFIG_SYS_I2C.

Signed-off-by: Pali Rohár <pali@kernel.org>
board/nokia/rx51/rx51.c
configs/nokia_rx51_defconfig
include/configs/nokia_rx51.h

index f624dbfbebc4b8e125dfa5008e082538e61057df..63531e1420d34e56e778007778ccae994f4ac060 100644 (file)
@@ -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>
@@ -386,14 +388,13 @@ static void omap3_update_aux_cr_secure_rx51(u32 set_bits, u32 clear_bits)
  */
 int misc_init_r(void)
 {
+       struct udevice *dev;
        char buf[12];
        u8 state;
 
        /* reset lp5523 led */
-       i2c_set_bus_num(1);
-       state = 0xff;
-       i2c_write(0x32, 0x3d, 1, &state, 1);
-       i2c_set_bus_num(0);
+       if (i2c_get_chip_for_busnum(1, 0x32, 1, &dev) == 0)
+               dm_i2c_reg_write(dev, 0x3d, 0xff);
 
        /* initialize twl4030 power managment */
        twl4030_power_init();
@@ -626,8 +627,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 +685,15 @@ void board_mmc_power_init(void)
        twl4030_power_mmc_init(0);
        twl4030_power_mmc_init(1);
 }
+
+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] },
+};
index 1d353520a9fbb3aacdc2486534391dffa23c2c6c..6310a12aaad6a6fa01802434323aeafc98a09b77 100644 (file)
@@ -60,3 +60,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
index c86c4294137f6ccde6f81b661eda207991c86873..9b89120342be9cb551eef2c1d91be84714a24dfb 100644 (file)
@@ -77,8 +77,6 @@
 
 /* commands to include */
 
-#define CONFIG_SYS_I2C
-
 /*
  * TWL4030
  */