From a0a966b83873f33778710a4fc59240244b0734a5 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Fri, 22 Apr 2016 09:26:52 +0200 Subject: [PATCH 1/4] ARM: EXYNOS: Properly skip unitialized parent clock in power domain on We want to skip reparenting a clock on turning on power domain, if we do not have the parent yet. The parent is obtained when turning the domain off. However due to a typo, the loop is continued on IS_ERR() of clock being reparented, not on the IS_ERR() of the parent. Theoretically this could lead to OOPS on first turn on of a power domain, if there was no turn off before. Practically that should never happen because all power domains are turned on by default (reset value, bootloader does not turn off them usually) so the first action will be always turn off. Fixes: 29e5eea06bc1 ("ARM: EXYNOS: Get current parent clock for power domain on/off") Reported-by: Vladimir Zapolskiy Signed-off-by: Krzysztof Kozlowski --- arch/arm/mach-exynos/pm_domains.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c index 7c21760f590ff..875a2bab64f67 100644 --- a/arch/arm/mach-exynos/pm_domains.c +++ b/arch/arm/mach-exynos/pm_domains.c @@ -92,7 +92,7 @@ static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on) if (IS_ERR(pd->clk[i])) break; - if (IS_ERR(pd->clk[i])) + if (IS_ERR(pd->pclk[i])) continue; /* Skip on first power up */ if (clk_set_parent(pd->clk[i], pd->pclk[i])) pr_err("%s: error setting parent to clock%d\n", From 7c44e9117fa47982d13483a2dd40f8e4645eeefd Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Thu, 28 Apr 2016 15:21:50 -0400 Subject: [PATCH 2/4] ARM: dts: exynos: Add MFC memory banks for Peach boards The MFC nodes with the memory regions reserved for memory allocations are missing in the Exynos5420 Peach Pit and Exynos5800 Peach Pi DTS. This causes the s5p-mfc driver probe to fail with the following error: [ 4.140647] s5p_mfc_alloc_memdevs:1072: Failed to declare coherent memory for MFC device [ 4.216163] s5p-mfc: probe of 11000000.codec failed with error -12 Add the missing nodes so the driver probes and the {en,de}coder video nodes are registered correctly: [ 4.096277] s5p-mfc 11000000.codec: decoder registered as /dev/video4 [ 4.102282] s5p-mfc 11000000.codec: encoder registered as /dev/video5 Signed-off-by: Javier Martinez Canillas Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/exynos5420-peach-pit.dts | 5 +++++ arch/arm/boot/dts/exynos5800-peach-pi.dts | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index 3981ddb25036a..e036e6467a7b8 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts @@ -696,6 +696,11 @@ status = "okay"; }; +&mfc { + samsung,mfc-r = <0x43000000 0x800000>; + samsung,mfc-l = <0x51000000 0x800000>; +}; + &mmc_0 { status = "okay"; num-slots = <1>; diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index 6e9edc1610c49..f95992520a774 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts @@ -671,6 +671,11 @@ status = "okay"; }; +&mfc { + samsung,mfc-r = <0x43000000 0x800000>; + samsung,mfc-l = <0x51000000 0x800000>; +}; + &mmc_0 { status = "okay"; num-slots = <1>; From 44ad5e1fd15261f6c475413e3359047648507158 Mon Sep 17 00:00:00 2001 From: Marek Szyprowski Date: Fri, 6 May 2016 09:27:15 +0200 Subject: [PATCH 3/4] ARM: dts: exynos: Fix regulator name to avoid forbidden character on exynos4210-trats The usage of slash character causes failure when creating regulator debugfs entry. Signed-off-by: Marek Szyprowski [k.kozlowski: Write commit message] Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/exynos4210-trats.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts index 1df2f0bc1d76d..fed5847410d3e 100644 --- a/arch/arm/boot/dts/exynos4210-trats.dts +++ b/arch/arm/boot/dts/exynos4210-trats.dts @@ -359,7 +359,7 @@ }; vusbdac_reg: LDO8 { - regulator-name = "VUSB/VDAC_3.3V_C210"; + regulator-name = "VUSB+VDAC_3.3V_C210"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; From 330d12764e15f6e3e94ff34cda29db96d2589c24 Mon Sep 17 00:00:00 2001 From: Marek Szyprowski Date: Fri, 6 May 2016 09:27:16 +0200 Subject: [PATCH 4/4] ARM: dts: exynos: Add interrupt line to MAX8997 PMIC on exynos4210-trats MAX8997 PMIC requires interrupt and fails probing without it. Signed-off-by: Marek Szyprowski Fixes: d105f0b1215d ("ARM: dts: Add basic dts file for Samsung Trats board") Cc: [k.kozlowski: Write commit message, add CC-stable] Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/exynos4210-trats.dts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts index fed5847410d3e..79d983036560d 100644 --- a/arch/arm/boot/dts/exynos4210-trats.dts +++ b/arch/arm/boot/dts/exynos4210-trats.dts @@ -298,6 +298,8 @@ compatible = "maxim,max8997-pmic"; reg = <0x66>; + interrupt-parent = <&gpx0>; + interrupts = <7 0>; max8997,pmic-buck1-uses-gpio-dvs; max8997,pmic-buck2-uses-gpio-dvs;