devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] add basic rk3288 smp support
@ 2014-10-10 21:26 Kever Yang
  2014-10-10 21:26 ` [PATCH v3 2/6] ARM: dts: rockchip: use the same pmu node name as before Kever Yang
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Kever Yang @ 2014-10-10 21:26 UTC (permalink / raw)
  To: heiko-4mtYJXux2i+zQB+pC5nmwQ
  Cc: dianders-F7+t8E8rja9g9hUCZPvPmw, sonnyrao-F7+t8E8rja9g9hUCZPvPmw,
	addy.ke-TNX95d0MmH7DzftRWevZcw, cf-TNX95d0MmH7DzftRWevZcw,
	xjq-TNX95d0MmH7DzftRWevZcw, hj-TNX95d0MmH7DzftRWevZcw,
	huangtao-TNX95d0MmH7DzftRWevZcw,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Kever Yang,
	Ian Campbell, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Kumar Gala, Russell King,
	Rob Herring, Pawel Moll, Mark Rutland,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

rk3288 is qual-core CPU Soc, we enable the smp in this patch.

In version 3 we use regmap and pmu syscon for cpu power on/off.
This should be work after Pankaj Dubey's patch applied:
(https://lkml.org/lkml/2014/9/30/156)

Changes in v3:
- add pmu regmap patches in version 3
- use one ops and secondary_starup for all rockchip SOCs
- pick back the power domain operation for cpu hotplug
- add compitable name "rockchip,rk3288-pmu-sram" for pmu-intmem

Changes in v2:
- use rk3288_boot_secondary instead ofsmp_boot_secondary
- discards the power domain operation
- handle the per cpu starup when actived by 'sev'
- adjust the alignment

Kever Yang (6):
  ARM: rockchip: convert to regmap and use pmu syscon if available
  ARM: dts: rockchip: use the same pmu node name as before
  ARM: rockchip: add option to access the pmu via a phandle in
    smp_operations
  ARM: dts: rockchip: add pmu references to cpus nodes
  ARM: rockchip: add basic smp support for rk3288
  ARM: dts: rockchip: add intmem node for rk3288 smp support

 arch/arm/boot/dts/rk3288.dtsi    |  21 ++++-
 arch/arm/mach-rockchip/headsmp.S |   5 +-
 arch/arm/mach-rockchip/platsmp.c | 188 +++++++++++++++++++++++++++++----------
 3 files changed, 167 insertions(+), 47 deletions(-)

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v3 2/6] ARM: dts: rockchip: use the same pmu node name as before
  2014-10-10 21:26 [PATCH v3 0/6] add basic rk3288 smp support Kever Yang
@ 2014-10-10 21:26 ` Kever Yang
  2014-10-11 17:43   ` Heiko Stübner
  2014-10-10 21:26 ` [PATCH v3 4/6] ARM: dts: rockchip: add pmu references to cpus nodes Kever Yang
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Kever Yang @ 2014-10-10 21:26 UTC (permalink / raw)
  To: heiko
  Cc: dianders, sonnyrao, addy.ke, cf, xjq, hj, huangtao,
	linux-rockchip, Kever Yang, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Russell King, linux-arm-kernel,
	devicetree, linux-kernel

We use the "rockchip,rk3066-pmu" for rk3288 instead of creat
a new one.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

Changes in v3:
- add this patch in version 3

