Re: [PATCHv9 3/5] arm: omap3: add common twl configurations for vdd1 and vdd2
Hi Tero, On 2/17/2012 4:22 PM, Menon, Nishanth wrote: On Fri, Feb 17, 2012 at 05:06, Tero Kristo wrote: On Thu, 2012-02-16 at 12:23 -0600, Menon, Nishanth wrote: On Thu, Feb 16, 2012 at 04:27, Tero Kristo wrote: VDD1 and VDD2 are the core voltage regulators on OMAP3. VDD1 is used to control MPU/IVA voltage, and VDD2 is used for CORE. These regulators are needed by DVFS. Voltage ranges for VDD1 and VDD2 are taken from twl4030/twl5030 data manual. Please provide documentation version referenced, else we will loose track of details at a later point of time. How should this be marked down? There are too many naming conventions for the TI docs, and I couldn't find any example from kernel commit logs for this. Personally I was using twl5030 es1.2 DM rev E / twl4030 es3.1 DM rev L. Or should the literature code be used? Or is there also some numerical version info available somewhere? Literature code is the best one. Adding, along with it, a human readable "TWL4030 ES3.1 DM rev L" is even better :) Also should we rename VDD1 with vdd_mpu_iva and VDD2 as vdd_core to be readable? This can be changed if needed, it is just a name. regulator/twl-regulator.c is using vdd1 / vdd2 though, and also pmic_data struct uses these. All the other regulators use Vxx type naming also. These are the names I see on my board through sys/class/regulator: dummy VDD1 VDD2 VMMC1 VDAC VDVI VSIM no strong opinions on this - thinking from OMAP perspective, I read vdd_mpu,core,iva. from TWL perspective, 4030/5030 - VDD1,2 6030: VCORE1,2,3 6032: SMPS1...5 so I guess it is fine as long as it is in context. Yes, you should take care of using the proper name depending of the context. For TWL point of view this is just 2 generic SMPS outputs so VDD1 and VDD2 are the only relevant name you can use. As far as OMAP3 is concern, the power rails were named as well vdd1 and vdd2, but it was so confusing that we changed that on OMAP4 and maybe on 3630 to vdd_mpu, vdd_iva and vdd_core. So using this terminology for OMAP power rails is strongly recommended. Regards, Benoit -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv9 3/5] arm: omap3: add common twl configurations for vdd1 and vdd2
Regards, Nishanth Menon On Fri, Feb 17, 2012 at 05:06, Tero Kristo wrote: > On Thu, 2012-02-16 at 12:23 -0600, Menon, Nishanth wrote: >> On Thu, Feb 16, 2012 at 04:27, Tero Kristo wrote: >> > VDD1 and VDD2 are the core voltage regulators on OMAP3. VDD1 is used >> > to control MPU/IVA voltage, and VDD2 is used for CORE. These regulators >> > are needed by DVFS. >> > >> > Voltage ranges for VDD1 and VDD2 are taken from twl4030/twl5030 data >> > manual. >> >> Please provide documentation version referenced, else we will loose >> track of details at a later point of time. > > How should this be marked down? There are too many naming conventions > for the TI docs, and I couldn't find any example from kernel commit logs > for this. Personally I was using twl5030 es1.2 DM rev E / twl4030 es3.1 > DM rev L. Or should the literature code be used? Or is there also some > numerical version info available somewhere? Literature code is the best one. Adding, along with it, a human readable "TWL4030 ES3.1 DM rev L" is even better :) >> Also should we rename VDD1 with vdd_mpu_iva and VDD2 as vdd_core to be >> readable? > > This can be changed if needed, it is just a name. > regulator/twl-regulator.c is using vdd1 / vdd2 though, and also > pmic_data struct uses these. All the other regulators use Vxx type > naming also. These are the names I see on my board through > sys/class/regulator: > > dummy > VDD1 > VDD2 > VMMC1 > VDAC > VDVI > VSIM no strong opinions on this - thinking from OMAP perspective, I read vdd_mpu,core,iva. from TWL perspective, 4030/5030 - VDD1,2 6030: VCORE1,2,3 6032: SMPS1...5 so I guess it is fine as long as it is in context. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv9 3/5] arm: omap3: add common twl configurations for vdd1 and vdd2
On Thu, 2012-02-16 at 12:23 -0600, Menon, Nishanth wrote: > On Thu, Feb 16, 2012 at 04:27, Tero Kristo wrote: > > VDD1 and VDD2 are the core voltage regulators on OMAP3. VDD1 is used > > to control MPU/IVA voltage, and VDD2 is used for CORE. These regulators > > are needed by DVFS. > > > > Voltage ranges for VDD1 and VDD2 are taken from twl4030/twl5030 data manual. > > Please provide documentation version referenced, else we will loose > track of details at a later point of time. How should this be marked down? There are too many naming conventions for the TI docs, and I couldn't find any example from kernel commit logs for this. Personally I was using twl5030 es1.2 DM rev E / twl4030 es3.1 DM rev L. Or should the literature code be used? Or is there also some numerical version info available somewhere? > > Also should we rename VDD1 with vdd_mpu_iva and VDD2 as vdd_core to be > readable? This can be changed if needed, it is just a name. regulator/twl-regulator.c is using vdd1 / vdd2 though, and also pmic_data struct uses these. All the other regulators use Vxx type naming also. These are the names I see on my board through sys/class/regulator: dummy VDD1 VDD2 VMMC1 VDAC VDVI VSIM -Tero > > Regards, > Nishanth Menon > > > > Signed-off-by: Tero Kristo > > --- > > arch/arm/mach-omap2/twl-common.c | 36 > > > > 1 files changed, 36 insertions(+), 0 deletions(-) > > > > diff --git a/arch/arm/mach-omap2/twl-common.c > > b/arch/arm/mach-omap2/twl-common.c > > index 10b20c6..5f62e51 100644 > > --- a/arch/arm/mach-omap2/twl-common.c > > +++ b/arch/arm/mach-omap2/twl-common.c > > @@ -126,6 +126,38 @@ static struct regulator_init_data omap3_vpll2_idata = { > >.consumer_supplies = omap3_vpll2_supplies, > > }; > > > > +static struct regulator_consumer_supply omap3_vdd1_supply[] = { > > + REGULATOR_SUPPLY("vcc", "mpu.0"), > > +}; > > + > > +static struct regulator_consumer_supply omap3_vdd2_supply[] = { > > + REGULATOR_SUPPLY("vcc", "l3_main.0"), > > +}; > > + > > +static struct regulator_init_data omap3_vdd1 = { > > + .constraints = { > > + .name = "VDD1", > > + .min_uV = 60, > > + .max_uV = 145, > > + .valid_modes_mask = REGULATOR_MODE_NORMAL, > > + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, > > + }, > > + .num_consumer_supplies = ARRAY_SIZE(omap3_vdd1_supply), > > + .consumer_supplies = omap3_vdd1_supply, > > +}; > > + > > +static struct regulator_init_data omap3_vdd2 = { > > + .constraints = { > > + .name = "VDD2", > > + .min_uV = 60, > > + .max_uV = 145, > > + .valid_modes_mask = REGULATOR_MODE_NORMAL, > > + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, > > + }, > > + .num_consumer_supplies = ARRAY_SIZE(omap3_vdd2_supply), > > + .consumer_supplies = omap3_vdd2_supply, > > +}; > > + > > void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, > > u32 pdata_flags, u32 regulators_flags) > > { > > @@ -133,6 +165,10 @@ void __init omap3_pmic_get_config(struct > > twl4030_platform_data *pmic_data, > >pmic_data->irq_base = TWL4030_IRQ_BASE; > >if (!pmic_data->irq_end) > >pmic_data->irq_end = TWL4030_IRQ_END; > > + if (!pmic_data->vdd1) > > + pmic_data->vdd1 = &omap3_vdd1; > > + if (!pmic_data->vdd2) > > + pmic_data->vdd2 = &omap3_vdd2; > > > >/* Common platform data configurations */ > >if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb) > > -- > > 1.7.4.1 > > > > > > ___ > > linux-arm-kernel mailing list > > linux-arm-ker...@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv9 3/5] arm: omap3: add common twl configurations for vdd1 and vdd2
On Thu, Feb 16, 2012 at 04:27, Tero Kristo wrote: > VDD1 and VDD2 are the core voltage regulators on OMAP3. VDD1 is used > to control MPU/IVA voltage, and VDD2 is used for CORE. These regulators > are needed by DVFS. > > Voltage ranges for VDD1 and VDD2 are taken from twl4030/twl5030 data manual. Please provide documentation version referenced, else we will loose track of details at a later point of time. Also should we rename VDD1 with vdd_mpu_iva and VDD2 as vdd_core to be readable? Regards, Nishanth Menon > > Signed-off-by: Tero Kristo > --- > arch/arm/mach-omap2/twl-common.c | 36 > 1 files changed, 36 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-omap2/twl-common.c > b/arch/arm/mach-omap2/twl-common.c > index 10b20c6..5f62e51 100644 > --- a/arch/arm/mach-omap2/twl-common.c > +++ b/arch/arm/mach-omap2/twl-common.c > @@ -126,6 +126,38 @@ static struct regulator_init_data omap3_vpll2_idata = { > .consumer_supplies = omap3_vpll2_supplies, > }; > > +static struct regulator_consumer_supply omap3_vdd1_supply[] = { > + REGULATOR_SUPPLY("vcc", "mpu.0"), > +}; > + > +static struct regulator_consumer_supply omap3_vdd2_supply[] = { > + REGULATOR_SUPPLY("vcc", "l3_main.0"), > +}; > + > +static struct regulator_init_data omap3_vdd1 = { > + .constraints = { > + .name = "VDD1", > + .min_uV = 60, > + .max_uV = 145, > + .valid_modes_mask = REGULATOR_MODE_NORMAL, > + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, > + }, > + .num_consumer_supplies = ARRAY_SIZE(omap3_vdd1_supply), > + .consumer_supplies = omap3_vdd1_supply, > +}; > + > +static struct regulator_init_data omap3_vdd2 = { > + .constraints = { > + .name = "VDD2", > + .min_uV = 60, > + .max_uV = 145, > + .valid_modes_mask = REGULATOR_MODE_NORMAL, > + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, > + }, > + .num_consumer_supplies = ARRAY_SIZE(omap3_vdd2_supply), > + .consumer_supplies = omap3_vdd2_supply, > +}; > + > void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, > u32 pdata_flags, u32 regulators_flags) > { > @@ -133,6 +165,10 @@ void __init omap3_pmic_get_config(struct > twl4030_platform_data *pmic_data, > pmic_data->irq_base = TWL4030_IRQ_BASE; > if (!pmic_data->irq_end) > pmic_data->irq_end = TWL4030_IRQ_END; > + if (!pmic_data->vdd1) > + pmic_data->vdd1 = &omap3_vdd1; > + if (!pmic_data->vdd2) > + pmic_data->vdd2 = &omap3_vdd2; > > /* Common platform data configurations */ > if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb) > -- > 1.7.4.1 > > > ___ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCHv9 3/5] arm: omap3: add common twl configurations for vdd1 and vdd2
VDD1 and VDD2 are the core voltage regulators on OMAP3. VDD1 is used to control MPU/IVA voltage, and VDD2 is used for CORE. These regulators are needed by DVFS. Voltage ranges for VDD1 and VDD2 are taken from twl4030/twl5030 data manual. Signed-off-by: Tero Kristo --- arch/arm/mach-omap2/twl-common.c | 36 1 files changed, 36 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 10b20c6..5f62e51 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c @@ -126,6 +126,38 @@ static struct regulator_init_data omap3_vpll2_idata = { .consumer_supplies = omap3_vpll2_supplies, }; +static struct regulator_consumer_supply omap3_vdd1_supply[] = { + REGULATOR_SUPPLY("vcc", "mpu.0"), +}; + +static struct regulator_consumer_supply omap3_vdd2_supply[] = { + REGULATOR_SUPPLY("vcc", "l3_main.0"), +}; + +static struct regulator_init_data omap3_vdd1 = { + .constraints = { + .name = "VDD1", + .min_uV = 60, + .max_uV = 145, + .valid_modes_mask = REGULATOR_MODE_NORMAL, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, + }, + .num_consumer_supplies = ARRAY_SIZE(omap3_vdd1_supply), + .consumer_supplies = omap3_vdd1_supply, +}; + +static struct regulator_init_data omap3_vdd2 = { + .constraints = { + .name = "VDD2", + .min_uV = 60, + .max_uV = 145, + .valid_modes_mask = REGULATOR_MODE_NORMAL, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, + }, + .num_consumer_supplies = ARRAY_SIZE(omap3_vdd2_supply), + .consumer_supplies = omap3_vdd2_supply, +}; + void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, u32 pdata_flags, u32 regulators_flags) { @@ -133,6 +165,10 @@ void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, pmic_data->irq_base = TWL4030_IRQ_BASE; if (!pmic_data->irq_end) pmic_data->irq_end = TWL4030_IRQ_END; + if (!pmic_data->vdd1) + pmic_data->vdd1 = &omap3_vdd1; + if (!pmic_data->vdd2) + pmic_data->vdd2 = &omap3_vdd2; /* Common platform data configurations */ if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb) -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html