[PATCH V6 00/10] Add generic PM domain support for Tegra

Jon Hunter
2016-02-26T15:48:34Z

Adds generic PM domain support for Tegra SoCs but this series only
enables support for it on Tegra 64-bit devices. There is no reason why
this cannot be enable for Tegra 32-bit devices, but to keep the patch
series to a minimum only 64-bit devices are enabled so far.

This series has been boot tested on Tegra210 as well as various 32-bit
Tegra platforms.

Summary of changes since V5 [2]:
- Split series into 2 series, separating PMC fixes [3] from genpd changes
- This series is based upon fixes series (which is now in -next)
- Added patch to fix removal of genpd subdomain
- Added patch to get last genpd that was added
- Fixed locking in function to remove genpd
- Updated Tegra PMC driver to ensure power-domains cannot be controlled
by both legacy Tegra APIs and generic PM domain framework
- Removed powergate list from Tegra PMC driver and updated removal of
power domains to use new genpd APIs.

Summary of changes since V4 [1]:
- Re-worked fix to handle base address on probe failure
- Added patch to lock around simultaneuous accesses to PMC registers
- Added patch to change powergate and rail IDs to unsigned type
- Added patch to fix testing of powergate state
- Updated patch to check for valid powergates to use a bitmap
- Updated Tegra DT PMC bindings per Rob H's feedback
- Updated Tegra power domains binding per Thierry's feedback
- Updated Tegra generic power domain support per Thierry's feedback

Summary of changes since V3 [0]:
- Dropped tegra124 support for now
- Removed MC flush support per feedback from Thierry
- Cleaned up the PMC changes per feedback from Thierry
- Added support for tegra210

[0] http://comments.gmane.org/gmane.linux.ports.tegra/22944
[1] http://marc.info/?l=linux-tegra&m=144924153600529&w=2
[2] http://marc.info/?l=linux-tegra&m=145399885003830&w=2
[3] http://marc.info/?l=linux-tegra&m=145521381331144&w=2

Jon Hunter (10):
PM / Domains: Fix removal of a subdomain
PM / Domains: Add function to get the last domain added
PM / Domains: Add function to remove a pm-domain
Documentation: DT: bindings: Update NVIDIA PMC for Tegra
Documentation: DT: bindings: Add power domain info for NVIDIA PMC
soc: tegra: pmc: Wait for powergate state to change
soc: tegra: pmc: Add generic PM domain support
soc: tegra: pmc: Move powergate definitions to dt-bindings
ARM64: tegra: select PM_GENERIC_DOMAINS
ARM64: tegra: Add audio PM domain device node for Tegra210

.../bindings/arm/tegra/nvidia,tegra20-pmc.txt | 73 ++-
arch/arm/mach-tegra/platsmp.c | 16 +-
arch/arm64/Kconfig.platforms | 2 +
arch/arm64/boot/dts/nvidia/tegra210.dtsi | 14 +-
drivers/base/power/domain.c | 58 +-
drivers/soc/tegra/pmc.c | 594 ++++++++++++++++++---
include/dt-bindings/power/tegra-powergate.h | 88 +++
include/linux/pm_domain.h | 12 +
include/soc/tegra/pmc.h | 38 +-
9 files changed, 776 insertions(+), 119 deletions(-)
create mode 100644 include/dt-bindings/power/tegra-powergate.h

--
2.1.4