aboutsummaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2021-11-18 09:19:35 +0100
committerStefan Roese <sr@denx.de>2021-12-19 09:50:47 +0100
commit2f7dae27c6556f0bf80f182403277683b6818ace (patch)
treea050c55431f082e4deba54407990673ce5d82bb5 /board
parent9f704def5e18a1a6eeb7fa1691fa6cf721263f7d (diff)
downloadu-boot-2f7dae27c6556f0bf80f182403277683b6818ace.zip
u-boot-2f7dae27c6556f0bf80f182403277683b6818ace.tar.gz
u-boot-2f7dae27c6556f0bf80f182403277683b6818ace.tar.bz2
arm: mvebu: theadorable: Switch to using DM I2C API
No functional change intended. This patch switches from the legacy I2C API to the DM I2C API, so that this code can be used with DM I2C enabled. Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'board')
-rw-r--r--board/theadorable/theadorable.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/board/theadorable/theadorable.c b/board/theadorable/theadorable.c
index bb2d514..6e41ca2 100644
--- a/board/theadorable/theadorable.c
+++ b/board/theadorable/theadorable.c
@@ -298,10 +298,19 @@ int board_late_init(void)
bootcount_inc();
if (bootcount > PEX_SWITCH_NOT_FOUNT_LIMIT) {
- printf("Issuing power-switch via uC!\n");
+ struct udevice *dev;
printf("Issuing power-switch via uC!\n");
- i2c_set_bus_num(STM_I2C_BUS);
+ ret = i2c_get_chip_for_busnum(STM_I2C_BUS, STM_I2C_ADDR,
+ 1, &dev);
+ if (ret) {
+ printf("Error selecting STM on I2C bus (ret=%d)\n",
+ ret);
+ printf("Issuing soft-reset...\n");
+ /* default handling: SOFT reset */
+ do_reset(NULL, 0, 0, NULL);
+ }
+
i2c_buf[0] = STM_I2C_ADDR << 1;
i2c_buf[1] = 0xc5; /* cmd */
i2c_buf[2] = 0x01; /* enable */
@@ -313,7 +322,7 @@ int board_late_init(void)
i2c_buf[6] = 0x00;
i2c_buf[7] = crc8(0x72, &i2c_buf[0], 7);
- ret = i2c_write(STM_I2C_ADDR, 0, 0, &i2c_buf[1], 7);
+ ret = dm_i2c_write(dev, 0, &i2c_buf[1], 7);
if (ret) {
printf("I2C write error (ret=%d)\n", ret);
printf("Issuing soft-reset...\n");