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 */
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");