1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/power/reset/syscon-reboot.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Generic SYSCON mapped register reset driver 8 9maintainers: 10 - Sebastian Reichel <sre@kernel.org> 11 12description: |+ 13 This is a generic reset driver using syscon to map the reset register. 14 The reset is generally performed with a write to the reset register 15 defined by the SYSCON register map base plus the offset with the value and 16 mask defined in the reboot node. Default will be little endian mode, 32 bit 17 access only. The SYSCON registers map is normally retrieved from the 18 parental dt-node. So the SYSCON reboot node should be represented as a 19 sub-node of a "syscon", "simple-mfd" node. Though the regmap property 20 pointing to the system controller node is also supported. 21 22properties: 23 compatible: 24 enum: 25 - syscon-reboot 26 - google,gs101-reboot 27 28 mask: 29 $ref: /schemas/types.yaml#/definitions/uint32 30 description: Update only the register bits defined by the mask (32 bit). 31 32 offset: 33 $ref: /schemas/types.yaml#/definitions/uint32 34 description: Offset in the register map for the reboot register (in bytes). 35 36 reg: 37 maxItems: 1 38 description: Base address and size for the reboot register. 39 40 regmap: 41 $ref: /schemas/types.yaml#/definitions/phandle 42 deprecated: true 43 description: | 44 Phandle to the register map node. This property is deprecated in favor of 45 the syscon-reboot node been a child of a system controller node. 46 47 value: 48 $ref: /schemas/types.yaml#/definitions/uint32 49 description: The reset value written to the reboot register (32 bit access). 50 51 priority: 52 default: 192 53 54required: 55 - compatible 56 57additionalProperties: false 58 59allOf: 60 - $ref: restart-handler.yaml# 61 - if: 62 properties: 63 compatible: 64 contains: 65 const: google,gs101-reboot 66 then: 67 properties: 68 mask: false 69 offset: false 70 reg: false 71 value: false 72 73 else: 74 if: 75 not: 76 required: 77 - mask 78 then: 79 required: 80 - value 81 82 oneOf: 83 - required: [offset] 84 - required: [reg] 85 86examples: 87 - | 88 reboot { 89 compatible = "syscon-reboot"; 90 regmap = <®mapnode>; 91 offset = <0x0>; 92 mask = <0x1>; 93 }; 94 95 - | 96 reboot { 97 compatible = "google,gs101-reboot"; 98 }; 99