blob: f136b3d2250df3d751b0a0cc3f29460194bc54cb [file] [log] [blame]
Sean Anderson038b13e2020-06-24 06:41:14 -04001Generic SYSCON mapped register reset driver
2
3This is a generic reset driver using syscon to map the reset register.
4The reset is generally performed with a write to the reset register
5defined by the register map pointed by syscon reference plus the offset and
6shifted by the reset specifier/
7
8To assert a reset on some device, the equivalent of the following operation is
9performed, where reset_id is the reset specifier from the device's resets
10property.
11
12 if (BIT(reset_id) & mask)
13 regmap[offset][reset_id] = assert-high;
14
15Required properties:
16- compatible: should contain "syscon-reset"
17- #reset-cells: must be 1
18- regmap: this is phandle to the register map node
19- offset: offset in the register map for the reboot register (in bytes)
20
21Optional properties:
22- mask: accept only the reset specifiers defined by the mask (32 bit)
23- assert-high: Bit to write when asserting a reset. Defaults to 1.
24
25Default will be little endian mode, 32 bit access only.
26
27Example:
28
29 reset-controller {
30 compatible = "syscon-reset";
31 #reset-cells = <1>;
32 regmap = <&sysctl>;
33 offset = <0x20>;
34 mask = <0x27FFFFFF>;
35 assert-high = <0>;
36 };