Message ID | 20240515-arm-psci-system_reset2-vendor-reboots-v3-1-16dd4f9c0ab4@quicinc.com (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | Implement vendor resets for PSCI SYSTEM_RESET2 | expand |
On Wed, May 15, 2024 at 04:09:44PM -0700, Elliot Berman wrote: > PSCI reboot mode will map a mode name to multiple magic values instead > of just one. Convert the mode-.* property to an array. Users of the > reboot-mode schema will need to specify the maxItems of the mode-.* > properties. Existing users will all be 1. > > Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> > --- > .../devicetree/bindings/power/reset/nvmem-reboot-mode.yaml | 4 ++++ > .../devicetree/bindings/power/reset/qcom,pon.yaml | 4 ++++ > .../devicetree/bindings/power/reset/reboot-mode.yaml | 14 ++++++++++++-- > .../bindings/power/reset/syscon-reboot-mode.yaml | 4 ++++ > 4 files changed, 24 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml > index 627f8a6078c2..03b3b9be36de 100644 > --- a/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml > +++ b/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml > @@ -30,6 +30,10 @@ properties: > > allOf: > - $ref: reboot-mode.yaml# > + - patternProperties: > + "^mode-.*$": > + items: > + maxItems: 1 > > required: > - compatible > diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml > index fc8105a7b9b2..95964e04d5d6 100644 > --- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml > +++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml > @@ -68,6 +68,10 @@ allOf: > then: > allOf: > - $ref: reboot-mode.yaml# > + - patternProperties: > + "^mode-.*$": > + items: > + maxItems: 1 > > properties: > reg: > diff --git a/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml > index ad0a0b95cec1..feb70609bb5f 100644 > --- a/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml > +++ b/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml > @@ -28,13 +28,23 @@ description: | > > properties: > mode-normal: > - $ref: /schemas/types.yaml#/definitions/uint32 > + $ref: "#/patternProperties/^mode-.*$" > description: > Default value to set on a reboot if no command was provided. > > patternProperties: > "^mode-.*$": > - $ref: /schemas/types.yaml#/definitions/uint32 > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > + # Limit to 1 outer cell, e.g. no mode-normal = <0>, <1>; > + maxItems: 1 So it's an array, not a matrix... > + # Note: to reference this schema, the allOf should include hint about > + # maxItems for the inner cell > + # allOf: Don't need allOf here. > + # - $ref: /schemas/power/reset/reboot-mode.yaml# > + # - patternProperties: > + # "^mode-.*$": > + # items: > + # maxItems: 1 > > additionalProperties: true > > diff --git a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml > index b6acff199cde..bf6d68355e7f 100644 > --- a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml > +++ b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml > @@ -31,6 +31,10 @@ properties: > > allOf: > - $ref: reboot-mode.yaml# > + - patternProperties: > + "^mode-.*$": > + items: > + maxItems: 1 > > unevaluatedProperties: false > > > -- > 2.34.1 >
diff --git a/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml index 627f8a6078c2..03b3b9be36de 100644 --- a/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml +++ b/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml @@ -30,6 +30,10 @@ properties: allOf: - $ref: reboot-mode.yaml# + - patternProperties: + "^mode-.*$": + items: + maxItems: 1 required: - compatible diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml index fc8105a7b9b2..95964e04d5d6 100644 --- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml +++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml @@ -68,6 +68,10 @@ allOf: then: allOf: - $ref: reboot-mode.yaml# + - patternProperties: + "^mode-.*$": + items: + maxItems: 1 properties: reg: diff --git a/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml index ad0a0b95cec1..feb70609bb5f 100644 --- a/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml +++ b/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml @@ -28,13 +28,23 @@ description: | properties: mode-normal: - $ref: /schemas/types.yaml#/definitions/uint32 + $ref: "#/patternProperties/^mode-.*$" description: Default value to set on a reboot if no command was provided. patternProperties: "^mode-.*$": - $ref: /schemas/types.yaml#/definitions/uint32 + $ref: /schemas/types.yaml#/definitions/uint32-matrix + # Limit to 1 outer cell, e.g. no mode-normal = <0>, <1>; + maxItems: 1 + # Note: to reference this schema, the allOf should include hint about + # maxItems for the inner cell + # allOf: + # - $ref: /schemas/power/reset/reboot-mode.yaml# + # - patternProperties: + # "^mode-.*$": + # items: + # maxItems: 1 additionalProperties: true diff --git a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml index b6acff199cde..bf6d68355e7f 100644 --- a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml +++ b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml @@ -31,6 +31,10 @@ properties: allOf: - $ref: reboot-mode.yaml# + - patternProperties: + "^mode-.*$": + items: + maxItems: 1 unevaluatedProperties: false
PSCI reboot mode will map a mode name to multiple magic values instead of just one. Convert the mode-.* property to an array. Users of the reboot-mode schema will need to specify the maxItems of the mode-.* properties. Existing users will all be 1. Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> --- .../devicetree/bindings/power/reset/nvmem-reboot-mode.yaml | 4 ++++ .../devicetree/bindings/power/reset/qcom,pon.yaml | 4 ++++ .../devicetree/bindings/power/reset/reboot-mode.yaml | 14 ++++++++++++-- .../bindings/power/reset/syscon-reboot-mode.yaml | 4 ++++ 4 files changed, 24 insertions(+), 2 deletions(-)