diff mbox

[v3] ARM: dts: add CPU nodes for Exynos4 SoCs

Message ID 5230569.XLlNbB5NvF@amdc1032 (mailing list archive)
State New, archived
Headers show

Commit Message

Bartlomiej Zolnierkiewicz Sept. 24, 2014, 1:09 p.m. UTC
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@samsung.com>
---
Based on for-next branch of linux-samsung.git tree.

v3:
- refreshed on top of Kukjin's tree

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(+)

Comments

kgene@kernel.org Sept. 25, 2014, 5:56 a.m. UTC | #1
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@samsung.com>
> ---
> Based on for-next branch of linux-samsung.git tree.
> 
> v3:
> - refreshed on top of Kukjin's tree
> 
> 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(+)

Thanks for re-spin and looks good to me.

Applied.

Thanks,
Kukjin
Lorenzo Pieralisi Sept. 25, 2014, 8:17 a.m. UTC | #2
[CC'ed Daniel to make him aware this patch goes through your tree]

On Thu, Sep 25, 2014 at 06:56:33AM +0100, Kukjin Kim wrote:
> 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@samsung.com>
> > ---
> > Based on for-next branch of linux-samsung.git tree.
> > 
> > v3:
> > - refreshed on top of Kukjin's tree
> > 
> > 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(+)
> 
> Thanks for re-spin and looks good to me.
> 
> Applied.

That's great, now my Exynos CPUidle DT patch should be rebased on top
of this patch so that thanks to the testing carried out by Bart it can be
merged too.

Lorenzo
Kim Kukjin Sept. 25, 2014, 8:26 a.m. UTC | #3
On 09/25/14 17:17, Lorenzo Pieralisi wrote:
> [CC'ed Daniel to make him aware this patch goes through your tree]
>
Thanks and just note the branch  which is including this change actually 
v4 is just rebased not v3 will be sent out to arm-soc last tonight or 
tomorrow.

- Kukjin

> On Thu, Sep 25, 2014 at 06:56:33AM +0100, Kukjin Kim wrote:
>> 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@samsung.com>
>>> ---
>>> Based on for-next branch of linux-samsung.git tree.
>>>
>>> v3:
>>> - refreshed on top of Kukjin's tree
>>>
>>> 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(+)
>>
>> Thanks for re-spin and looks good to me.
>>
>> Applied.
>
> That's great, now my Exynos CPUidle DT patch should be rebased on top
> of this patch so that thanks to the testing carried out by Bart it can be
> merged too.
>
> Lorenzo
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tomasz Figa Sept. 25, 2014, 8:28 a.m. UTC | #4
Hi Kukjin,

On 25.09.2014 10:26, Kukjin Kim wrote:
> On 09/25/14 17:17, Lorenzo Pieralisi wrote:
>> [CC'ed Daniel to make him aware this patch goes through your tree]
>>
> Thanks and just note the branch  which is including this change actually
> v4 is just rebased not v3 will be sent out to arm-soc last tonight or
> tomorrow.

Could you keep this patch in a separate stable branch, so I could pull
it as a dependency for Thomas Abraham's cpufreq series?

Best regards,
Tomasz
Kim Kukjin Sept. 25, 2014, 8:44 a.m. UTC | #5
On 09/25/14 17:28, Tomasz Figa wrote:
> Hi Kukjin,
>
> On 25.09.2014 10:26, Kukjin Kim wrote:
>> On 09/25/14 17:17, Lorenzo Pieralisi wrote:
>>> [CC'ed Daniel to make him aware this patch goes through your tree]
>>>
>> Thanks and just note the branch  which is including this change actually
>> v4 is just rebased not v3 will be sent out to arm-soc last tonight or
>> tomorrow.

v3 is correct :) sorry, I confused the version...

>
> Could you keep this patch in a separate stable branch, so I could pull
> it as a dependency for Thomas Abraham's cpufreq series?
>
It's possible, but would be better that DT changes are sent to upstream 
through samsung/arm-soc tree?...we suffered ugly conflicts between 
arm-soc and driver before and then we decided DT changes should be 
handled in arm-soc...Hmm...

- Kukjin
Tomasz Figa Sept. 25, 2014, 8:57 a.m. UTC | #6
On 25.09.2014 10:44, Kukjin Kim wrote:
> On 09/25/14 17:28, Tomasz Figa wrote:
>> Hi Kukjin,
>>
>> On 25.09.2014 10:26, Kukjin Kim wrote:
>>> On 09/25/14 17:17, Lorenzo Pieralisi wrote:
>>>> [CC'ed Daniel to make him aware this patch goes through your tree]
>>>>
>>> Thanks and just note the branch  which is including this change actually
>>> v4 is just rebased not v3 will be sent out to arm-soc last tonight or
>>> tomorrow.
> 
> v3 is correct :) sorry, I confused the version...
> 
>>
>> Could you keep this patch in a separate stable branch, so I could pull
>> it as a dependency for Thomas Abraham's cpufreq series?
>>
> It's possible, but would be better that DT changes are sent to upstream
> through samsung/arm-soc tree?...we suffered ugly conflicts between
> arm-soc and driver before and then we decided DT changes should be
> handled in arm-soc...Hmm...

The only other option I can see is splitting the series and sending
mach/dts patches through arm-soc and clock/cpufreq patches through clock
tree. This would break cpufreq support in both trees, until they both
hit Linus's tree. If this is not a problem, then I can proceed this way.

Please correct me if I'm missing something.

Best regards,
Tomasz
Daniel Lezcano Sept. 25, 2014, 9:02 a.m. UTC | #7
On 09/25/2014 10:17 AM, Lorenzo Pieralisi wrote:
> [CC'ed Daniel to make him aware this patch goes through your tree]

Thanks for the head up. I was about to send the PR to Rafael.

[ ... ]

> That's great, now my Exynos CPUidle DT patch should be rebased on top
> of this patch so that thanks to the testing carried out by Bart it can be
> merged too.

Ok, I am getting confused. How can I rebase the latest patch of your 
series with a patch no yet available in my tree ?

I propose just to drop the last patch and wait for the next merge to 
reintegrate it into the cpuidle tree. Does it make sense ?

Thanks
   -- Daniel
Lorenzo Pieralisi Sept. 25, 2014, 9:36 a.m. UTC | #8
On Thu, Sep 25, 2014 at 10:02:05AM +0100, Daniel Lezcano wrote:
> On 09/25/2014 10:17 AM, Lorenzo Pieralisi wrote:
> > [CC'ed Daniel to make him aware this patch goes through your tree]
> 
> Thanks for the head up. I was about to send the PR to Rafael.
> 
> [ ... ]
> 
> > That's great, now my Exynos CPUidle DT patch should be rebased on top
> > of this patch so that thanks to the testing carried out by Bart it can be
> > merged too.
> 
> Ok, I am getting confused. How can I rebase the latest patch of your 
> series with a patch no yet available in my tree ?

I just wanted to say that the Exynos CPUidle DT patch depends on this
patch, that is now going through Samsung tree, to make sure we are on
the same page and prevent issues, it was not clear, sorry.

> I propose just to drop the last patch and wait for the next merge to 
> reintegrate it into the cpuidle tree. Does it make sense ?

I agree, drop the Exynos CPUidle DT patch, we will reintegrate it in the
CPUidle tree when the merge window closes and dependencies are sorted out.

Thanks a lot,
Lorenzo
Daniel Lezcano Sept. 25, 2014, 12:24 p.m. UTC | #9
On 09/25/2014 11:36 AM, Lorenzo Pieralisi wrote:
> On Thu, Sep 25, 2014 at 10:02:05AM +0100, Daniel Lezcano wrote:
>> On 09/25/2014 10:17 AM, Lorenzo Pieralisi wrote:
>>> [CC'ed Daniel to make him aware this patch goes through your tree]
>>
>> Thanks for the head up. I was about to send the PR to Rafael.
>>
>> [ ... ]
>>
>>> That's great, now my Exynos CPUidle DT patch should be rebased on top
>>> of this patch so that thanks to the testing carried out by Bart it can be
>>> merged too.
>>
>> Ok, I am getting confused. How can I rebase the latest patch of your
>> series with a patch no yet available in my tree ?
>
> I just wanted to say that the Exynos CPUidle DT patch depends on this
> patch, that is now going through Samsung tree, to make sure we are on
> the same page and prevent issues, it was not clear, sorry.

Ah, ok.

>> I propose just to drop the last patch and wait for the next merge to
>> reintegrate it into the cpuidle tree. Does it make sense ?
>
> I agree, drop the Exynos CPUidle DT patch, we will reintegrate it in the
> CPUidle tree when the merge window closes and dependencies are sorted out.

Perfect. I sent the PR to Rafael.

Thanks

   -- Daniel
Lorenzo Pieralisi Oct. 16, 2014, 10:48 a.m. UTC | #10
On Thu, Sep 25, 2014 at 09:26:03AM +0100, Kukjin Kim wrote:
> On 09/25/14 17:17, Lorenzo Pieralisi wrote:
> > [CC'ed Daniel to make him aware this patch goes through your tree]
> >
> Thanks and just note the branch  which is including this change actually 
> v4 is just rebased not v3 will be sent out to arm-soc last tonight or 
> tomorrow.

What's the plan for patch ? I do not see it upstream and would like
to rebase the Exynos CPUidle changes on top of it.

Thanks,
Lorenzo
diff mbox

Patch

Index: b/arch/arm/boot/dts/exynos4210.dtsi
===================================================================
--- a/arch/arm/boot/dts/exynos4210.dtsi	2014-09-24 14:38:18.958571829 +0200
+++ b/arch/arm/boot/dts/exynos4210.dtsi	2014-09-24 15:08:14.062510517 +0200
@@ -31,6 +31,23 @@ 
 		pinctrl2 = &pinctrl_2;
 	};
 
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@900 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a9";
+			reg = <0x900>;
+		};
+
+		cpu@901 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a9";
+			reg = <0x901>;
+		};
+	};
+
 	pmu_system_controller: system-controller@10020000 {
 		clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
 				"clkout4", "clkout8", "clkout9";
Index: b/arch/arm/boot/dts/exynos4212.dtsi
===================================================================
--- a/arch/arm/boot/dts/exynos4212.dtsi	2014-09-24 14:38:18.954571828 +0200
+++ b/arch/arm/boot/dts/exynos4212.dtsi	2014-09-24 14:43:02.198562156 +0200
@@ -22,6 +22,23 @@ 
 / {
 	compatible = "samsung,exynos4212", "samsung,exynos4";
 
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@A00 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a9";
+			reg = <0xA00>;
+		};
+
+		cpu@A01 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a9";
+			reg = <0xA01>;
+		};
+	};
+
 	combiner: interrupt-controller@10440000 {
 		samsung,combiner-nr = <18>;
 	};
Index: b/arch/arm/boot/dts/exynos4412.dtsi
===================================================================
--- a/arch/arm/boot/dts/exynos4412.dtsi	2014-09-24 14:38:18.966571830 +0200
+++ b/arch/arm/boot/dts/exynos4412.dtsi	2014-09-24 14:43:02.198562156 +0200
@@ -22,6 +22,35 @@ 
 / {
 	compatible = "samsung,exynos4412", "samsung,exynos4";
 
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@A00 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a9";
+			reg = <0xA00>;
+		};
+
+		cpu@A01 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a9";
+			reg = <0xA01>;
+		};
+
+		cpu@A02 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a9";
+			reg = <0xA02>;
+		};
+
+		cpu@A03 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a9";
+			reg = <0xA03>;
+		};
+	};
+
 	combiner: interrupt-controller@10440000 {
 		samsung,combiner-nr = <20>;
 	};