| Generic SYSCON mapped register reset driver | |
| This is a generic reset driver using syscon to map the reset register. | |
| The reset is generally performed with a write to the reset register | |
| defined by the register map pointed by syscon reference plus the offset and | |
| shifted by the reset specifier/ | |
| To assert a reset on some device, the equivalent of the following operation is | |
| performed, where reset_id is the reset specifier from the device's resets | |
| property. | |
| if (BIT(reset_id) & mask) | |
| regmap[offset][reset_id] = assert-high; | |
| Required properties: | |
| - compatible: should contain "syscon-reset" | |
| - #reset-cells: must be 1 | |
| - regmap: this is phandle to the register map node | |
| - offset: offset in the register map for the reboot register (in bytes) | |
| Optional properties: | |
| - mask: accept only the reset specifiers defined by the mask (32 bit) | |
| - assert-high: Bit to write when asserting a reset. Defaults to 1. | |
| Default will be little endian mode, 32 bit access only. | |
| Example: | |
| reset-controller { | |
| compatible = "syscon-reset"; | |
| #reset-cells = <1>; | |
| regmap = <&sysctl>; | |
| offset = <0x20>; | |
| mask = <0x27FFFFFF>; | |
| assert-high = <0>; | |
| }; |