Changes in v2: None

 arch/arm/boot/dts/rk3288.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 874e66d..06f39be 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -440,7 +440,7 @@
 	};
 
 	pmu: power-management@ff730000 {
-		compatible = "rockchip,rk3288-pmu", "syscon";
+		compatible = "rockchip,rk3066-pmu", "syscon";
 		reg = <0xff730000 0x100>;
 	};
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 4/6] ARM: dts: rockchip: add pmu references to cpus nodes
  2014-10-10 21:26 [PATCH v3 0/6] add basic rk3288 smp support Kever Yang
  2014-10-10 21:26 ` [PATCH v3 2/6] ARM: dts: rockchip: use the same pmu node name as before Kever Yang
@ 2014-10-10 21:26 ` Kever Yang
       [not found]   ` <1412976370-14468-5-git-send-email-kever.yang-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
  2014-10-10 21:26 ` [PATCH v3 6/6] ARM: dts: rockchip: add intmem node for rk3288 smp support Kever Yang
  2014-10-11 18:04 ` [PATCH v3 0/6] add basic " Heiko Stübner
  3 siblings, 1 reply; 8+ messages in thread
From: Kever Yang @ 2014-10-10 21:26 UTC (permalink / raw)
  To: heiko
  Cc: dianders, sonnyrao, addy.ke, cf, xjq, hj, huangtao,
	linux-rockchip, Kever Yang, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Russell King, linux-arm-kernel,
	devicetree, linux-kernel

This patch add pmu reference and enable-method for smp

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

Changes in v3:
- add this patch

Changes in v2: None

 arch/arm/boot/dts/rk3288.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 06f39be..44108fe 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -46,6 +46,8 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "rockchip,rk3066-smp";
+		rockchip,pmu = <&pmu>;
 
 		cpu@500 {
 			device_type = "cpu";
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 6/6] ARM: dts: rockchip: add intmem node for rk3288 smp support
  2014-10-10 21:26 [PATCH v3 0/6] add basic rk3288 smp support Kever Yang
  2014-10-10 21:26 ` [PATCH v3 2/6] ARM: dts: rockchip: use the same pmu node name as before Kever Yang
  2014-10-10 21:26 ` [PATCH v3 4/6] ARM: dts: rockchip: add pmu references to cpus nodes Kever Yang
@ 2014-10-10 21:26 ` Kever Yang
  2014-10-11 18:01   ` Heiko Stübner
  2014-10-11 18:04 ` [PATCH v3 0/6] add basic " Heiko Stübner
  3 siblings, 1 reply; 8+ messages in thread
From: Kever Yang @ 2014-10-10 21:26 UTC (permalink / raw)
  To: heiko
  Cc: dianders, sonnyrao, addy.ke, cf, xjq, hj, huangtao,
	linux-rockchip, Kever Yang, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Russell King, linux-arm-kernel,
	devicetree, linux-kernel

This patch add intmem node des which is needed by platsmp.c

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

Changes in v3:
- remove 'enable-method' from this patch
- add compitable name "rockchip,rk3288-pmu-sram" for pmu-intmem

Changes in v2:
- adjust the alignment

 arch/arm/boot/dts/rk3288.dtsi | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 44108fe..5e9c56d 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -441,6 +441,23 @@
 		status = "disabled";
 	};
 
+	bus_intmem@ff700000 {
+		compatible = "mmio-sram";
+		reg = <0xff700000 0x18000>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0 0xff700000 0x18000>;
+		smp-sram@0 {
+			compatible = "rockchip,rk3066-smp-sram";
+			reg = <0x00 0x10>;
+		};
+	};
+
+	pmu_intmem@ff720000 {
+		compatible = "mmio-sram", "rockchip,rk3288-pmu-sram";
+		reg = <0xff720000 0x4000>;
+	};
+
 	pmu: power-management@ff730000 {
 		compatible = "rockchip,rk3066-pmu", "syscon";
 		reg = <0xff730000 0x100>;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 2/6] ARM: dts: rockchip: use the same pmu node name as before
  2014-10-10 21:26 ` [PATCH v3 2/6] ARM: dts: rockchip: use the same pmu node name as before Kever Yang
@ 2014-10-11 17:43   ` Heiko Stübner
  0 siblings, 0 replies; 8+ messages in thread
From: Heiko Stübner @ 2014-10-11 17:43 UTC (permalink / raw)
  To: Kever Yang
  Cc: dianders, sonnyrao, addy.ke, cf, xjq, hj, huangtao,
	linux-rockchip, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Russell King, linux-arm-kernel,
	devicetree, linux-kernel

