[PATCH v2] ARM: dts: add CPU nodes for Exynos4 SoCs

Kukjin Kim kgene.kim at samsung.com
Thu Jul 24 16:31:06 PDT 2014


On 07/21/14 22:57, Bartlomiej Zolnierkiewicz wrote:
> Recent patch by Tomasz Figa ("irqchip: gic: Fix core ID calculation
> when topology is read from DT") fixed GIC driver to filter cluster ID
> from values returned by cpu_logical_map() for SoCs having registers
> mapped without per-CPU banking making it is possible to add CPU nodes
> for Exynos4 SoCs.  In case of Exynos SoCs these CPU nodes are also
> required by future changes adding initialization of cpuidle states in
> Exynos cpuidle driver through DT.
>
> Tested on Origen board (Exynos4210 SoC) and Trats2 (Exynos4412 SoC).
>
> Signed-off-by: Bartlomiej Zolnierkiewicz<b.zolnierkie at samsung.com>
> ---
> Based on next-20140717 branch of linux-next tree +
> - [PATCH 2/6] ARM: EXYNOS: Fix core ID used by platsmp and hotplug code
>    http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg32811.html
> - [PATCH] irqchip: gic: Fix core ID calculation when topology is read from DT
>    http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg34277.html
>
> v2:
> - match the unit-address with the reg
>
>   arch/arm/boot/dts/exynos4210.dtsi | 17 +++++++++++++++++
>   arch/arm/boot/dts/exynos4212.dtsi | 17 +++++++++++++++++
>   arch/arm/boot/dts/exynos4412.dtsi | 29 +++++++++++++++++++++++++++++
>   3 files changed, 63 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
> index ee3001f..bc2b444 100644
> --- a/arch/arm/boot/dts/exynos4210.dtsi
> +++ b/arch/arm/boot/dts/exynos4210.dtsi
> @@ -31,6 +31,23 @@
>   		pinctrl2 =&pinctrl_2;
>   	};
>
> +	cpus {
> +		#address-cells =<1>;
> +		#size-cells =<0>;
> +
> +		cpu at 900 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a9";
> +			reg =<0x900>;
> +		};
> +
> +		cpu at 901 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a9";
> +			reg =<0x901>;
> +		};
> +	};
> +
>   	sysram at 02020000 {
>   		compatible = "mmio-sram";
>   		reg =<0x02020000 0x20000>;
> diff --git a/arch/arm/boot/dts/exynos4212.dtsi b/arch/arm/boot/dts/exynos4212.dtsi
> index 3c00e6e..dd0a43e 100644
> --- a/arch/arm/boot/dts/exynos4212.dtsi
> +++ b/arch/arm/boot/dts/exynos4212.dtsi
> @@ -22,6 +22,23 @@
>   / {
>   	compatible = "samsung,exynos4212", "samsung,exynos4";
>
> +	cpus {
> +		#address-cells =<1>;
> +		#size-cells =<0>;
> +
> +		cpu at A00 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a9";
> +			reg =<0xA00>;
> +		};
> +
> +		cpu at A01 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a9";
> +			reg =<0xA01>;
> +		};
> +	};
> +
>   	combiner: interrupt-controller at 10440000 {
>   		samsung,combiner-nr =<18>;
>   	};
> diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
> index c42a3e1..435a722 100644
> --- a/arch/arm/boot/dts/exynos4412.dtsi
> +++ b/arch/arm/boot/dts/exynos4412.dtsi
> @@ -22,6 +22,35 @@
>   / {
>   	compatible = "samsung,exynos4412", "samsung,exynos4";
>
> +	cpus {
> +		#address-cells =<1>;
> +		#size-cells =<0>;
> +
> +		cpu at A00 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a9";
> +			reg =<0xA00>;
> +		};
> +
> +		cpu at A01 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a9";
> +			reg =<0xA01>;
> +		};
> +
> +		cpu at A02 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a9";
> +			reg =<0xA02>;
> +		};
> +
> +		cpu at A03 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a9";
> +			reg =<0xA03>;
> +		};
> +	};
> +
>   	combiner: interrupt-controller at 10440000 {
>   		samsung,combiner-nr =<20>;
>   	};

OK, I'm fine on this, will apply.

Thanks,
Kukjin



More information about the linux-arm-kernel mailing list