Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: STi: STiH415: Add soft reset controller support.

This patch adds soft reset controller support for STiH415 and adds new
softreset lines required for other device tree nodes in the header file.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>

+58
+46
Documentation/devicetree/bindings/reset/st,sti-softreset.txt
··· 1 + STMicroelectronics STi family Sysconfig Peripheral SoftReset Controller 2 + ============================================================================= 3 + 4 + This binding describes a reset controller device that is used to enable and 5 + disable on-chip peripheral controllers such as USB and SATA, using 6 + "softreset" control bits found in the STi family SoC system configuration 7 + registers. 8 + 9 + The actual action taken when softreset is asserted is hardware dependent. 10 + However, when asserted it may not be possible to access the hardware's 11 + registers and after an assert/deassert sequence the hardware's previous state 12 + may no longer be valid. 13 + 14 + Please refer to reset.txt in this directory for common reset 15 + controller binding usage. 16 + 17 + Required properties: 18 + - compatible: Should be "st,<chip>-softreset" example: 19 + "st,stih415-softreset" or "st,stih416-softreset"; 20 + - #reset-cells: 1, see below 21 + 22 + example: 23 + 24 + softreset: softreset-controller { 25 + #reset-cells = <1>; 26 + compatible = "st,stih415-softreset"; 27 + }; 28 + 29 + 30 + Specifying softreset control of devices 31 + ======================================= 32 + 33 + Device nodes should specify the reset channel required in their "resets" 34 + property, containing a phandle to the softreset device node and an 35 + index specifying which channel to use, as described in reset.txt 36 + 37 + example: 38 + 39 + ethernet0{ 40 + resets = <&softreset STIH415_ETH0_SOFTRESET>; 41 + }; 42 + 43 + Macro definitions for the supported reset channels can be found in: 44 + 45 + include/dt-bindings/reset-controller/stih415-resets.h 46 + include/dt-bindings/reset-controller/stih416-resets.h
+5
arch/arm/boot/dts/stih415.dtsi
··· 34 34 compatible = "st,stih415-powerdown"; 35 35 }; 36 36 37 + softreset: softreset-controller { 38 + #reset-cells = <1>; 39 + compatible = "st,stih415-softreset"; 40 + }; 41 + 37 42 syscfg_sbc: sbc-syscfg@fe600000{ 38 43 compatible = "st,stih415-sbc-syscfg", "syscon"; 39 44 reg = <0xfe600000 0xb4>;
+7
include/dt-bindings/reset-controller/stih415-resets.h
··· 16 16 #define STIH415_SATA1_POWERDOWN 7 17 17 #define STIH415_PCIE_POWERDOWN 8 18 18 19 + #define STIH415_ETH0_SOFTRESET 0 20 + #define STIH415_ETH1_SOFTRESET 1 21 + #define STIH415_IRB_SOFTRESET 2 22 + #define STIH415_USB0_SOFTRESET 3 23 + #define STIH415_USB1_SOFTRESET 4 24 + #define STIH415_USB2_SOFTRESET 5 25 + 19 26 #endif /* _DT_BINDINGS_RESET_CONTROLLER_STIH415 */