diff mbox series

[1/3] dt-bindings: fsl: scu: add fallback compatible string for power domain

Message ID 1545148524-658-2-git-send-email-aisheng.dong@nxp.com (mailing list archive)
State Not Applicable, archived
Headers show
Series firmware: imx: scu-pd: add fallback compatible string support | expand

Commit Message

Aisheng Dong Dec. 18, 2018, 4:01 p.m. UTC
SCU power domain can be used in the same way by IMX8QXP and IMX8QM SoCs.
Let's add a "fsl,scu-pd" fallback compatible string to allow other SoCs
to reuse the common part.

Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Rob Herring Dec. 28, 2018, 11:28 p.m. UTC | #1
On Tue, 18 Dec 2018 16:01:20 +0000, Aisheng Dong wrote:
> SCU power domain can be used in the same way by IMX8QXP and IMX8QM SoCs.
> Let's add a "fsl,scu-pd" fallback compatible string to allow other SoCs
> to reuse the common part.
> 
> Cc: Ulf Hansson <ulf.hansson@linaro.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sascha Hauer <kernel@pengutronix.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
> ---
>  Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>
Shawn Guo Jan. 11, 2019, 9 a.m. UTC | #2
On Tue, Dec 18, 2018 at 04:01:20PM +0000, Aisheng Dong wrote:
> SCU power domain can be used in the same way by IMX8QXP and IMX8QM SoCs.
> Let's add a "fsl,scu-pd" fallback compatible string to allow other SoCs
> to reuse the common part.

This is not the practice we used to match devices with compatibilities,
i.e. coding the compatible string with the SoC name that firstly
introduces the device, and use the compatible as fallback for new SoCs.

Shawn

> 
> Cc: Ulf Hansson <ulf.hansson@linaro.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sascha Hauer <kernel@pengutronix.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
> ---
>  Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
> index c20f38e..849b671 100644
> --- a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
> +++ b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
> @@ -58,7 +58,10 @@ This binding for the SCU power domain providers uses the generic power
>  domain binding[2].
>  
>  Required properties:
> -- compatible:		Should be "fsl,imx8qxp-scu-pd".
> +- compatible:		Should be one of:
> +			  "fsl,imx8qxp-scu-pd"
> +			followed by "fsl,scu-pd"
> +
>  - #power-domain-cells:	Must be 1. Contains the Resource ID used by
>  			SCU commands.
>  			See detailed Resource ID list from:
> @@ -145,7 +148,7 @@ firmware {
>  		};
>  
>  		pd: imx8qx-pd {
> -			compatible = "fsl,imx8qxp-scu-pd";
> +			compatible = "fsl,imx8qxp-scu-pd", "fsl,scu-pd";
>  			#power-domain-cells = <1>;
>  		};
>  	};
> -- 
> 2.7.4
>
Shawn Guo Jan. 11, 2019, 9:06 a.m. UTC | #3
On Fri, Jan 11, 2019 at 05:00:11PM +0800, Shawn Guo wrote:
> On Tue, Dec 18, 2018 at 04:01:20PM +0000, Aisheng Dong wrote:
> > SCU power domain can be used in the same way by IMX8QXP and IMX8QM SoCs.
> > Let's add a "fsl,scu-pd" fallback compatible string to allow other SoCs
> > to reuse the common part.
> 
> This is not the practice we used to match devices with compatibilities,
> i.e. coding the compatible string with the SoC name that firstly
> introduces the device, and use the compatible as fallback for new SoCs.

For example, in imx8qm device tree, we can use compatible below to get
it work without change on kernel driver, while we still need to document
the compatible "fsl,imx8qm-scu-pd".

	compatible = "fsl,imx8qm-scu-pd", "fsl,imx8qxp-scu-pd";

Shawn
Aisheng Dong Jan. 11, 2019, 10:48 a.m. UTC | #4
Hi Shawn,

> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo@kernel.org]
> Sent: Friday, January 11, 2019 5:07 PM
> 
> On Fri, Jan 11, 2019 at 05:00:11PM +0800, Shawn Guo wrote:
> > On Tue, Dec 18, 2018 at 04:01:20PM +0000, Aisheng Dong wrote:
> > > SCU power domain can be used in the same way by IMX8QXP and
> IMX8QM SoCs.
> > > Let's add a "fsl,scu-pd" fallback compatible string to allow other
> > > SoCs to reuse the common part.
> >
> > This is not the practice we used to match devices with
> > compatibilities, i.e. coding the compatible string with the SoC name
> > that firstly introduces the device, and use the compatible as fallback for new
> SoCs.
> 

This is suggested by Rob that if the future SoCs are likely to be compatible.
Then we can use a general fallback compatible string like "fsl,scu-pd".
https://patchwork.kernel.org/patch/10644815/

From SCU HW protocol point of view, they're indeed compatible.
Just varies a bit on the domains numbers. 
That's why we introduce "fsl,scu-pd".
But still keep SoC specific compatible string in case any special tricks
to ensure the ABI stability.

How do you think?

Regards
Dong Aisheng

> For example, in imx8qm device tree, we can use compatible below to get it
> work without change on kernel driver, while we still need to document the
> compatible "fsl,imx8qm-scu-pd".
> 
> 	compatible = "fsl,imx8qm-scu-pd", "fsl,imx8qxp-scu-pd";
> 
> Shawn
Shawn Guo Jan. 11, 2019, 1:03 p.m. UTC | #5
On Fri, Jan 11, 2019 at 10:48:21AM +0000, Aisheng Dong wrote:
> Hi Shawn,
> 
> > -----Original Message-----
> > From: Shawn Guo [mailto:shawnguo@kernel.org]
> > Sent: Friday, January 11, 2019 5:07 PM
> > 
> > On Fri, Jan 11, 2019 at 05:00:11PM +0800, Shawn Guo wrote:
> > > On Tue, Dec 18, 2018 at 04:01:20PM +0000, Aisheng Dong wrote:
> > > > SCU power domain can be used in the same way by IMX8QXP and
> > IMX8QM SoCs.
> > > > Let's add a "fsl,scu-pd" fallback compatible string to allow other
> > > > SoCs to reuse the common part.
> > >
> > > This is not the practice we used to match devices with
> > > compatibilities, i.e. coding the compatible string with the SoC name
> > > that firstly introduces the device, and use the compatible as fallback for new
> > SoCs.
> > 
> 
> This is suggested by Rob that if the future SoCs are likely to be compatible.
> Then we can use a general fallback compatible string like "fsl,scu-pd".
> https://patchwork.kernel.org/patch/10644815/
> 
> From SCU HW protocol point of view, they're indeed compatible.
> Just varies a bit on the domains numbers. 
> That's why we introduce "fsl,scu-pd".
> But still keep SoC specific compatible string in case any special tricks
> to ensure the ABI stability.
> 
> How do you think?

Unless Rob is against the practice we have been used for long time on
i.MX, I would keep using it for i.MX8, i.e. instead of introducing a
generic compatible for fallback, simply falling on the compatible SoC
specified IP block.

Shawn
Aisheng Dong Jan. 11, 2019, 3:24 p.m. UTC | #6
> From: Shawn Guo [mailto:shawnguo@kernel.org]
> Sent: Friday, January 11, 2019 9:03 PM
> On Fri, Jan 11, 2019 at 10:48:21AM +0000, Aisheng Dong wrote:
> > Hi Shawn,
> >
> > > -----Original Message-----
> > > From: Shawn Guo [mailto:shawnguo@kernel.org]
> > > Sent: Friday, January 11, 2019 5:07 PM
> > >
> > > On Fri, Jan 11, 2019 at 05:00:11PM +0800, Shawn Guo wrote:
> > > > On Tue, Dec 18, 2018 at 04:01:20PM +0000, Aisheng Dong wrote:
> > > > > SCU power domain can be used in the same way by IMX8QXP and
> > > IMX8QM SoCs.
> > > > > Let's add a "fsl,scu-pd" fallback compatible string to allow
> > > > > other SoCs to reuse the common part.
> > > >
> > > > This is not the practice we used to match devices with
> > > > compatibilities, i.e. coding the compatible string with the SoC
> > > > name that firstly introduces the device, and use the compatible as
> > > > fallback for new
> > > SoCs.
> > >
> >
> > This is suggested by Rob that if the future SoCs are likely to be compatible.
> > Then we can use a general fallback compatible string like "fsl,scu-pd".
> >
> >
> > From SCU HW protocol point of view, they're indeed compatible.
> > Just varies a bit on the domains numbers.
> > That's why we introduce "fsl,scu-pd".
> > But still keep SoC specific compatible string in case any special
> > tricks to ensure the ABI stability.
> >
> > How do you think?
> 
> Unless Rob is against the practice we have been used for long time on i.MX, I
> would keep using it for i.MX8, i.e. instead of introducing a generic compatible
> for fallback, simply falling on the compatible SoC specified IP block.
> 