Am Freitag, 10. Oktober 2014, 14:26:06 schrieb Kever Yang:
> We use the "rockchip,rk3066-pmu" for rk3288 instead of creat
> a new one.

No, it should stay keep the rk3288-pmu compatible. While the 4 powerdomains 
for the cores are similar, the pmu in general is very much specific to the 
rk3288.

Also, this renaming of the pmu compatible only is a workaround for the 
underlying problem, that your tree is probably missing the early syscon 
support and there falling back to mapping the node directly.

If you apply the patch 
	[PATCH v7] mfd: syscon: Decouple syscon interface from platform devices
to your tree, it will work as expected by really using the pmu reference from 
patch3 - it did for me - making this patch unnecessary.


Heiko

> 
> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
> ---
> 
> Changes in v3:
> - add this patch in version 3
> 
> Changes in v2: None
> 
>  arch/arm/boot/dts/rk3288.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
> index 874e66d..06f39be 100644
> --- a/arch/arm/boot/dts/rk3288.dtsi
> +++ b/arch/arm/boot/dts/rk3288.dtsi
> @@ -440,7 +440,7 @@
>  	};
> 
>  	pmu: power-management@ff730000 {
> -		compatible = "rockchip,rk3288-pmu", "syscon";
> +		compatible = "rockchip,rk3066-pmu", "syscon";
>  		reg = <0xff730000 0x100>;
>  	};

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 4/6] ARM: dts: rockchip: add pmu references to cpus nodes
       [not found]   ` <1412976370-14468-5-git-send-email-kever.yang-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
@ 2014-10-11 17:47     ` Heiko Stübner
  0 siblings, 0 replies; 8+ messages in thread
From: Heiko Stübner @ 2014-10-11 17:47 UTC (permalink / raw)
  To: Kever Yang
  Cc: dianders-F7+t8E8rja9g9hUCZPvPmw, sonnyrao-F7+t8E8rja9g9hUCZPvPmw,
	addy.ke-TNX95d0MmH7DzftRWevZcw, cf-TNX95d0MmH7DzftRWevZcw,
	xjq-TNX95d0MmH7DzftRWevZcw, hj-TNX95d0MmH7DzftRWevZcw,
	huangtao-TNX95d0MmH7DzftRWevZcw,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Rob Herring,
	Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Russell King,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

Am Freitag, 10. Oktober 2014, 14:26:08 schrieb Kever Yang:
> This patch add pmu reference and enable-method for smp
> 
> Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>

there should be no Signed-off from me be included here.


