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

Marek Szyprowski
2016-12-27T08:29:07Z

Hi Anand,

On 2016-12-24 11:10, Anand Moon wrote:
> Hi Marek
>
> On 23 December 2016 at 17:54, Marek Szyprowski <m.szyprowski@samsung.com> wrote:
>> 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(-)
>>
> Is their core configuration missing to enable audio through HDMI on
> Odroid Boards.
> I could not get the sound working on Odroid XU4.

Audio support for HDMI on Exynos requires some additional code. We will take
a look at this too.

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland