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 |
> 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 --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]+$":
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(-)