> Signed-off-by: Kever Yang <kever.yang-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
> ---
> 
> Changes in v3:
> - add this patch
> 
> Changes in v2: None
> 
>  arch/arm/boot/dts/rk3288.dtsi | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
> index 06f39be..44108fe 100644
> --- a/arch/arm/boot/dts/rk3288.dtsi
> +++ b/arch/arm/boot/dts/rk3288.dtsi
> @@ -46,6 +46,8 @@
>  	cpus {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> +		enable-method = "rockchip,rk3066-smp";
> +		rockchip,pmu = <&pmu>;
> 
>  		cpu@500 {
>  			device_type = "cpu";

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 6/6] ARM: dts: rockchip: add intmem node for rk3288 smp support
  2014-10-10 21:26 ` [PATCH v3 6/6] ARM: dts: rockchip: add intmem node for rk3288 smp support Kever Yang
@ 2014-10-11 18:01   ` Heiko Stübner
  0 siblings, 0 replies; 8+ messages in thread
From: Heiko Stübner @ 2014-10-11 18:01 UTC (permalink / raw)
  To: Kever Yang
  Cc: dianders, sonnyrao, addy.ke, cf, xjq, hj, huangtao,
	linux-rockchip, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Russell King, linux-arm-kernel,
	devicetree, linux-kernel

Am Freitag, 10. Oktober 2014, 14:26:10 schrieb Kever Yang:
> This patch add intmem node des which is needed by platsmp.c
> 
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>

again without this Signed-off please (also true for patch 5/6 where I forgot to 
mention it)

> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
> ---
> 
> Changes in v3:
> - remove 'enable-method' from this patch
> - add compitable name "rockchip,rk3288-pmu-sram" for pmu-intmem
> 
> Changes in v2:
> - adjust the alignment
> 
>  arch/arm/boot/dts/rk3288.dtsi | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
> index 44108fe..5e9c56d 100644
> --- a/arch/arm/boot/dts/rk3288.dtsi
> +++ b/arch/arm/boot/dts/rk3288.dtsi
> @@ -441,6 +441,23 @@
>  		status = "disabled";
>  	};
> 
> +	bus_intmem@ff700000 {
> +		compatible = "mmio-sram";
> +		reg = <0xff700000 0x18000>;
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges = <0 0xff700000 0x18000>;
> +		smp-sram@0 {
> +			compatible = "rockchip,rk3066-smp-sram";
> +			reg = <0x00 0x10>;
> +		};
> +	};
> +
> +	pmu_intmem@ff720000 {
> +		compatible = "mmio-sram", "rockchip,rk3288-pmu-sram";

general rule, the more specific compatible should be in front, so
		compatible = "rockchip,rk3288-pmu-sram", "mmio-sram";

This way, if there is a driver for "rockchip,rk3288-pmu-sram" at some point in 
the future, it will grab the node before the more generic sram driver does.

But in general, what is the pmu sram necessary for, as no part of this series 
uses it?

> +		reg = <0xff720000 0x4000>;
> +	};
> +
>  	pmu: power-management@ff730000 {
>  		compatible = "rockchip,rk3066-pmu", "syscon";
>  		reg = <0xff730000 0x100>;

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/6] add basic rk3288 smp support
  2014-10-10 21:26 [PATCH v3 0/6] add basic rk3288 smp support Kever Yang
                   ` (2 preceding siblings ...)
  2014-10-10 21:26 ` [PATCH v3 6/6] ARM: dts: rockchip: add intmem node for rk3288 smp support Kever Yang
@ 2014-10-11 18:04 ` Heiko Stübner
  3 siblings, 0 replies; 8+ messages in thread
From: Heiko Stübner @ 2014-10-11 18:04 UTC (permalink / raw)
  To: Kever Yang
  Cc: dianders, sonnyrao, addy.ke, cf, xjq, hj, huangtao,
	linux-rockchip, Ian Campbell, devicetree, linux-kernel,
	Kumar Gala, Russell King, Rob Herring, Pawel Moll, Mark Rutland,
	linux-arm-kernel

Hi Kever,

Am Freitag, 10. Oktober 2014, 14:26:04 schrieb Kever Yang:
> rk3288 is qual-core CPU Soc, we enable the smp in this patch.
> 
> In version 3 we use regmap and pmu syscon for cpu power on/off.
> This should be work after Pankaj Dubey's patch applied:
> (https://lkml.org/lkml/2014/9/30/156)

I've tested this series on both a rk3188 as well as a rk3288 and was 
sucessfully getting the secondary cores bootet.

I did not include patch2 in this, as the whole thing also works when applying 
the syscon-patch I mention in an individual reply - which also already got 
accepted for 3.19.


Heiko

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-10-11 18:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-10 21:26 [PATCH v3 0/6] add basic rk3288 smp support Kever Yang
2014-10-10 21:26 ` [PATCH v3 2/6] ARM: dts: rockchip: use the same pmu node name as before Kever Yang
2014-10-11 17:43   ` Heiko Stübner
2014-10-10 21:26 ` [PATCH v3 4/6] ARM: dts: rockchip: add pmu references to cpus nodes Kever Yang
     [not found]   ` <1412976370-14468-5-git-send-email-kever.yang-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2014-10-11 17:47     ` Heiko Stübner
2014-10-10 21:26 ` [PATCH v3 6/6] ARM: dts: rockchip: add intmem node for rk3288 smp support Kever Yang
2014-10-11 18:01   ` Heiko Stübner
2014-10-11 18:04 ` [PATCH v3 0/6] add basic " Heiko Stübner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).