[PATCH 0/9] Runtime PM for Exynos pin controller driver

Marek Szyprowski
2016-12-23T12:24:40Z

Hello,

This patchset is a next step to add support for audio power domain on
Exynos5 SoCs.

Audio power domain on Exynos5 SoCs contains following hardware modules:
1. clock controller
2. pin controller
3. PL330 DMA controller
4. I2S audio controller

Till now it was assumed that pin controller is located in the "always on"
power domain and lacked runtime power management. This patch finally
removes such assumption and adds runtime pm support and awareness to this
driver. To achieve this, some changes in the Exynos platform support code
were needed, like moving pad retention control to the pin controller driver.
Some cleanup to the pin controller driver has been also done while changing
the code. This new feature requires some additional information in the
device tree, what is handled by patches 1,2 and 9.

Please note that patches are ordered in such a way that the changes can be
bisected, so the properties are added to dts before the code requiring them.

The other patches related to enabling full support for audio power domain
can be found here:
1. PL330 ADMA controller non-irqsafe runtime PM:
https://www.spinics.net/lists/arm-kernel/msg550008.html
2. Runtime PM for clock controllers (Exynos Audio subsystem will be added
in v4 soon): https://www.spinics.net/lists/arm-kernel/msg538122.html

Patches are based on linux-next from 2016.12.22.

Best regards
Marek Szyprowski
Samsung R&D Institute Poland

Patch summary:

Marek Szyprowski (9):
ARM: dts: exynos: Add PMU syscon to pinctrl nodes
ARM: dts: exynos: Add pinctrl sleep state for 542x i2s module
pinctrl: samsung: Remove dead code
pinctrl: samsung: Use generic of_device_get_match_data helper
pinctrl: samsung: Move retention control from mach-exynos to the
pinctrl driver
pinctrl: samsung: Replace syscore ops with standard platform device
pm_ops
pinctrl: samsung: Add property to mark pad state as suitable for power
down
pinctrl: samsung: Add runtime PM support
ARM: dts: exynos: Add audio power domain support to Exynos542x SoCs

.../bindings/pinctrl/samsung-pinctrl.txt | 12 ++
arch/arm/boot/dts/exynos3250.dtsi | 2 +
arch/arm/boot/dts/exynos4210.dtsi | 3 +
arch/arm/boot/dts/exynos4x12.dtsi | 3 +
arch/arm/boot/dts/exynos5250.dtsi | 4 +
arch/arm/boot/dts/exynos5420-pinctrl.dtsi | 11 ++
arch/arm/boot/dts/exynos5420.dtsi | 18 ++-
arch/arm/mach-exynos/suspend.c | 64 ---------
drivers/pinctrl/samsung/pinctrl-exynos.c | 148 +++++++++++++++++++++
drivers/pinctrl/samsung/pinctrl-samsung.c | 126 ++++++++----------
drivers/pinctrl/samsung/pinctrl-samsung.h | 15 +++
11 files changed, 271 insertions(+), 135 deletions(-)

--
1.9.1