On Wed, May 15, 2024 at 04:09:45PM -0700, Elliot Berman wrote: > Add bindings to describe vendor-specific reboot modes. Values here > correspond to valid parameters to vendor-specific reset types in PSCI > SYSTEM_RESET2 call. > > Signed-off-by: Elliot Berman <quic_eberman@xxxxxxxxxxx> > --- > Documentation/devicetree/bindings/arm/psci.yaml | 43 +++++++++++++++++++++++-- > 1 file changed, 41 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml > index cbb012e217ab..47b5bbe540ce 100644 > --- a/Documentation/devicetree/bindings/arm/psci.yaml > +++ b/Documentation/devicetree/bindings/arm/psci.yaml > @@ -137,8 +137,34 @@ allOf: > required: > - cpu_off > - cpu_on > - > -additionalProperties: false > + - if: > + properties: > + compatible: > + contains: > + const: arm,psci-1.0 > + then: > + properties: > + reset-types: The normal structure is declare all properties and nodes at the top level (outside of if/then schemas) and then add restrictions with if/then schemas. > + type: object > + $ref: /schemas/power/reset/reboot-mode.yaml# additionalProperties: false and a blank line > + properties: > + # "mode-normal" is just SYSTEM_RESET > + mode-normal: false > + patternProperties: > + "^mode-.*$": > + items: > + maxItems: 2 > + description: | > + Describes a vendor-specific reset type. The string after "mode-" > + maps a reboot mode to the parameters in the PSCI SYSTEM_RESET2 call. > + > + Parameters are named mode-xxx = <type[, cookie]>, where xxx > + is the name of the magic reboot mode, type is the lower 31 bits > + of the reset_type, and, optionally, the cookie value. If the cookie > + is not provided, it is defaulted to zero. > + The 31st bit (vendor-resets) will be implicitly set by the driver. > + > +unevaluatedProperties: false > > examples: > - |+ > @@ -261,4 +287,17 @@ examples: > domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>; > }; > }; > + > + - |+ > + > + // Case 5: SYSTEM_RESET2 vendor resets > + psci { > + compatible = "arm,psci-1.0"; > + method = "smc"; > + > + reset-types { > + mode-edl = <0>; > + mode-bootloader = <1 2>; > + }; > + }; > ... > > -- > 2.34.1 >