/Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt

https://gitlab.com/webhaikal/SenseiFerrari · Plain Text · 140 lines · 115 code · 25 blank · 0 comment · 0 complexity · 1e3be9ed5bf0025b017e4ccbaabc9c4d MD5 · raw file

  1. ST Ericsson Nomadik pinmux controller
  2. Required properties:
  3. - compatible: "stericsson,nmk-pinctrl", "stericsson,nmk-pinctrl-db8540",
  4. "stericsson,nmk-pinctrl-stn8815"
  5. - reg: Should contain the register physical address and length of the PRCMU.
  6. Please refer to pinctrl-bindings.txt in this directory for details of the
  7. common pinctrl bindings used by client devices, including the meaning of the
  8. phrase "pin configuration node".
  9. ST Ericsson's pin configuration nodes act as a container for an arbitrary number of
  10. subnodes. Each of these subnodes represents some desired configuration for a
  11. pin, a group, or a list of pins or groups. This configuration can include the
  12. mux function to select on those pin(s)/group(s), and various pin configuration
  13. parameters, such as input, output, pull up, pull down...
  14. The name of each subnode is not important; all subnodes should be enumerated
  15. and processed purely based on their content.
  16. Required subnode-properties:
  17. - ste,pins : An array of strings. Each string contains the name of a pin or
  18. group.
  19. Optional subnode-properties:
  20. - ste,function: A string containing the name of the function to mux to the
  21. pin or group.
  22. - ste,config: Handle of pin configuration node (e.g. ste,config = <&slpm_in_wkup_pdis>)
  23. - ste,input : <0/1/2>
  24. 0: input with no pull
  25. 1: input with pull up,
  26. 2: input with pull down,
  27. - ste,output: <0/1/2>
  28. 0: output low,
  29. 1: output high,
  30. 2: output (value is not specified).
  31. - ste,sleep: <0/1>
  32. 0: sleep mode disable,
  33. 1: sleep mode enable.
  34. - ste,sleep-input: <0/1/2/3>
  35. 0: sleep input with no pull,
  36. 1: sleep input with pull up,
  37. 2: sleep input with pull down.
  38. 3: sleep input and keep last input configuration (no pull, pull up or pull down).
  39. - ste,sleep-output: <0/1/2>
  40. 0: sleep output low,
  41. 1: sleep output high,
  42. 2: sleep output (value is not specified).
  43. - ste,sleep-gpio: <0/1>
  44. 0: disable sleep gpio mode,
  45. 1: enable sleep gpio mode.
  46. - ste,sleep-wakeup: <0/1>
  47. 0: wake-up detection enabled,
  48. 1: wake-up detection disabled.
  49. - ste,sleep-pull-disable: <0/1>
  50. 0: GPIO pull-up or pull-down resistor is enabled, when pin is an input,
  51. 1: GPIO pull-up and pull-down resistor are disabled.
  52. Example board file extract:
  53. pinctrl@80157000 {
  54. compatible = "stericsson,nmk-pinctrl";
  55. reg = <0x80157000 0x2000>;
  56. pinctrl-names = "default";
  57. slpm_in_wkup_pdis: slpm_in_wkup_pdis {
  58. ste,sleep = <1>;
  59. ste,sleep-input = <3>;
  60. ste,sleep-wakeup = <1>;
  61. ste,sleep-pull-disable = <0>;
  62. };
  63. slpm_out_hi_wkup_pdis: slpm_out_hi_wkup_pdis {
  64. ste,sleep = <1>;
  65. ste,sleep-output = <1>;
  66. ste,sleep-wakeup = <1>;
  67. ste,sleep-pull-disable = <0>;
  68. };
  69. slpm_out_wkup_pdis: slpm_out_wkup_pdis {
  70. ste,sleep = <1>;
  71. ste,sleep-output = <2>;
  72. ste,sleep-wakeup = <1>;
  73. ste,sleep-pull-disable = <0>;
  74. };
  75. uart0 {
  76. uart0_default_mux: uart0_mux {
  77. u0_default_mux {
  78. ste,function = "u0";
  79. ste,pins = "u0_a_1";
  80. };
  81. };
  82. uart0_default_mode: uart0_default {
  83. uart0_default_cfg1 {
  84. ste,pins = "GPIO0", "GPIO2";
  85. ste,input = <1>;
  86. };
  87. uart0_default_cfg2 {
  88. ste,pins = "GPIO1", "GPIO3";
  89. ste,output = <1>;
  90. };
  91. };
  92. uart0_sleep_mode: uart0_sleep {
  93. uart0_sleep_cfg1 {
  94. ste,pins = "GPIO0", "GPIO2";
  95. ste,config = <&slpm_in_wkup_pdis>;
  96. };
  97. uart0_sleep_cfg2 {
  98. ste,pins = "GPIO1";
  99. ste,config = <&slpm_out_hi_wkup_pdis>;
  100. };
  101. uart0_sleep_cfg3 {
  102. ste,pins = "GPIO3";
  103. ste,config = <&slpm_out_wkup_pdis>;
  104. };
  105. };
  106. };
  107. };
  108. uart@80120000 {
  109. compatible = "arm,pl011", "arm,primecell";
  110. reg = <0x80120000 0x1000>;
  111. interrupts = <0 11 0x4>;
  112. pinctrl-names = "default","sleep";
  113. pinctrl-0 = <&uart0_default_mux>, <&uart0_default_mode>;
  114. pinctrl-1 = <&uart0_sleep_mode>;
  115. };