2019-09-25 16:18:50

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [RFT v4 4/8] ARM: dts: exynos: Remove MCT subnode for interrupt map on Exynos4210

Multi Core Timer node has interrupts routed to two different parents -
GIC and combiner. This was modeled with a interrupt-map within a
subnode but can be expressed in an easier and more common way, directly
in the node itself.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Not tested.

Changes since v3:
1. Use interrupts-extended instead of interrupts-map.
---
arch/arm/boot/dts/exynos4210.dtsi | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
index 6d3f19562aab..5fa33d43821e 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -109,23 +109,14 @@
mct: timer@10050000 {
compatible = "samsung,exynos4210-mct";
reg = <0x10050000 0x800>;
- interrupt-parent = <&mct_map>;
- interrupts = <0>, <1>, <2>, <3>, <4>, <5>;
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
clock-names = "fin_pll", "mct";
-
- mct_map: mct-map {
- #interrupt-cells = <1>;
- #address-cells = <0>;
- #size-cells = <0>;
- interrupt-map =
- <0 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
- <1 &gic 0 69 IRQ_TYPE_LEVEL_HIGH>,
- <2 &combiner 12 6>,
- <3 &combiner 12 7>,
- <4 &gic 0 42 IRQ_TYPE_LEVEL_HIGH>,
- <5 &gic 0 48 IRQ_TYPE_LEVEL_HIGH>;
- };
+ interrupts-extended = <&gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
+ <&gic 0 69 IRQ_TYPE_LEVEL_HIGH>,
+ <&combiner 12 6>,
+ <&combiner 12 7>,
+ <&gic 0 42 IRQ_TYPE_LEVEL_HIGH>,
+ <&gic 0 48 IRQ_TYPE_LEVEL_HIGH>;
};

watchdog: watchdog@10060000 {
--
2.17.1


2019-09-26 00:43:45

by Marek Szyprowski

[permalink] [raw]
Subject: Re: [RFT v4 4/8] ARM: dts: exynos: Remove MCT subnode for interrupt map on Exynos4210


On 23.09.2019 18:14, Krzysztof Kozlowski wrote:
> Multi Core Timer node has interrupts routed to two different parents -
> GIC and combiner. This was modeled with a interrupt-map within a
> subnode but can be expressed in an easier and more common way, directly
> in the node itself.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>

Tested-by: Marek Szyprowski <[email protected]>

Works fine on Trats and Origen boards.

> ---
>
> Not tested.
>
> Changes since v3:
> 1. Use interrupts-extended instead of interrupts-map.
> ---
> arch/arm/boot/dts/exynos4210.dtsi | 21 ++++++---------------
> 1 file changed, 6 insertions(+), 15 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
> index 6d3f19562aab..5fa33d43821e 100644
> --- a/arch/arm/boot/dts/exynos4210.dtsi
> +++ b/arch/arm/boot/dts/exynos4210.dtsi
> @@ -109,23 +109,14 @@
> mct: timer@10050000 {
> compatible = "samsung,exynos4210-mct";
> reg = <0x10050000 0x800>;
> - interrupt-parent = <&mct_map>;
> - interrupts = <0>, <1>, <2>, <3>, <4>, <5>;
> clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
> clock-names = "fin_pll", "mct";
> -
> - mct_map: mct-map {
> - #interrupt-cells = <1>;
> - #address-cells = <0>;
> - #size-cells = <0>;
> - interrupt-map =
> - <0 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
> - <1 &gic 0 69 IRQ_TYPE_LEVEL_HIGH>,
> - <2 &combiner 12 6>,
> - <3 &combiner 12 7>,
> - <4 &gic 0 42 IRQ_TYPE_LEVEL_HIGH>,
> - <5 &gic 0 48 IRQ_TYPE_LEVEL_HIGH>;
> - };
> + interrupts-extended = <&gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
> + <&gic 0 69 IRQ_TYPE_LEVEL_HIGH>,
> + <&combiner 12 6>,
> + <&combiner 12 7>,
> + <&gic 0 42 IRQ_TYPE_LEVEL_HIGH>,
> + <&gic 0 48 IRQ_TYPE_LEVEL_HIGH>;
> };
>
> watchdog: watchdog@10060000 {

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