ste,abx500.txt 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. ST Ericsson abx500 pinmux controller
  2. Required properties:
  3. - compatible: "stericsson,ab8500-gpio", "stericsson,ab8540-gpio",
  4. "stericsson,ab8505-gpio", "stericsson,ab9540-gpio",
  5. Please refer to pinctrl-bindings.txt in this directory for details of the
  6. common pinctrl bindings used by client devices, including the meaning of the
  7. phrase "pin configuration node".
  8. ST Ericsson's pin configuration nodes act as a container for an arbitrary number of
  9. subnodes. Each of these subnodes represents some desired configuration for a
  10. pin, a group, or a list of pins or groups. This configuration can include the
  11. mux function to select on those pin(s)/group(s), and various pin configuration
  12. parameters, such as input, output, pull up, pull down...
  13. The name of each subnode is not important; all subnodes should be enumerated
  14. and processed purely based on their content.
  15. Required subnode-properties:
  16. - ste,pins : An array of strings. Each string contains the name of a pin or
  17. group.
  18. Optional subnode-properties:
  19. - ste,function: A string containing the name of the function to mux to the
  20. pin or group.
  21. - generic pin configuration option to use. Example :
  22. default_cfg {
  23. ste,pins = "GPIO1";
  24. bias-disable;
  25. };
  26. - ste,config: Handle of pin configuration node containing the generic
  27. pinconfig options to use, as described in pinctrl-bindings.txt in
  28. this directory. Example :
  29. pcfg_bias_disable: pcfg_bias_disable {
  30. bias-disable;
  31. };
  32. default_cfg {
  33. ste,pins = "GPIO1";
  34. ste.config = <&pcfg_bias_disable>;
  35. };
  36. Example board file extract:
  37. &pinctrl_abx500 {
  38. pinctrl-names = "default";
  39. pinctrl-0 = <&sysclkreq2_default_mode>, <&sysclkreq3_default_mode>, <&gpio3_default_mode>, <&sysclkreq6_default_mode>, <&pwmout1_default_mode>, <&pwmout2_default_mode>, <&pwmout3_default_mode>, <&adi1_default_mode>, <&dmic12_default_mode>, <&dmic34_default_mode>, <&dmic56_default_mode>, <&sysclkreq5_default_mode>, <&batremn_default_mode>, <&service_default_mode>, <&pwrctrl0_default_mode>, <&pwrctrl1_default_mode>, <&pwmextvibra1_default_mode>, <&pwmextvibra2_default_mode>, <&gpio51_default_mode>, <&gpio52_default_mode>, <&gpio53_default_mode>, <&gpio54_default_mode>, <&pdmclkdat_default_mode>;
  40. sysclkreq2 {
  41. sysclkreq2_default_mode: sysclkreq2_default {
  42. default_mux {
  43. ste,function = "sysclkreq";
  44. ste,pins = "sysclkreq2_d_1";
  45. };
  46. default_cfg {
  47. ste,pins = "GPIO1";
  48. bias-disable;
  49. };
  50. };
  51. };
  52. sysclkreq3 {
  53. sysclkreq3_default_mode: sysclkreq3_default {
  54. default_mux {
  55. ste,function = "sysclkreq";
  56. ste,pins = "sysclkreq3_d_1";
  57. };
  58. default_cfg {
  59. ste,pins = "GPIO2";
  60. output-low;
  61. };
  62. };
  63. };
  64. gpio3 {
  65. gpio3_default_mode: gpio3_default {
  66. default_mux {
  67. ste,function = "gpio";
  68. ste,pins = "gpio3_a_1";
  69. };
  70. default_cfg {
  71. ste,pins = "GPIO3";
  72. output-low;
  73. };
  74. };
  75. };
  76. sysclkreq6 {
  77. sysclkreq6_default_mode: sysclkreq6_default {
  78. default_mux {
  79. ste,function = "sysclkreq";
  80. ste,pins = "sysclkreq6_d_1";
  81. };
  82. default_cfg {
  83. ste,pins = "GPIO4";
  84. bias-disable;
  85. };
  86. };
  87. };
  88. pwmout1 {
  89. pwmout1_default_mode: pwmout1_default {
  90. default_mux {
  91. ste,function = "pwmout";
  92. ste,pins = "pwmout1_d_1";
  93. };
  94. default_cfg {
  95. ste,pins = "GPIO14";
  96. output-low;
  97. };
  98. };
  99. };
  100. pwmout2 {
  101. pwmout2_default_mode: pwmout2_default {
  102. pwmout2_default_mux {
  103. ste,function = "pwmout";
  104. ste,pins = "pwmout2_d_1";
  105. };
  106. pwmout2_default_cfg {
  107. ste,pins = "GPIO15";
  108. output-low;
  109. };
  110. };
  111. };
  112. pwmout3 {
  113. pwmout3_default_mode: pwmout3_default {
  114. pwmout3_default_mux {
  115. ste,function = "pwmout";
  116. ste,pins = "pwmout3_d_1";
  117. };
  118. pwmout3_default_cfg {
  119. ste,pins = "GPIO16";
  120. output-low;
  121. };
  122. };
  123. };
  124. adi1 {
  125. adi1_default_mode: adi1_default {
  126. adi1_default_mux {
  127. ste,function = "adi1";
  128. ste,pins = "adi1_d_1";
  129. };
  130. adi1_default_cfg1 {
  131. ste,pins = "GPIO17","GPIO19","GPIO20";
  132. bias-disable;
  133. };
  134. adi1_default_cfg2 {
  135. ste,pins = "GPIO18";
  136. output-low;
  137. };
  138. };
  139. };
  140. dmic12 {
  141. dmic12_default_mode: dmic12_default {
  142. dmic12_default_mux {
  143. ste,function = "dmic";
  144. ste,pins = "dmic12_d_1";
  145. };
  146. dmic12_default_cfg1 {
  147. ste,pins = "GPIO27";
  148. output-low;
  149. };
  150. dmic12_default_cfg2 {
  151. ste,pins = "GPIO28";
  152. bias-disable;
  153. };
  154. };
  155. };
  156. dmic34 {
  157. dmic34_default_mode: dmic34_default {
  158. dmic34_default_mux {
  159. ste,function = "dmic";
  160. ste,pins = "dmic34_d_1";
  161. };
  162. dmic34_default_cfg1 {
  163. ste,pins = "GPIO29";
  164. output-low;
  165. };
  166. dmic34_default_cfg2 {
  167. ste,pins = "GPIO30";
  168. bias-disable;{
  169. };
  170. };
  171. };
  172. dmic56 {
  173. dmic56_default_mode: dmic56_default {
  174. dmic56_default_mux {
  175. ste,function = "dmic";
  176. ste,pins = "dmic56_d_1";
  177. };
  178. dmic56_default_cfg1 {
  179. ste,pins = "GPIO31";
  180. output-low;
  181. };
  182. dmic56_default_cfg2 {
  183. ste,pins = "GPIO32";
  184. bias-disable;
  185. };
  186. };
  187. };
  188. sysclkreq5 {
  189. sysclkreq5_default_mode: sysclkreq5_default {
  190. sysclkreq5_default_mux {
  191. ste,function = "sysclkreq";
  192. ste,pins = "sysclkreq5_d_1";
  193. };
  194. sysclkreq5_default_cfg {
  195. ste,pins = "GPIO42";
  196. output-low;
  197. };
  198. };
  199. };
  200. batremn {
  201. batremn_default_mode: batremn_default {
  202. batremn_default_mux {
  203. ste,function = "batremn";
  204. ste,pins = "batremn_d_1";
  205. };
  206. batremn_default_cfg {
  207. ste,pins = "GPIO43";
  208. bias-disable;
  209. };
  210. };
  211. };
  212. service {
  213. service_default_mode: service_default {
  214. service_default_mux {
  215. ste,function = "service";
  216. ste,pins = "service_d_1";
  217. };
  218. service_default_cfg {
  219. ste,pins = "GPIO44";
  220. bias-disable;
  221. };
  222. };
  223. };
  224. pwrctrl0 {
  225. pwrctrl0_default_mux: pwrctrl0_mux {
  226. pwrctrl0_default_mux {
  227. ste,function = "pwrctrl";
  228. ste,pins = "pwrctrl0_d_1";
  229. };
  230. };
  231. pwrctrl0_default_mode: pwrctrl0_default {
  232. pwrctrl0_default_cfg {
  233. ste,pins = "GPIO45";
  234. bias-disable;
  235. };
  236. };
  237. };
  238. pwrctrl1 {
  239. pwrctrl1_default_mux: pwrctrl1_mux {
  240. pwrctrl1_default_mux {
  241. ste,function = "pwrctrl";
  242. ste,pins = "pwrctrl1_d_1";
  243. };
  244. };
  245. pwrctrl1_default_mode: pwrctrl1_default {
  246. pwrctrl1_default_cfg {
  247. ste,pins = "GPIO46";
  248. bias-disable;
  249. };
  250. };
  251. };
  252. pwmextvibra1 {
  253. pwmextvibra1_default_mode: pwmextvibra1_default {
  254. pwmextvibra1_default_mux {
  255. ste,function = "pwmextvibra";
  256. ste,pins = "pwmextvibra1_d_1";
  257. };
  258. pwmextvibra1_default_cfg {
  259. ste,pins = "GPIO47";
  260. bias-disable;
  261. };
  262. };
  263. };
  264. pwmextvibra2 {
  265. pwmextvibra2_default_mode: pwmextvibra2_default {
  266. pwmextvibra2_default_mux {
  267. ste,function = "pwmextvibra";
  268. ste,pins = "pwmextvibra2_d_1";
  269. };
  270. pwmextvibra1_default_cfg {
  271. ste,pins = "GPIO48";
  272. bias-disable;
  273. };
  274. };
  275. };
  276. gpio51 {
  277. gpio51_default_mode: gpio51_default {
  278. gpio51_default_mux {
  279. ste,function = "gpio";
  280. ste,pins = "gpio51_a_1";
  281. };
  282. gpio51_default_cfg {
  283. ste,pins = "GPIO51";
  284. output-low;
  285. };
  286. };
  287. };
  288. gpio52 {
  289. gpio52_default_mode: gpio52_default {
  290. gpio52_default_mux {
  291. ste,function = "gpio";
  292. ste,pins = "gpio52_a_1";
  293. };
  294. gpio52_default_cfg {
  295. ste,pins = "GPIO52";
  296. bias-pull-down;
  297. };
  298. };
  299. };
  300. gpio53 {
  301. gpio53_default_mode: gpio53_default {
  302. gpio53_default_mux {
  303. ste,function = "gpio";
  304. ste,pins = "gpio53_a_1";
  305. };
  306. gpio53_default_cfg {
  307. ste,pins = "GPIO53";
  308. bias-pull-down;
  309. };
  310. };
  311. };
  312. gpio54 {
  313. gpio54_default_mode: gpio54_default {
  314. gpio54_default_mux {
  315. ste,function = "gpio";
  316. ste,pins = "gpio54_a_1";
  317. };
  318. gpio54_default_cfg {
  319. ste,pins = "GPIO54";
  320. output-low;
  321. };
  322. };
  323. };
  324. pdmclkdat {
  325. pdmclkdat_default_mode: pdmclkdat_default {
  326. pdmclkdat_default_mux {
  327. ste,function = "pdm";
  328. ste,pins = "pdmclkdat_d_1";
  329. };
  330. pdmclkdat_default_cfg {
  331. ste,pins = "GPIO55", "GPIO56";
  332. bias-disable;
  333. };
  334. };
  335. };
  336. };