[PATCH 2/4] ARM: tegra: pmc: add power on function for secondary CPUs

Joseph Lo josephl at nvidia.com
Fri Feb 22 21:38:55 EST 2013


On Fri, 2013-02-22 at 21:00 +0800, Peter De Schrijver wrote:
> On Fri, Feb 22, 2013 at 07:44:49AM +0100, Joseph Lo wrote:
> > Adding the power on function for secondary CPUs in PMC driver, this can
> > help us to remove legacy powergate driver and add generic power domain
> > support later.
> > 
> > Signed-off-by: Joseph Lo <josephl at nvidia.com>
> > ---
> >  arch/arm/mach-tegra/pmc.c | 105 +++++++++++++++++++++++++++++++++++++++++++++-
> >  arch/arm/mach-tegra/pmc.h |   4 ++
> >  2 files changed, 107 insertions(+), 2 deletions(-)
> > 
> > diff --git a/arch/arm/mach-tegra/pmc.c b/arch/arm/mach-tegra/pmc.c
> > index 2315e25..a2446c2 100644
> > --- a/arch/arm/mach-tegra/pmc.c
> > +++ b/arch/arm/mach-tegra/pmc.c
> > @@ -21,8 +21,26 @@
> >  #include <linux/of.h>
> >  #include <linux/of_address.h>
> >  
> > -#define PMC_CTRL		0x0
> > -#define PMC_CTRL_INTR_LOW	(1 << 17)
> > +#define PMC_CTRL			0x0
> > +#define PMC_CTRL_INTR_LOW		(1 << 17)
> > +#define PMC_PWRGATE_TOGGLE		0x30
> > +#define PMC_PWRGATE_TOGGLE_START	(1 << 8)
> > +#define PMC_REMOVE_CLAMPING		0x34
> > +#define PMC_PWRGATE_STATUS		0x38
> > +
> > +#define TEGRA_POWERGATE_PCIE	3
> > +#define TEGRA_POWERGATE_VDEC	4
> > +#define TEGRA_POWERGATE_CPU1	9
> > +#define TEGRA_POWERGATE_CPU2	10
> > +#define TEGRA_POWERGATE_CPU3	11
> > +
> > +static u8 tegra_cpu_domains[] = {
> > +	0xFF,			/* not available for CPU0 */
> 
> On Tegra114 we can also powergate CPU0, so this needs to be defined then.
> 
No, DON'T DO THAT!!
We don't allow any code to power gate CPU0 manually here or elsewhere.

The function here only for SMP and hotplug bring up for secondary CPU.

Thanks,
Joseph




More information about the linux-arm-kernel mailing list