]> git.sur5r.net Git - u-boot/blobdiff - drivers/power/twl6035.c
bfin: Move gpio support for bf54x and bf60x into the generic driver folder.
[u-boot] / drivers / power / twl6035.c
index d75212c9641d2bf53c9b42efec60261e9fc84d7d..d3de698cde776e342bdf7b4270ebe4e37abee42a 100644 (file)
@@ -34,7 +34,41 @@ int twl6035_i2c_read_u8(u8 chip_no, u8 *val, u8 reg)
        return i2c_read(chip_no, reg, 1, val, 1);
 }
 
+/* To align with i2c mw/mr address, reg, val command syntax */
+static inline int palmas_write_u8(u8 chip_no, u8 reg, u8 val)
+{
+       return i2c_write(chip_no, reg, 1, &val, 1);
+}
+
+static inline int palmas_read_u8(u8 chip_no, u8 reg, u8 *val)
+{
+       return i2c_read(chip_no, reg, 1, val, 1);
+}
+
 void twl6035_init_settings(void)
 {
        return;
 }
+
+int twl6035_mmc1_poweron_ldo(void)
+{
+       u8 val = 0;
+
+       /* set LDO9 TWL6035 to 3V */
+       val = 0x2b; /* (3 -.9)*28 +1 */
+
+       if (palmas_write_u8(0x48, LDO9_VOLTAGE, val)) {
+               printf("twl6035: could not set LDO9 voltage.\n");
+               return 1;
+       }
+
+       /* TURN ON LDO9 */
+       val = LDO_ON | LDO_MODE_SLEEP | LDO_MODE_ACTIVE;
+
+       if (palmas_write_u8(0x48, LDO9_CTRL, val)) {
+               printf("twl6035: could not turn on LDO9.\n");
+               return 1;
+       }
+
+       return 0;
+}