ti-syscon-reset.txt 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. TI SysCon Reset Controller
  2. =======================
  3. Almost all SoCs have hardware modules that require reset control in addition
  4. to clock and power control for their functionality. The reset control is
  5. typically provided by means of memory-mapped I/O registers. These registers are
  6. sometimes a part of a larger register space region implementing various
  7. functionalities. This register range is best represented as a syscon node to
  8. allow multiple entities to access their relevant registers in the common
  9. register space.
  10. A SysCon Reset Controller node defines a device that uses a syscon node
  11. and provides reset management functionality for various hardware modules
  12. present on the SoC.
  13. SysCon Reset Controller Node
  14. ============================
  15. Each of the reset provider/controller nodes should be a child of a syscon
  16. node and have the following properties.
  17. Required properties:
  18. --------------------
  19. - compatible : Should be,
  20. "ti,k2e-pscrst"
  21. "ti,k2l-pscrst"
  22. "ti,k2hk-pscrst"
  23. "ti,syscon-reset"
  24. - #reset-cells : Should be 1. Please see the reset consumer node below
  25. for usage details
  26. - ti,reset-bits : Contains the reset control register information
  27. Should contain 7 cells for each reset exposed to
  28. consumers, defined as:
  29. Cell #1 : offset of the reset assert control
  30. register from the syscon register base
  31. Cell #2 : bit position of the reset in the reset
  32. assert control register
  33. Cell #3 : offset of the reset deassert control
  34. register from the syscon register base
  35. Cell #4 : bit position of the reset in the reset
  36. deassert control register
  37. Cell #5 : offset of the reset status register
  38. from the syscon register base
  39. Cell #6 : bit position of the reset in the
  40. reset status register
  41. Cell #7 : Flags used to control reset behavior,
  42. availible flags defined in the DT include
  43. file <dt-bindings/reset/ti-syscon.h>
  44. SysCon Reset Consumer Nodes
  45. ===========================
  46. Each of the reset consumer nodes should have the following properties,
  47. in addition to their own properties.
  48. Required properties:
  49. --------------------
  50. - resets : A phandle to the reset controller node and an index number
  51. to a reset specifier as defined above.
  52. Please also refer to Documentation/devicetree/bindings/reset/reset.txt for
  53. common reset controller usage by consumers.
  54. Example:
  55. --------
  56. The following example demonstrates a syscon node, the reset controller node
  57. using the syscon node, and a consumer (a DSP device) on the TI Keystone 2
  58. 66AK2E SoC.
  59. / {
  60. soc {
  61. psc: power-sleep-controller@2350000 {
  62. compatible = "syscon", "simple-mfd";
  63. reg = <0x02350000 0x1000>;
  64. pscrst: reset-controller {
  65. compatible = "ti,k2e-pscrst", "ti,syscon-reset";
  66. #reset-cells = <1>;
  67. ti,reset-bits = <
  68. 0xa3c 8 0xa3c 8 0x83c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 0: dsp0 */
  69. 0xa40 5 0xa44 3 0 0 (ASSERT_SET | DEASSERT_CLEAR | STATUS_NONE) /* 1: example */
  70. >;
  71. };
  72. };
  73. dsp0: dsp0 {
  74. ...
  75. resets = <&pscrst 0>;
  76. ...
  77. };
  78. };
  79. };