mirror of https://lore.kernel.org/linux-amlogic/
 help / color / mirror / Atom feed
* [PATCH v1] arm64: dts: meson: a1: place pwrc and secure-monitor under /firmware
@ 2023-03-23 18:55 Dmitry Rokosov
  2023-03-24 10:11 ` neil.armstrong
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Rokosov @ 2023-03-23 18:55 UTC (permalink / raw)
  To: krzysztof.kozlowski, robh, neil.armstrong, khilman, jbrunet,
	martin.blumenstingl, jianxin.pan
  Cc: kernel, linux-kernel, linux-arm-kernel, linux-amlogic,
	devicetree, rockosov, Dmitry Rokosov

Before, meson power secure controller was a child of secure monitor node.
But secure monitor isn't the bus in terms of device tree subsystem, so
of_platform initialization code doesn't populate its children
(of_platform_default_populate() API).

Therefore in the current device tree meson power secure controller isn't
probed at all.

If we place meson power secure controller and secure monitor nodes under
'/firmware', they will be populated automatically from of_platform
initialization.

Fixes: 04dd0b6584cd ("arm64: dts: meson: a1: add secure power domain controller")
Signed-off-by: Dmitry Rokosov <ddrokosov@sberdevices.ru>
---
 arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
index 77023a29b6e7..44c651254dc5 100644
--- a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
@@ -72,8 +72,10 @@ linux,cma {
 		};
 	};
 
-	sm: secure-monitor {
-		compatible = "amlogic,meson-gxbb-sm";
+	firmware {
+		sm: secure-monitor {
+			compatible = "amlogic,meson-gxbb-sm";
+		};
 
 		pwrc: power-controller {
 			compatible = "amlogic,meson-a1-pwrc";
-- 
2.36.0


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

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

* Re: [PATCH v1] arm64: dts: meson: a1: place pwrc and secure-monitor under /firmware
  2023-03-23 18:55 [PATCH v1] arm64: dts: meson: a1: place pwrc and secure-monitor under /firmware Dmitry Rokosov
@ 2023-03-24 10:11 ` neil.armstrong
  2023-03-24 12:06   ` Dmitry Rokosov
  0 siblings, 1 reply; 3+ messages in thread
From: neil.armstrong @ 2023-03-24 10:11 UTC (permalink / raw)
  To: Dmitry Rokosov, krzysztof.kozlowski, robh, khilman, jbrunet,
	martin.blumenstingl, jianxin.pan
  Cc: kernel, linux-kernel, linux-arm-kernel, linux-amlogic,
	devicetree, rockosov

Hi,

On 23/03/2023 19:55, Dmitry Rokosov wrote:
> Before, meson power secure controller was a child of secure monitor node.
> But secure monitor isn't the bus in terms of device tree subsystem, so
> of_platform initialization code doesn't populate its children
> (of_platform_default_populate() API).
> 
> Therefore in the current device tree meson power secure controller isn't
> probed at all.
> 
> If we place meson power secure controller and secure monitor nodes under
> '/firmware', they will be populated automatically from of_platform
> initialization.
> 
> Fixes: 04dd0b6584cd ("arm64: dts: meson: a1: add secure power domain controller")
> Signed-off-by: Dmitry Rokosov <ddrokosov@sberdevices.ru>
> ---
>   arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
> index 77023a29b6e7..44c651254dc5 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
> @@ -72,8 +72,10 @@ linux,cma {
>   		};
>   	};
>   
> -	sm: secure-monitor {
> -		compatible = "amlogic,meson-gxbb-sm";
> +	firmware {
> +		sm: secure-monitor {
> +			compatible = "amlogic,meson-gxbb-sm";
> +		};
>   
>   		pwrc: power-controller {
>   			compatible = "amlogic,meson-a1-pwrc";

The amlogic,meson-gxbb-sm bindings says the power-controller node should be
a subnode of secure-monitor, so instead please fix the sm driver by calling:

of_platform_populate(dev->of_node, NULL, NULL, dev);

Neil

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

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

* Re: [PATCH v1] arm64: dts: meson: a1: place pwrc and secure-monitor under /firmware
  2023-03-24 10:11 ` neil.armstrong
@ 2023-03-24 12:06   ` Dmitry Rokosov
  0 siblings, 0 replies; 3+ messages in thread
From: Dmitry Rokosov @ 2023-03-24 12:06 UTC (permalink / raw)
  To: neil.armstrong
  Cc: krzysztof.kozlowski, robh, khilman, jbrunet, martin.blumenstingl,
	jianxin.pan, kernel, linux-kernel, linux-arm-kernel,
	linux-amlogic, devicetree, rockosov

Hello Neil,

On Fri, Mar 24, 2023 at 11:11:02AM +0100, neil.armstrong@linaro.org wrote:
> Hi,
> 
> On 23/03/2023 19:55, Dmitry Rokosov wrote:
> > Before, meson power secure controller was a child of secure monitor node.
> > But secure monitor isn't the bus in terms of device tree subsystem, so
> > of_platform initialization code doesn't populate its children
> > (of_platform_default_populate() API).
> > 
> > Therefore in the current device tree meson power secure controller isn't
> > probed at all.
> > 
> > If we place meson power secure controller and secure monitor nodes under
> > '/firmware', they will be populated automatically from of_platform
> > initialization.
> > 
> > Fixes: 04dd0b6584cd ("arm64: dts: meson: a1: add secure power domain controller")
> > Signed-off-by: Dmitry Rokosov <ddrokosov@sberdevices.ru>
> > ---
> >   arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 6 ++++--
> >   1 file changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
> > index 77023a29b6e7..44c651254dc5 100644
> > --- a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
> > +++ b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
> > @@ -72,8 +72,10 @@ linux,cma {
> >   		};
> >   	};
> > -	sm: secure-monitor {
> > -		compatible = "amlogic,meson-gxbb-sm";
> > +	firmware {
> > +		sm: secure-monitor {
> > +			compatible = "amlogic,meson-gxbb-sm";
> > +		};
> >   		pwrc: power-controller {
> >   			compatible = "amlogic,meson-a1-pwrc";
> 
> The amlogic,meson-gxbb-sm bindings says the power-controller node should be
> a subnode of secure-monitor, so instead please fix the sm driver by calling:
> 
> of_platform_populate(dev->of_node, NULL, NULL, dev);

This is second option which I was thinking of. I supposing this API is
used from SoC platform drivers and bus drivers only.
But if this approach is okay, I will rework the patch to
of_platform_populate().

Thank you for pointing out it.

-- 
Thank you,
Dmitry

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

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

end of thread, other threads:[~2023-03-24 12:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-23 18:55 [PATCH v1] arm64: dts: meson: a1: place pwrc and secure-monitor under /firmware Dmitry Rokosov
2023-03-24 10:11 ` neil.armstrong
2023-03-24 12:06   ` Dmitry Rokosov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®