1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/power/reset/syscon-reboot.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: Generic SYSCON mapped register reset driver 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Sebastian Reichel <sre@kernel.org> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyundescription: |+ 13*4882a593Smuzhiyun This is a generic reset driver using syscon to map the reset register. 14*4882a593Smuzhiyun The reset is generally performed with a write to the reset register 15*4882a593Smuzhiyun defined by the SYSCON register map base plus the offset with the value and 16*4882a593Smuzhiyun mask defined in the reboot node. Default will be little endian mode, 32 bit 17*4882a593Smuzhiyun access only. The SYSCON registers map is normally retrieved from the 18*4882a593Smuzhiyun parental dt-node. So the SYSCON reboot node should be represented as a 19*4882a593Smuzhiyun sub-node of a "syscon", "simple-mfd" node. Though the regmap property 20*4882a593Smuzhiyun pointing to the system controller node is also supported. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunproperties: 23*4882a593Smuzhiyun compatible: 24*4882a593Smuzhiyun const: syscon-reboot 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun mask: 27*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/uint32 28*4882a593Smuzhiyun description: Update only the register bits defined by the mask (32 bit). 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun offset: 31*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/uint32 32*4882a593Smuzhiyun description: Offset in the register map for the reboot register (in bytes). 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun regmap: 35*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/phandle 36*4882a593Smuzhiyun deprecated: true 37*4882a593Smuzhiyun description: | 38*4882a593Smuzhiyun Phandle to the register map node. This property is deprecated in favor of 39*4882a593Smuzhiyun the syscon-reboot node been a child of a system controller node. 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun value: 42*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/uint32 43*4882a593Smuzhiyun description: The reset value written to the reboot register (32 bit access). 44*4882a593Smuzhiyun 45*4882a593Smuzhiyunrequired: 46*4882a593Smuzhiyun - compatible 47*4882a593Smuzhiyun - offset 48*4882a593Smuzhiyun 49*4882a593SmuzhiyunadditionalProperties: false 50*4882a593Smuzhiyun 51*4882a593SmuzhiyunallOf: 52*4882a593Smuzhiyun - if: 53*4882a593Smuzhiyun not: 54*4882a593Smuzhiyun required: 55*4882a593Smuzhiyun - mask 56*4882a593Smuzhiyun then: 57*4882a593Smuzhiyun required: 58*4882a593Smuzhiyun - value 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunexamples: 61*4882a593Smuzhiyun - | 62*4882a593Smuzhiyun reboot { 63*4882a593Smuzhiyun compatible = "syscon-reboot"; 64*4882a593Smuzhiyun regmap = <®mapnode>; 65*4882a593Smuzhiyun offset = <0x0>; 66*4882a593Smuzhiyun mask = <0x1>; 67*4882a593Smuzhiyun }; 68