ram: k3-am654: add support for LPDDR4 and DDR3L DDRs
[oweals/u-boot.git] / drivers / power / palmas.c
index 6d5abba5a7351c89caf05ea51f6e569eb27f3a48..2584bea38d092e5c53c28cc2e2f9eafeee6fc7ed 100644 (file)
@@ -175,3 +175,42 @@ int twl603x_enable_bb_charge(u8 bb_fields)
                       val, err);
        return err;
 }
+
+#ifdef CONFIG_DM_I2C
+int palmas_i2c_write_u8(u8 chip_no, u8 reg, u8 val)
+{
+       struct udevice *dev;
+       int ret;
+
+       ret = i2c_get_chip_for_busnum(0, chip_no, 1, &dev);
+       if (ret) {
+               pr_err("unable to get I2C bus. ret %d\n", ret);
+               return ret;
+       }
+       ret = dm_i2c_reg_write(dev, reg, val);
+       if (ret) {
+               pr_err("writing to palmas failed. ret %d\n", ret);
+               return ret;
+       }
+       return 0;
+}
+
+int palmas_i2c_read_u8(u8 chip_no, u8 reg, u8 *valp)
+{
+       struct udevice *dev;
+       int ret;
+
+       ret = i2c_get_chip_for_busnum(0, chip_no, 1, &dev);
+       if (ret) {
+               pr_err("unable to get I2C bus. ret %d\n", ret);
+               return ret;
+       }
+       ret = dm_i2c_reg_read(dev, reg);
+       if (ret < 0) {
+               pr_err("reading from palmas failed. ret %d\n", ret);
+               return ret;
+       }
+       *valp = (u8)ret;
+       return 0;
+}
+#endif