Hello Neil, On Fri, Mar 24, 2023 at 11:11:02AM +0100, neil.armstrong@xxxxxxxxxx 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@xxxxxxxxxxxxxx> > > --- > > 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