92 lines · plain
1TI SysCon Reset Controller2=======================3 4Almost all SoCs have hardware modules that require reset control in addition5to clock and power control for their functionality. The reset control is6typically provided by means of memory-mapped I/O registers. These registers are7sometimes a part of a larger register space region implementing various8functionalities. This register range is best represented as a syscon node to9allow multiple entities to access their relevant registers in the common10register space.11 12A SysCon Reset Controller node defines a device that uses a syscon node13and provides reset management functionality for various hardware modules14present on the SoC.15 16SysCon Reset Controller Node17============================18Each of the reset provider/controller nodes should be a child of a syscon19node and have the following properties.20 21Required properties:22--------------------23 - compatible : Should be,24 "ti,k2e-pscrst"25 "ti,k2l-pscrst"26 "ti,k2hk-pscrst"27 "ti,syscon-reset"28 - #reset-cells : Should be 1. Please see the reset consumer node below29 for usage details30 - ti,reset-bits : Contains the reset control register information31 Should contain 7 cells for each reset exposed to32 consumers, defined as:33 Cell #1 : offset of the reset assert control34 register from the syscon register base35 Cell #2 : bit position of the reset in the reset36 assert control register37 Cell #3 : offset of the reset deassert control38 register from the syscon register base39 Cell #4 : bit position of the reset in the reset40 deassert control register41 Cell #5 : offset of the reset status register42 from the syscon register base43 Cell #6 : bit position of the reset in the44 reset status register45 Cell #7 : Flags used to control reset behavior,46 available flags defined in the DT include47 file <dt-bindings/reset/ti-syscon.h>48 49SysCon Reset Consumer Nodes50===========================51Each of the reset consumer nodes should have the following properties,52in addition to their own properties.53 54Required properties:55--------------------56 - resets : A phandle to the reset controller node and an index number57 to a reset specifier as defined above.58 59Please also refer to Documentation/devicetree/bindings/reset/reset.txt for60common reset controller usage by consumers.61 62Example:63--------64The following example demonstrates a syscon node, the reset controller node65using the syscon node, and a consumer (a DSP device) on the TI Keystone 26666AK2E SoC.67 68/ {69 soc {70 psc: power-sleep-controller@2350000 {71 compatible = "syscon", "simple-mfd";72 reg = <0x02350000 0x1000>;73 74 pscrst: reset-controller {75 compatible = "ti,k2e-pscrst", "ti,syscon-reset";76 #reset-cells = <1>;77 78 ti,reset-bits = <79 0xa3c 8 0xa3c 8 0x83c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 0: dsp0 */80 0xa40 5 0xa44 3 0 0 (ASSERT_SET | DEASSERT_CLEAR | STATUS_NONE) /* 1: example */81 >;82 };83 };84 85 dsp0: dsp0 {86 ...87 resets = <&pscrst 0>;88 ...89 };90 };91};92