From be00300147ae3c0b2fa4dbc5f00d4332a8d00fac Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 15 Apr 2019 20:05:07 +0200 Subject: ARM: dts: exynos: Move pmu and timer nodes out of soc The ARM PMU and ARM architected timer nodes are part of ARM CPU design therefore they should not be inside the soc node. This also fixes DTC W=1 warnings like: arch/arm/boot/dts/exynos3250.dtsi:106.21-135.5: Warning (simple_bus_reg): /soc/fixed-rate-clocks: missing or empty reg/ranges property arch/arm/boot/dts/exynos3250.dtsi:676.7-680.5: Warning (simple_bus_reg): /soc/pmu: missing or empty reg/ranges property Signed-off-by: Krzysztof Kozlowski Tested-by: Marek Szyprowski --- arch/arm/boot/dts/exynos3250.dtsi | 12 ++++++------ arch/arm/boot/dts/exynos4.dtsi | 12 ++++++------ arch/arm/boot/dts/exynos5250.dtsi | 40 +++++++++++++++++++-------------------- arch/arm/boot/dts/exynos54xx.dtsi | 38 ++++++++++++++++++------------------- 4 files changed, 51 insertions(+), 51 deletions(-) (limited to 'arch/arm/boot') diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi index 5892a9f7622f..af54b306204b 100644 --- a/arch/arm/boot/dts/exynos3250.dtsi +++ b/arch/arm/boot/dts/exynos3250.dtsi @@ -97,6 +97,12 @@ }; }; + pmu { + compatible = "arm,cortex-a7-pmu"; + interrupts = , + ; + }; + soc: soc { compatible = "simple-bus"; #address-cells = <1>; @@ -673,12 +679,6 @@ status = "disabled"; }; - pmu { - compatible = "arm,cortex-a7-pmu"; - interrupts = , - ; - }; - ppmu_dmc0: ppmu_dmc0@106a0000 { compatible = "samsung,exynos-ppmu"; reg = <0x106a0000 0x2000>; diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 6085e92ac2d7..1c21627e3c3c 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -51,6 +51,12 @@ serial3 = &serial_3; }; + pmu: pmu { + compatible = "arm,cortex-a9-pmu"; + interrupt-parent = <&combiner>; + interrupts = <2 2>, <3 2>; + }; + soc: soc { compatible = "simple-bus"; #address-cells = <1>; @@ -169,12 +175,6 @@ reg = <0x10440000 0x1000>; }; - pmu: pmu { - compatible = "arm,cortex-a9-pmu"; - interrupt-parent = <&combiner>; - interrupts = <2 2>, <3 2>; - }; - sys_reg: syscon@10010000 { compatible = "samsung,exynos4-sysreg", "syscon"; reg = <0x10010000 0x400>; diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index 80986b97dfe5..d5e0392b409e 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -157,6 +157,12 @@ }; }; + pmu { + compatible = "arm,cortex-a15-pmu"; + interrupt-parent = <&combiner>; + interrupts = <1 2>, <22 4>; + }; + soc: soc { sysram@2020000 { compatible = "mmio-sram"; @@ -227,20 +233,6 @@ power-domains = <&pd_mau>; }; - timer { - compatible = "arm,armv7-timer"; - interrupts = , - , - , - ; - /* - * Unfortunately we need this since some versions - * of U-Boot on Exynos don't set the CNTFRQ register, - * so we need the value from DT. - */ - clock-frequency = <24000000>; - }; - mct@101c0000 { compatible = "samsung,exynos4210-mct"; reg = <0x101C0000 0x800>; @@ -265,12 +257,6 @@ }; }; - pmu { - compatible = "arm,cortex-a15-pmu"; - interrupt-parent = <&combiner>; - interrupts = <1 2>, <22 4>; - }; - pinctrl_0: pinctrl@11400000 { compatible = "samsung,exynos5250-pinctrl"; reg = <0x11400000 0x1000>; @@ -1097,6 +1083,20 @@ }; }; }; + + timer { + compatible = "arm,armv7-timer"; + interrupts = , + , + , + ; + /* + * Unfortunately we need this since some versions + * of U-Boot on Exynos don't set the CNTFRQ register, + * so we need the value from DT. + */ + clock-frequency = <24000000>; + }; }; &dp { diff --git a/arch/arm/boot/dts/exynos54xx.dtsi b/arch/arm/boot/dts/exynos54xx.dtsi index de26e5ee0d2d..ae866bcc30c4 100644 --- a/arch/arm/boot/dts/exynos54xx.dtsi +++ b/arch/arm/boot/dts/exynos54xx.dtsi @@ -25,27 +25,27 @@ usbdrdphy1 = &usbdrd_phy1; }; - soc: soc { - arm_a7_pmu: arm-a7-pmu { - compatible = "arm,cortex-a7-pmu"; - interrupt-parent = <&gic>; - interrupts = , - , - , - ; - status = "disabled"; - }; + arm_a7_pmu: arm-a7-pmu { + compatible = "arm,cortex-a7-pmu"; + interrupt-parent = <&gic>; + interrupts = , + , + , + ; + status = "disabled"; + }; - arm_a15_pmu: arm-a15-pmu { - compatible = "arm,cortex-a15-pmu"; - interrupt-parent = <&combiner>; - interrupts = <1 2>, - <7 0>, - <16 6>, - <19 2>; - status = "disabled"; - }; + arm_a15_pmu: arm-a15-pmu { + compatible = "arm,cortex-a15-pmu"; + interrupt-parent = <&combiner>; + interrupts = <1 2>, + <7 0>, + <16 6>, + <19 2>; + status = "disabled"; + }; + soc: soc { sysram@2020000 { compatible = "mmio-sram"; reg = <0x02020000 0x54000>; -- cgit From 39691e775a52c7f69cf164500bd541f7c88a468f Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 15 Apr 2019 20:05:08 +0200 Subject: ARM: dts: exynos: Remove unneeded address/size cells from fixed-clock on Exynos3250 xusbxti fixed-clock should not have address/size cells because it does not have any children. This also fixes DTC W=1 warning: arch/arm/boot/dts/exynos3250.dtsi:112.21-139.5: Warning (simple_bus_reg): /soc/fixed-rate-clocks: missing or empty reg/ranges property Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/exynos3250.dtsi | 2 -- 1 file changed, 2 deletions(-) (limited to 'arch/arm/boot') diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi index af54b306204b..6e74e6815b01 100644 --- a/arch/arm/boot/dts/exynos3250.dtsi +++ b/arch/arm/boot/dts/exynos3250.dtsi @@ -115,8 +115,6 @@ xusbxti: clock@0 { compatible = "fixed-clock"; - #address-cells = <1>; - #size-cells = <0>; reg = <0>; clock-frequency = <0>; #clock-cells = <0>; -- cgit From 1e440c223503c24959fcccb96c2b0e775a6b3bb9 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 15 Apr 2019 20:05:09 +0200 Subject: ARM: dts: exynos: Move fixed-clocks out of soc on Exynos3250 The three fixed-clocks (xusbxti, xxti and xtcxo) are inputs to the Exynos3250 therefore they should not be inside the soc node. This also fixes DTC W=1 warning: arch/arm/boot/dts/exynos3250.dtsi:112.21-139.5: Warning (simple_bus_reg): /soc/fixed-rate-clocks: missing or empty reg/ranges property Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/exynos3250.dtsi | 58 +++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 29 deletions(-) (limited to 'arch/arm/boot') diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi index 6e74e6815b01..8ce3a7786b19 100644 --- a/arch/arm/boot/dts/exynos3250.dtsi +++ b/arch/arm/boot/dts/exynos3250.dtsi @@ -97,6 +97,35 @@ }; }; + fixed-rate-clocks { + #address-cells = <1>; + #size-cells = <0>; + + xusbxti: clock@0 { + compatible = "fixed-clock"; + reg = <0>; + clock-frequency = <0>; + #clock-cells = <0>; + clock-output-names = "xusbxti"; + }; + + xxti: clock@1 { + compatible = "fixed-clock"; + reg = <1>; + clock-frequency = <0>; + #clock-cells = <0>; + clock-output-names = "xxti"; + }; + + xtcxo: clock@2 { + compatible = "fixed-clock"; + reg = <2>; + clock-frequency = <0>; + #clock-cells = <0>; + clock-output-names = "xtcxo"; + }; + }; + pmu { compatible = "arm,cortex-a7-pmu"; interrupts = , @@ -109,35 +138,6 @@ #size-cells = <1>; ranges; - fixed-rate-clocks { - #address-cells = <1>; - #size-cells = <0>; - - xusbxti: clock@0 { - compatible = "fixed-clock"; - reg = <0>; - clock-frequency = <0>; - #clock-cells = <0>; - clock-output-names = "xusbxti"; - }; - - xxti: clock@1 { - compatible = "fixed-clock"; - reg = <1>; - clock-frequency = <0>; - #clock-cells = <0>; - clock-output-names = "xxti"; - }; - - xtcxo: clock@2 { - compatible = "fixed-clock"; - reg = <2>; - clock-frequency = <0>; - #clock-cells = <0>; - clock-output-names = "xtcxo"; - }; - }; - sysram@2020000 { compatible = "mmio-sram"; reg = <0x02020000 0x40000>; -- cgit From 0fd5ff9e4cf4469911856d4e48b513e87cd4f279 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 15 Apr 2019 20:05:10 +0200 Subject: ARM: dts: exynos: Properly override node to use MDMA0 on Universal C210 The Universal C210 (Exynos4210) uses the secure interface of MDMA0, instead of regular one - non-secure MDMA1. DTS was overriding MDMA1 node address which caused DTC W=1 warning: arch/arm/boot/dts/exynos4.dtsi:707.25-716.6: Warning (simple_bus_reg): /soc/amba/mdma@12850000: simple-bus unit address format error, expected "12840000" Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/exynos4.dtsi | 2 +- arch/arm/boot/dts/exynos4210-universal_c210.dts | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'arch/arm/boot') diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 1c21627e3c3c..36ccf227434d 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -675,7 +675,7 @@ status = "disabled"; }; - amba { + amba: amba { #address-cells = <1>; #size-cells = <1>; compatible = "simple-bus"; diff --git a/arch/arm/boot/dts/exynos4210-universal_c210.dts b/arch/arm/boot/dts/exynos4210-universal_c210.dts index 07d64a8f82e3..bf092e97e14f 100644 --- a/arch/arm/boot/dts/exynos4210-universal_c210.dts +++ b/arch/arm/boot/dts/exynos4210-universal_c210.dts @@ -177,6 +177,20 @@ }; }; +&amba { + mdma0: mdma@12840000 { + compatible = "arm,pl330", "arm,primecell"; + reg = <0x12840000 0x1000>; + interrupts = ; + clocks = <&clock CLK_MDMA>; + clock-names = "apb_pclk"; + #dma-cells = <1>; + #dma-channels = <8>; + #dma-requests = <1>; + power-domains = <&pd_lcd0>; + }; +}; + &camera { status = "okay"; @@ -491,7 +505,8 @@ }; &mdma1 { - reg = <0x12840000 0x1000>; + /* Use the secure mdma0 */ + status = "disabled"; }; &mixer { -- cgit From b4bcbdee137833aab04942671b48a9a3beb0801b Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 15 Apr 2019 21:02:22 +0200 Subject: ARM: dts: s5pv210: Fix camera clock provider on Goni board The camera driver (according also to bindings) registers a clock provider if clock-output-names property is present and later the sensors use registered clocks. The DTS for S5Pv210 Goni board was incorrectly adding a child node with clock output cells but without clock-output-names property. Although the DTS was compiling (with "/soc/camera/clock-controller: missing or empty reg/ranges property" warning), the clock provider was not registered. Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/s5pv210-goni.dts | 2 +- arch/arm/boot/dts/s5pv210.dtsi | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) (limited to 'arch/arm/boot') diff --git a/arch/arm/boot/dts/s5pv210-goni.dts b/arch/arm/boot/dts/s5pv210-goni.dts index eb6d1926c0d6..fbbd93707404 100644 --- a/arch/arm/boot/dts/s5pv210-goni.dts +++ b/arch/arm/boot/dts/s5pv210-goni.dts @@ -376,7 +376,7 @@ vdd_core-supply = <&ldo14_reg>; clock-frequency = <16000000>; - clocks = <&clock_cam 0>; + clocks = <&camera 0>; clock-names = "mclk"; nreset-gpios = <&gpb 2 0>; nstby-gpios = <&gpb 0 0>; diff --git a/arch/arm/boot/dts/s5pv210.dtsi b/arch/arm/boot/dts/s5pv210.dtsi index a44d5eb56bed..2ad642f51fd9 100644 --- a/arch/arm/boot/dts/s5pv210.dtsi +++ b/arch/arm/boot/dts/s5pv210.dtsi @@ -585,12 +585,10 @@ clock-names = "sclk_cam0", "sclk_cam1"; #address-cells = <1>; #size-cells = <1>; + #clock-cells = <1>; + clock-output-names = "cam_a_clkout", "cam_b_clkout"; ranges; - clock_cam: clock-controller { - #clock-cells = <1>; - }; - csis0: csis@fa600000 { compatible = "samsung,s5pv210-csis"; reg = <0xfa600000 0x4000>; -- cgit