ARM: OMAP4: register V1V8, V2V1 regulators
Subsystems (3)
v2 cover ARM: OMAP4: register V1V8, V2V1 regulators
Hello,
Changes since v1:
- rebased on 3.4-rc6
Original intro message:
This series adds common configuration for the V1V8, V2V1 regulators from twl6030. These regulators are commonly used to feed the twl6040 audio IC on OMAP4 based boards (SDP4430, PandaBoards).
The regulator support for the twl6040 MFD driver will be going via MFD tree to avoid cross tree issues.
Regards,
Peter
---
Peter Ujfalusi (3):
OMAP4: twl-common: Add twl6030 V1V8, V2V1 SMPS common configuration
OMAP: 4430SDP: Use common configuration for V1V8, V2V1 supplies
OMAP: omap4panda: Use common configuration for V1V8, V2V1 supplies
arch/arm/mach-omap2/board-4430sdp.c | 4 ++- arch/arm/mach-omap2/board-omap4panda.c | 4 ++- arch/arm/mach-omap2/twl-common.c | 43 ++++++++++++++++++++++++++++++++ arch/arm/mach-omap2/twl-common.h | 2 + 4 files changed, 51 insertions(+), 2 deletions(-)
Signature · 1 line
1.7.8.6
PATCH v2 1/3 OMAP4: twl-common: Add twl6030 V1V8, V2V1 SMPS common configuration
V1V8 supply from twl6030 commonly used as VIO for the machine. V2V1 is adviced to supply the twl6040, and also to feed the twl6030's VCXIO_IN, and VDAC_IN inputs.
Create the common regulator configurations for these regulators:
Make the V2V1 as supply_regulator for VCXIO, VDAC.
Add twl6040 (1-004b) as consumer for V1V8, and V2V1.
--- arch/arm/mach-omap2/twl-common.c | 43 ++++++++++++++++++++++++++++++++++++++ arch/arm/mach-omap2/twl-common.h | 2 + 2 files changed, 45 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/twl-common.c +43 -0
@@ -201,6 +201,7 @@ static struct regulator_init_data omap4_vdac_idata = { .valid_ops_mask = REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, }, + .supply_regulator = "V2V1", }; static struct regulator_init_data omap4_vaux2_idata = {
@@ -291,6 +292,7 @@ static struct regulator_init_data omap4_vcxio_idata = { }, .num_consumer_supplies = ARRAY_SIZE(omap4_vcxio_supply), .consumer_supplies = omap4_vcxio_supply, + .supply_regulator = "V2V1", };static struct regulator_init_data omap4_vusb_idata = {
@@ -310,6 +312,41 @@ static struct regulator_init_data omap4_clk32kg_idata = { }, }; +static struct regulator_consumer_supply omap4_v1v8_supply[] = { +REGULATOR_SUPPLY ("vio" ,"1-004b" ), +}; + +static struct regulator_init_data omap4_v1v8_idata = { + .constraints = { + .min_uV =1800000 , + .max_uV =1800000 , + .valid_modes_mask =REGULATOR_MODE_NORMAL + |REGULATOR_MODE_STANDBY , + .valid_ops_mask =REGULATOR_CHANGE_MODE + |REGULATOR_CHANGE_STATUS , + .always_on = true, + }, + .num_consumer_supplies =ARRAY_SIZE (omap4_v1v8_supply), + .consumer_supplies = omap4_v1v8_supply, +}; + +static struct regulator_consumer_supply omap4_v2v1_supply[] = { +REGULATOR_SUPPLY ("v2v1" ,"1-004b" ), +}; + +static struct regulator_init_data omap4_v2v1_idata = { + .constraints = { + .min_uV =2100000 , + .max_uV =2100000 , + .valid_modes_mask =REGULATOR_MODE_NORMAL + |REGULATOR_MODE_STANDBY , + .valid_ops_mask =REGULATOR_CHANGE_MODE + |REGULATOR_CHANGE_STATUS , + }, + .num_consumer_supplies =ARRAY_SIZE (omap4_v2v1_supply), + .consumer_supplies = omap4_v2v1_supply, +}; +void __init omap4_pmic_get_config (struct twl4030_platform_data *pmic_data,u32 pdata_flags,u32 regulators_flags) {
@@ -350,5 +387,11 @@ void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,if (regulators_flags &TWL_COMMON_REGULATOR_CLK32KG && !pmic_data->clk32kg) pmic_data->clk32kg = &omap4_clk32kg_idata; + +if (regulators_flags &TWL_COMMON_REGULATOR_V1V8 && !pmic_data->v1v8) + pmic_data->v1v8 = &omap4_v1v8_idata; + +if (regulators_flags &TWL_COMMON_REGULATOR_V2V1 && !pmic_data->v2v1) + pmic_data->v2v1 = &omap4_v2v1_idata; }#endif /* CONFIG_ARCH_OMAP4 */
arch/arm/mach-omap2/twl-common.h +2 -0
@@ -22,6 +22,8 @@#define TWL_COMMON_REGULATOR_VCXIO (1 << 8)#define TWL_COMMON_REGULATOR_VUSB (1 << 9)#define TWL_COMMON_REGULATOR_CLK32KG (1 << 10) +#define TWL_COMMON_REGULATOR_V1V8 (1 << 11) +#define TWL_COMMON_REGULATOR_V2V1 (1 << 12)/* TWL4030 LDO regulators */ #define TWL_COMMON_REGULATOR_VPLL1 (1 << 4)
Signature · 1 line
1.7.8.6
PATCH v2 2/3 OMAP: 4430SDP: Use common configuration for V1V8, V2V1 supplies
In reply to Peter UjfalusiThese supplies going to be needed for the twl6040 driver.
--- arch/arm/mach-omap2/board-4430sdp.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/board-4430sdp.c +3 -1
@@ -615,7 +615,9 @@ static int __init omap4_i2c_init(void)TWL_COMMON_REGULATOR_VANA |TWL_COMMON_REGULATOR_VCXIO |TWL_COMMON_REGULATOR_VUSB | - TWL_COMMON_REGULATOR_CLK32KG); +TWL_COMMON_REGULATOR_CLK32KG | +TWL_COMMON_REGULATOR_V1V8 | + TWL_COMMON_REGULATOR_V2V1);omap4_pmic_init ("twl6030" , &sdp4430_twldata, &twl6040_data,OMAP44XX_IRQ_SYS_2N );omap_register_i2c_bus (2 ,400 ,NULL ,0 );
Signature · 1 line
1.7.8.6
PATCH v2 3/3 OMAP: omap4panda: Use common configuration for V1V8, V2V1 supplies
In reply to Peter UjfalusiThese supplies going to be needed for the twl6040 driver.
--- arch/arm/mach-omap2/board-omap4panda.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/board-omap4panda.c +3 -1
@@ -323,7 +323,9 @@ static int __init omap4_panda_i2c_init(void)TWL_COMMON_REGULATOR_VANA |TWL_COMMON_REGULATOR_VCXIO |TWL_COMMON_REGULATOR_VUSB | - TWL_COMMON_REGULATOR_CLK32KG); +TWL_COMMON_REGULATOR_CLK32KG | +TWL_COMMON_REGULATOR_V1V8 | + TWL_COMMON_REGULATOR_V2V1);omap4_pmic_init ("twl6030" , &omap4_panda_twldata, &twl6040_data,OMAP44XX_IRQ_SYS_2N );omap_register_i2c_bus (2 ,400 ,NULL ,0 );
Signature · 1 line
1.7.8.6
Tony Lindgren
maintainerv2 cover ARM: OMAP4: register V1V8, V2V1 regulators
In reply to Peter UjfalusiQuoted 5 lines · Peter Ujfalusi
Hello,
Changes since v1:
- rebased on 3.4-rc6
Quoted 8 lines
Original intro message:
This series adds common configuration for the V1V8, V2V1 regulators from twl6030. These regulators are commonly used to feed the twl6040 audio IC on OMAP4 based boards (SDP4430, PandaBoards).
The regulator support for the twl6040 MFD driver will be going via MFD tree to avoid cross tree issues.
Thanks applying into board branch.
Tony