Re: [PATCHv9 3/5] arm: omap3: add common twl configurations for vdd1 and vdd2

2012-02-17 Thread Cousson, Benoit

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

2012-02-17 Thread Menon, Nishanth
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

2012-02-17 Thread Tero Kristo
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

2012-02-16 Thread Menon, Nishanth
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

2012-02-16 Thread Tero Kristo
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