]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mvebu: theadorable: Switch to using DM I2C API
authorStefan Roese <sr@denx.de>
Thu, 18 Nov 2021 08:19:35 +0000 (09:19 +0100)
committerStefan Roese <sr@denx.de>
Sun, 19 Dec 2021 08:50:47 +0000 (09:50 +0100)
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>
board/theadorable/theadorable.c

index bb2d51495638a1ae0fe8d3311e7d3dcad9ba51ea..6e41ca239919b9a06a352caad50a4bac05f3ac99 100644 (file)
@@ -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");