diff mbox series

[2/3] dt-bindings: tegra: pmc: Update scratch as an optional aperture

Message ID 20240106075134.3933491-2-petlozup@nvidia.com
State New
Headers show
Series [1/3] soc/tegra: pmc: Update address mapping sequence for PMC apertures | expand

Commit Message

Petlozu Pravareshwar Jan. 6, 2024, 7:51 a.m. UTC
Scratch address space register is used to store reboot reason. For
some Tegra234 systems, the scratch space is not available to store
the reboot reason. This is because scratch region on these systems
is not accessible by the kernel as restricted by the Hypervisor.
Such systems would delist scratch aperture from PMC DT node.

Accordingly, this change makes "scratch" as an optional aperture for
Tegra234 in PMC dt-binding document.

Signed-off-by: Petlozu Pravareshwar <petlozup@nvidia.com>
---
 .../arm/tegra/nvidia,tegra186-pmc.yaml        | 83 +++++++++++++------
 1 file changed, 58 insertions(+), 25 deletions(-)

Comments

Petlozu Pravareshwar Jan. 17, 2024, 3:46 p.m. UTC | #1
> On Sat, Jan 06, 2024 at 07:51:33AM +0000, Petlozu Pravareshwar wrote:
> > Scratch address space register is used to store reboot reason. For
> > some Tegra234 systems, the scratch space is not available to store the
> > reboot reason. This is because scratch region on these systems is not
> > accessible by the kernel as restricted by the Hypervisor.
> > Such systems would delist scratch aperture from PMC DT node.
> >
> > Accordingly, this change makes "scratch" as an optional aperture for
> > Tegra234 in PMC dt-binding document.
> >
> > Signed-off-by: Petlozu Pravareshwar <petlozup@nvidia.com>
> > ---
> >  .../arm/tegra/nvidia,tegra186-pmc.yaml        | 83 +++++++++++++------
> >  1 file changed, 58 insertions(+), 25 deletions(-)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-
> pmc.yaml
> > b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-
> pmc.yaml
> > index 0faa403f68c8..2716610a1a02 100644
> > ---
> > a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-
> pmc.yaml
> > +++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-
> pmc.
> > +++ yaml
> > @@ -23,12 +23,7 @@ properties:
> >
> >    reg-names:
> >      minItems: 4
> > -    items:
> > -      - const: pmc
> > -      - const: wake
> > -      - const: aotag
> > -      - const: scratch
> > -      - const: misc
> > +    maxItems: 5
> 
> You can just make the 4th entry: enum: [ scratch, misc ]

Agree. I would address this in the next patch.
Thanks.

> 
> >
> >    interrupt-controller: true
> >
> > @@ -41,25 +36,63 @@ properties:
> >      description: If present, inverts the PMU interrupt signal.
> >      $ref: /schemas/types.yaml#/definitions/flag
> >
> > -if:
> > -  properties:
> > -    compatible:
> > -      contains:
> > -        const: nvidia,tegra186-pmc
> > -then:
> > -  properties:
> > -    reg:
> > -      maxItems: 4
> > -
> > -    reg-names:
> > -      maxItems: 4
> > -else:
> > -  properties:
> > -    reg:
> > -      minItems: 5
> > -
> > -    reg-names:
> > -      minItems: 5
> > +allOf:
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: nvidia,tegra186-pmc
> > +    then:
> > +      properties:
> > +        reg:
> > +          maxItems: 4
> > +        reg-names:
> > +          items:
> > +            - const: pmc
> > +            - const: wake
> > +            - const: aotag
> > +            - const: scratch
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: nvidia,tegra194-pmc
> > +    then:
> > +      properties:
> > +        reg:
> > +          minItems: 5
> > +        reg-names:
> > +          items:
> > +            - const: pmc
> > +            - const: wake
> > +            - const: aotag
> > +            - const: scratch
> > +            - const: misc
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: nvidia,tegra234-pmc
> > +    then:
> > +      properties:
> > +        reg:
> > +          minItems: 4
> > +          maxItems: 5
> > +        reg-names:
> > +          anyOf:
> > +           - items:
> > +               - const: pmc
> > +               - const: wake
> > +               - const: aotag
> > +               - const: misc
> > +           - items:
> > +               - const: pmc
> > +               - const: wake
> > +               - const: aotag
> > +               - const: scratch
> > +               - const: misc
> >
> >  patternProperties:
> >    "^[a-z0-9]+-[a-z0-9]+$":
> > --
> > 2.17.1
> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.yaml b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.yaml
index 0faa403f68c8..2716610a1a02 100644
--- a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.yaml
+++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.yaml
@@ -23,12 +23,7 @@  properties:
 
   reg-names:
     minItems: 4
-    items:
-      - const: pmc
-      - const: wake
-      - const: aotag
-      - const: scratch
-      - const: misc
+    maxItems: 5
 
   interrupt-controller: true
 
@@ -41,25 +36,63 @@  properties:
     description: If present, inverts the PMU interrupt signal.
     $ref: /schemas/types.yaml#/definitions/flag
 
-if:
-  properties:
-    compatible:
-      contains:
-        const: nvidia,tegra186-pmc
-then:
-  properties:
-    reg:
-      maxItems: 4
-
-    reg-names:
-      maxItems: 4
-else:
-  properties:
-    reg:
-      minItems: 5
-
-    reg-names:
-      minItems: 5
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: nvidia,tegra186-pmc
+    then:
+      properties:
+        reg:
+          maxItems: 4
+        reg-names:
+          items:
+            - const: pmc
+            - const: wake
+            - const: aotag
+            - const: scratch
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: nvidia,tegra194-pmc
+    then:
+      properties:
+        reg:
+          minItems: 5
+        reg-names:
+          items:
+            - const: pmc
+            - const: wake
+            - const: aotag
+            - const: scratch
+            - const: misc
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: nvidia,tegra234-pmc
+    then:
+      properties:
+        reg:
+          minItems: 4
+          maxItems: 5
+        reg-names:
+          anyOf:
+           - items:
+               - const: pmc
+               - const: wake
+               - const: aotag
+               - const: misc
+           - items:
+               - const: pmc
+               - const: wake
+               - const: aotag
+               - const: scratch
+               - const: misc
 
 patternProperties:
   "^[a-z0-9]+-[a-z0-9]+$":