aboutsummaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2020-10-26 23:45:11 +0100
committerLokesh Vutla <lokeshvutla@ti.com>2020-11-15 15:26:25 +0530
commit8d8c181703253e8162ed9b2bdfd353bf44448770 (patch)
tree101d8d739c34fdbeec3a5988fd7a60e48b2816a3 /board
parent4fcc084eeb8cd7db77263672c6a43da629a4ed48 (diff)
Nokia RX-51: Convert to CONFIG_DM_I2C
Use twl4030_i2c_read(), i2c_get_chip_for_busnum() and remove CONFIG_SYS_I2C. Signed-off-by: Pali Rohár <pali@kernel.org>
Diffstat (limited to 'board')
-rw-r--r--board/nokia/rx51/rx51.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
index f624dbfbebc..63531e1420d 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>
@@ -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] },
+};