diff options
| author | Stefan Roese <[email protected]> | 2021-11-18 09:19:35 +0100 |
|---|---|---|
| committer | Stefan Roese <[email protected]> | 2021-12-19 09:50:47 +0100 |
| commit | 2f7dae27c6556f0bf80f182403277683b6818ace (patch) | |
| tree | a050c55431f082e4deba54407990673ce5d82bb5 | |
| parent | 9f704def5e18a1a6eeb7fa1691fa6cf721263f7d (diff) | |
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 <[email protected]>
| -rw-r--r-- | board/theadorable/theadorable.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/board/theadorable/theadorable.c b/board/theadorable/theadorable.c index bb2d5149563..6e41ca23991 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"); |
