Hi,

On Thu, Nov 17, 2011 at 21:58:23, Bedia, Vaibhav wrote:
> TI processors in TI81x and AM33x family work with PMICs like
> TPS65910/1 which are not part of the TWL series. These processors
> also do not have a voltage controller/processor module.
> 
> In order to invoke the normal regulator calls from the voltage
> layer the following changes are done to struct voltagedomain
>       - Add a flag use_regulator for the SoC voltagedomain
>         code to indicate its intention of using a PMIC which
>         is not controlled by VC/VP
>       - Add a regulator_init callback which the platform code
>         can utilise for any custom init sequence before making
>         use of the regulator. Platform code is also expected
>         to set the voltdm->scale function in the init callback
> 
> Signed-off-by: Ravikumar Kattekola <[email protected]>
> Signed-off-by: Vaibhav Bedia <[email protected]>
> ---
>  arch/arm/mach-omap2/voltage.c |    5 +++++
>  arch/arm/mach-omap2/voltage.h |    4 ++++
>  2 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
> index 1f8fdf7..ca4ef9e 100644
> --- a/arch/arm/mach-omap2/voltage.c
> +++ b/arch/arm/mach-omap2/voltage.c
> @@ -280,6 +280,11 @@ int __init omap_voltage_late_init(void)
>                       voltdm->scale = omap_vp_forceupdate_scale;
>                       omap_vp_init(voltdm);
>               }
> +
> +             if (voltdm->use_regulator) {
> +                     if(voltdm->regulator_init)
> +                             voltdm->regulator_init(voltdm);
> +             }
>       }
>  
>       return 0;
> diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
> index 16a1b09..21c810f 100644
> --- a/arch/arm/mach-omap2/voltage.h
> +++ b/arch/arm/mach-omap2/voltage.h
> @@ -88,6 +88,10 @@ struct voltagedomain {
>  
>       u32 nominal_volt;
>       struct omap_volt_data *volt_data;
> +
> +     bool use_regulator;
> +     struct regulator *regulator;
> +     int (*regulator_init) (struct voltagedomain *voltdm);
>  };
>  

Any comments on this approach? This enables us to make use of generic 
regulators calls
from the voltage layer. Since TI81xx and AM33xx do not have VC/VP we need 
something like this 
for implementing DVFS.

Regards,
Vaibhav
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to