[PATCH] API to set twl4030 voltage and dev group
Syed Mohammed Khasim
khasim at ti.com
Tue Jan 12 11:49:23 CET 2010
V3:
Incorporated review comments to set voltage first
and then dev group
V2:
Incorporated review comments to split the patch and
add generic API to set the voltage and device group.
http://www.mail-archive.com/u-boot@lists.denx.de/msg27136.html
V1:
Added support for 720 Mhz
http://www.mail-archive.com/u-boot@lists.denx.de/msg27035.html
Signed-off-by: Syed Mohammed Khasim <khasim at ti.com>
---
drivers/power/twl4030.c | 24 +++++++++++++++---------
include/twl4030.h | 16 ++++++++++++++++
2 files changed, 31 insertions(+), 9 deletions(-)
diff --git a/drivers/power/twl4030.c b/drivers/power/twl4030.c
index eb066cb..f25b58f 100644
--- a/drivers/power/twl4030.c
+++ b/drivers/power/twl4030.c
@@ -59,16 +59,9 @@ void twl4030_power_reset_init(void)
}
}
-
/*
* Power Init
*/
-#define DEV_GRP_P1 0x20
-#define VAUX3_VSEL_28 0x03
-#define DEV_GRP_ALL 0xE0
-#define VPLL2_VSEL_18 0x05
-#define VDAC_VSEL_18 0x03
-
void twl4030_power_init(void)
{
unsigned char byte;
@@ -98,8 +91,6 @@ void twl4030_power_init(void)
TWL4030_PM_RECEIVER_VDAC_DEDICATED);
}
-#define VMMC1_VSEL_30 0x02
-
void twl4030_power_mmc_init(void)
{
unsigned char byte;
@@ -113,3 +104,18 @@ void twl4030_power_mmc_init(void)
twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
TWL4030_PM_RECEIVER_VMMC1_DEDICATED);
}
+
+/*
+ * Generic function to select Device Group and Voltage
+ */
+void twl4030_pmrecv_vsel_cfg(u8 vsel_reg, u8 vsel_val,
+ u8 dev_grp, u8 dev_grp_sel)
+{
+ /* Select the Voltage */
+ twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, vsel_val,
+ vsel_reg);
+
+ /* Select the Device Group */
+ twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, dev_grp_sel,
+ dev_grp);
+}
diff --git a/include/twl4030.h b/include/twl4030.h
index f260ecb..b96c96c 100644
--- a/include/twl4030.h
+++ b/include/twl4030.h
@@ -359,6 +359,22 @@
#define TWL4030_USB_PHY_DPLL_CLK (1 << 0)
/*
+ * Voltage Selection in PM Receiver Module
+ */
+#define VAUX2_VSEL_18 0x05
+#define VDD1_VSEL_14 0x40
+#define VAUX3_VSEL_28 0x03
+#define VPLL2_VSEL_18 0x05
+#define VDAC_VSEL_18 0x03
+#define VMMC1_VSEL_30 0x02
+
+/*
+ * Device Selection
+ */
+#define DEV_GRP_P1 0x20
+#define DEV_GRP_ALL 0xE0
+
+/*
* Convience functions to read and write from TWL4030
*
* chip_no is the i2c address, it must be one of the chip addresses
--
1.5.6.3
More information about the U-Boot
mailing list