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 -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html