Message ID | 20250403-dt-cpu-schema-v1-18-076be7171a85@kernel.org |
---|---|
State | New |
Headers | show |
Series | Arm cpu schema clean-ups | expand |
On Fri, 4 Apr 2025 at 05:06, Rob Herring (Arm) <robh@kernel.org> wrote: > > The "power-domains" and "power-domains-names" properties are missing any > constraints. Add the constraints and drop the generic descriptions. > > Signed-off-by: Rob Herring (Arm) <robh@kernel.org> > --- > Documentation/devicetree/bindings/arm/cpus.yaml | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml > index 6f74ebfd38df..5bd5822db8af 100644 > --- a/Documentation/devicetree/bindings/arm/cpus.yaml > +++ b/Documentation/devicetree/bindings/arm/cpus.yaml > @@ -313,19 +313,15 @@ properties: > maxItems: 1 > > power-domains: > - description: > - List of phandles and PM domain specifiers, as defined by bindings of the > - PM domain provider (see also ../power_domain.txt). > + maxItems: 1 There are more than one in some cases. The most is probably three, I think. > > power-domain-names: > description: > - A list of power domain name strings sorted in the same order as the > - power-domains property. > - > For PSCI based platforms, the name corresponding to the index of the PSCI > PM domain provider, must be "psci". For SCMI based platforms, the name > corresponding to the index of an SCMI performance domain provider, must be > "perf". > + enum: [ psci, perf, cpr ] > > resets: > maxItems: 1 > > -- > 2.47.2 > > Other than above, feel free to add: Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Kind regards Uffe
Il 04/04/25 04:59, Rob Herring (Arm) ha scritto: > The "power-domains" and "power-domains-names" properties are missing any > constraints. Add the constraints and drop the generic descriptions. > > Signed-off-by: Rob Herring (Arm) <robh@kernel.org> For MediaTek: Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
On Fri, Apr 4, 2025 at 5:37 AM Ulf Hansson <ulf.hansson@linaro.org> wrote: > > On Fri, 4 Apr 2025 at 05:06, Rob Herring (Arm) <robh@kernel.org> wrote: > > > > The "power-domains" and "power-domains-names" properties are missing any > > constraints. Add the constraints and drop the generic descriptions. > > > > Signed-off-by: Rob Herring (Arm) <robh@kernel.org> > > --- > > Documentation/devicetree/bindings/arm/cpus.yaml | 8 ++------ > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml > > index 6f74ebfd38df..5bd5822db8af 100644 > > --- a/Documentation/devicetree/bindings/arm/cpus.yaml > > +++ b/Documentation/devicetree/bindings/arm/cpus.yaml > > @@ -313,19 +313,15 @@ properties: > > maxItems: 1 > > > > power-domains: > > - description: > > - List of phandles and PM domain specifiers, as defined by bindings of the > > - PM domain provider (see also ../power_domain.txt). > > + maxItems: 1 > > There are more than one in some cases. The most is probably three, I think. Unless I missed it, testing says otherwise. What would the names be if more than 1 entry? Rob
On Fri, Apr 04, 2025 at 12:36:33PM +0200, Ulf Hansson wrote: > On Fri, 4 Apr 2025 at 05:06, Rob Herring (Arm) <robh@kernel.org> wrote: > > > > The "power-domains" and "power-domains-names" properties are missing any > > constraints. Add the constraints and drop the generic descriptions. > > > > Signed-off-by: Rob Herring (Arm) <robh@kernel.org> > > --- > > Documentation/devicetree/bindings/arm/cpus.yaml | 8 ++------ > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml > > index 6f74ebfd38df..5bd5822db8af 100644 > > --- a/Documentation/devicetree/bindings/arm/cpus.yaml > > +++ b/Documentation/devicetree/bindings/arm/cpus.yaml > > @@ -313,19 +313,15 @@ properties: > > maxItems: 1 > > > > power-domains: > > - description: > > - List of phandles and PM domain specifiers, as defined by bindings of the > > - PM domain provider (see also ../power_domain.txt). > > + maxItems: 1 > > There are more than one in some cases. The most is probably three, I think. > +1, there are users using "perf" and "psci" together now.
On Fri, 4 Apr 2025 at 15:09, Rob Herring <robh@kernel.org> wrote: > > On Fri, Apr 4, 2025 at 5:37 AM Ulf Hansson <ulf.hansson@linaro.org> wrote: > > > > On Fri, 4 Apr 2025 at 05:06, Rob Herring (Arm) <robh@kernel.org> wrote: > > > > > > The "power-domains" and "power-domains-names" properties are missing any > > > constraints. Add the constraints and drop the generic descriptions. > > > > > > Signed-off-by: Rob Herring (Arm) <robh@kernel.org> > > > --- > > > Documentation/devicetree/bindings/arm/cpus.yaml | 8 ++------ > > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > > > diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml > > > index 6f74ebfd38df..5bd5822db8af 100644 > > > --- a/Documentation/devicetree/bindings/arm/cpus.yaml > > > +++ b/Documentation/devicetree/bindings/arm/cpus.yaml > > > @@ -313,19 +313,15 @@ properties: > > > maxItems: 1 > > > > > > power-domains: > > > - description: > > > - List of phandles and PM domain specifiers, as defined by bindings of the > > > - PM domain provider (see also ../power_domain.txt). > > > + maxItems: 1 > > > > There are more than one in some cases. The most is probably three, I think. > > Unless I missed it, testing says otherwise. What would the names be if > more than 1 entry? "psci", "perf", "cpr", etc The "psci" is always for CPU power management, the other is for CPU performance scaling (which may be more than one power-domain in some cases). I would suggest changing this to "maxItems: 3". That should be sufficient I think. Kind regards Uffe
+ Stephan Gerhold On Mon, 7 Apr 2025 at 18:50, Rob Herring <robh@kernel.org> wrote: > > On Mon, Apr 7, 2025 at 11:23 AM Ulf Hansson <ulf.hansson@linaro.org> wrote: > > > > On Fri, 4 Apr 2025 at 15:09, Rob Herring <robh@kernel.org> wrote: > > > > > > On Fri, Apr 4, 2025 at 5:37 AM Ulf Hansson <ulf.hansson@linaro.org> wrote: > > > > > > > > On Fri, 4 Apr 2025 at 05:06, Rob Herring (Arm) <robh@kernel.org> wrote: > > > > > > > > > > The "power-domains" and "power-domains-names" properties are missing any > > > > > constraints. Add the constraints and drop the generic descriptions. > > > > > > > > > > Signed-off-by: Rob Herring (Arm) <robh@kernel.org> > > > > > --- > > > > > Documentation/devicetree/bindings/arm/cpus.yaml | 8 ++------ > > > > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > > > > > > > diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml > > > > > index 6f74ebfd38df..5bd5822db8af 100644 > > > > > --- a/Documentation/devicetree/bindings/arm/cpus.yaml > > > > > +++ b/Documentation/devicetree/bindings/arm/cpus.yaml > > > > > @@ -313,19 +313,15 @@ properties: > > > > > maxItems: 1 > > > > > > > > > > power-domains: > > > > > - description: > > > > > - List of phandles and PM domain specifiers, as defined by bindings of the > > > > > - PM domain provider (see also ../power_domain.txt). > > > > > + maxItems: 1 > > > > > > > > There are more than one in some cases. The most is probably three, I think. > > > > > > Unless I missed it, testing says otherwise. What would the names be if > > > more than 1 entry? > > > > "psci", "perf", "cpr", etc > > > > The "psci" is always for CPU power management, the other is for CPU > > performance scaling (which may be more than one power-domain in some > > cases). > > > > I would suggest changing this to "maxItems: 3". That should be > > sufficient I think. > > Again, my testing says 1 is enough. So where is a .dts file with 3 or 2? Right! I assume those with 3 or 2 just haven't made it upstream yet, but sure they are cases. If you prefer to update the binding later, that's fine by me, but I just wanted to avoid unnecessary churns for you. For example, msm8916 seems to be one case that already uses "psci", but requires an additional two power-domains for performance-scaling. At least according to earlier discussions [1] with Stephan Gerhold. Moreover, it's perfectly fine to also describe CPU's idle-states by using the power-domains/domain-idle-states DT bindings, according to the bindings for PSCI [2] (no matter of PSCI OSI/PC mode). In other words, for all those that only have a "perf" or "cpr" power-domain today (or whatever name is used for the performance-scaling domain), those could easily add a "psci" power-domain too, depending on how they choose to describe things in DT. Kind regards Uffe [1] https://lore.kernel.org/all/ZRcC2IRRv6dtKY65@gerhold.net/ [2] Documentation/devicetree/bindings/arm/psci.yaml
diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml index 6f74ebfd38df..5bd5822db8af 100644 --- a/Documentation/devicetree/bindings/arm/cpus.yaml +++ b/Documentation/devicetree/bindings/arm/cpus.yaml @@ -313,19 +313,15 @@ properties: maxItems: 1 power-domains: - description: - List of phandles and PM domain specifiers, as defined by bindings of the - PM domain provider (see also ../power_domain.txt). + maxItems: 1 power-domain-names: description: - A list of power domain name strings sorted in the same order as the - power-domains property. - For PSCI based platforms, the name corresponding to the index of the PSCI PM domain provider, must be "psci". For SCMI based platforms, the name corresponding to the index of an SCMI performance domain provider, must be "perf". + enum: [ psci, perf, cpr ] resets: maxItems: 1
The "power-domains" and "power-domains-names" properties are missing any constraints. Add the constraints and drop the generic descriptions. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> --- Documentation/devicetree/bindings/arm/cpus.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)