Hmm, i feel protocol based devices is slightly a bit different from our old practice.
See ARM and TI are all used generic compatible string.
Documentation/devicetree/bindings/arm/arm,scpi.txt
Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt

If from firmware protocol point of view, they're defined SoC independent.
SW(driver) implementation might be a different on platforms due to special tricks
or implemented as platform independent.

Anyway, if you strongly against this, i will change to what you requested.

Regards
Dong Aisheng

> Shawn
Rob Herring Jan. 21, 2019, 4:31 p.m. UTC | #7
On Fri, Jan 11, 2019 at 7:03 AM Shawn Guo <shawnguo@kernel.org> wrote:
>
> On Fri, Jan 11, 2019 at 10:48:21AM +0000, Aisheng Dong wrote:
> > Hi Shawn,
> >
> > > -----Original Message-----
> > > From: Shawn Guo [mailto:shawnguo@kernel.org]
> > > Sent: Friday, January 11, 2019 5:07 PM
> > >
> > > On Fri, Jan 11, 2019 at 05:00:11PM +0800, Shawn Guo wrote:
> > > > On Tue, Dec 18, 2018 at 04:01:20PM +0000, Aisheng Dong wrote:
> > > > > SCU power domain can be used in the same way by IMX8QXP and
> > > IMX8QM SoCs.
> > > > > Let's add a "fsl,scu-pd" fallback compatible string to allow other
> > > > > SoCs to reuse the common part.
> > > >
> > > > This is not the practice we used to match devices with
> > > > compatibilities, i.e. coding the compatible string with the SoC name
> > > > that firstly introduces the device, and use the compatible as fallback for new
> > > SoCs.
> > >
> >
> > This is suggested by Rob that if the future SoCs are likely to be compatible.
> > Then we can use a general fallback compatible string like "fsl,scu-pd".
> > https://patchwork.kernel.org/patch/10644815/
> >
> > From SCU HW protocol point of view, they're indeed compatible.
> > Just varies a bit on the domains numbers.
> > That's why we introduce "fsl,scu-pd".
> > But still keep SoC specific compatible string in case any special tricks
> > to ensure the ABI stability.
> >
> > How do you think?
>
> Unless Rob is against the practice we have been used for long time on
> i.MX, I would keep using it for i.MX8, i.e. instead of introducing a
> generic compatible for fallback, simply falling on the compatible SoC
> specified IP block.

That is certainly my preference and the traditional way to do
compatible in DT, but some reason folks don't like having old SoC
names in their shiny new SoC DT. So either way is fine. But I'd follow
what you do for the rest of i.MX which I guess is what Shawn suggests.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
index c20f38e..849b671 100644
--- a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
+++ b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
@@ -58,7 +58,10 @@  This binding for the SCU power domain providers uses the generic power
 domain binding[2].
 
 Required properties:
-- compatible:		Should be "fsl,imx8qxp-scu-pd".
+- compatible:		Should be one of:
+			  "fsl,imx8qxp-scu-pd"
+			followed by "fsl,scu-pd"
+
 - #power-domain-cells:	Must be 1. Contains the Resource ID used by
 			SCU commands.
 			See detailed Resource ID list from:
@@ -145,7 +148,7 @@  firmware {
 		};
 
 		pd: imx8qx-pd {
-			compatible = "fsl,imx8qxp-scu-pd";
+			compatible = "fsl,imx8qxp-scu-pd", "fsl,scu-pd";
 			#power-domain-cells = <1>;
 		};
 	};