Advertisement
Guest User

EGPIO Cape

a guest
Jun 2nd, 2020
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.65 KB | None | 0 0
  1. /dts-v1/;
  2. /plugin/;
  3.  
  4. / {
  5. compatible = "ti,beaglebone", "ti,beaglebone-black";
  6.  
  7. /* identification */
  8. part-number = "BB-EGPIO";
  9. version = "00A0";
  10.  
  11. /* state the resources this cape uses */
  12. exclusive-use =
  13.  
  14. "P8.39",
  15. "P8.40",
  16. "P8.41",
  17. "P8.42",
  18. "P8.43",
  19. "P8.44",
  20. "P8.45",
  21. "P8.46";
  22.  
  23. fragment@0 {
  24. target = <&am33xx_pinmux>;
  25. __overlay__ {
  26.  
  27. /* P8_39 (ZCZ ball T3 ) hdmi */
  28. P8_39_default_pin: pinmux_P8_39_default_pin {
  29. pinctrl-single,pins = <0x0B8 0x05>; }; /* Mode 5, Pull-Down */
  30. P8_39_gpio_pin: pinmux_P8_39_gpio_pin {
  31. pinctrl-single,pins = <0x0B8 0x2F>; }; /* Mode 7, RxActive */
  32. P8_39_gpio_pu_pin: pinmux_P8_39_gpio_pu_pin {
  33. pinctrl-single,pins = <0x0B8 0x37>; }; /* Mode 7, Pull-Up, RxActive */
  34. P8_39_gpio_pd_pin: pinmux_P8_39_gpio_pd_pin {
  35. pinctrl-single,pins = <0x0B8 0x27>; }; /* Mode 7, Pull-Down, RxActive */
  36. P8_39_pruout_pin: pinmux_P8_39_pruout_pin {
  37. pinctrl-single,pins = <0x0B8 0x05>; }; /* Mode 5, Pull-Down*/
  38. P8_39_pruin_pin: pinmux_P8_39_pruin_pin {
  39. pinctrl-single,pins = <0x0B8 0x26>; }; /* Mode 6, Pull-Down, RxActive */
  40. P8_39_qep_pin: pinmux_P8_39_qep_pin {
  41. pinctrl-single,pins = <0x0B8 0x23>; }; /* Mode 3, Pull-Down, RxActive */
  42.  
  43. /* P8_40 (ZCZ ball T4 ) hdmi */
  44. P8_40_default_pin: pinmux_P8_40_default_pin {
  45. pinctrl-single,pins = <0x0BC 0x05>; }; /* Mode 5, Pull-Down*/
  46. P8_40_gpio_pin: pinmux_P8_40_gpio_pin {
  47. pinctrl-single,pins = <0x0BC 0x2F>; }; /* Mode 7, RxActive */
  48. P8_40_gpio_pu_pin: pinmux_P8_40_gpio_pu_pin {
  49. pinctrl-single,pins = <0x0BC 0x37>; }; /* Mode 7, Pull-Up, RxActive */
  50. P8_40_gpio_pd_pin: pinmux_P8_40_gpio_pd_pin {
  51. pinctrl-single,pins = <0x0BC 0x27>; }; /* Mode 7, Pull-Down, RxActive */
  52. P8_40_pruout_pin: pinmux_P8_40_pruout_pin {
  53. pinctrl-single,pins = <0x0BC 0x05>; }; /* Mode 5, Pull-Down*/
  54. P8_40_pruin_pin: pinmux_P8_40_pruin_pin {
  55. pinctrl-single,pins = <0x0BC 0x26>; }; /* Mode 6, Pull-Down, RxActive */
  56. P8_40_qep_pin: pinmux_P8_40_qep_pin {
  57. pinctrl-single,pins = <0x0BC 0x23>; }; /* Mode 3, Pull-Down, RxActive */
  58.  
  59. /* P8_41 (ZCZ ball T1 ) hdmi */
  60. P8_41_default_pin: pinmux_P8_41_default_pin {
  61. pinctrl-single,pins = <0x0B0 0x05>; }; /* Mode 5, Pull-Down*/
  62. P8_41_gpio_pin: pinmux_P8_41_gpio_pin {
  63. pinctrl-single,pins = <0x0B0 0x2F>; }; /* Mode 7, RxActive */
  64. P8_41_gpio_pu_pin: pinmux_P8_41_gpio_pu_pin {
  65. pinctrl-single,pins = <0x0B0 0x37>; }; /* Mode 7, Pull-Up, RxActive */
  66. P8_41_gpio_pd_pin: pinmux_P8_41_gpio_pd_pin {
  67. pinctrl-single,pins = <0x0B0 0x27>; }; /* Mode 7, Pull-Down, RxActive */
  68. P8_41_pruout_pin: pinmux_P8_41_pruout_pin {
  69. pinctrl-single,pins = <0x0B0 0x05>; }; /* Mode 5, Pull-Down*/
  70. P8_41_pruin_pin: pinmux_P8_41_pruin_pin {
  71. pinctrl-single,pins = <0x0B0 0x26>; }; /* Mode 6, Pull-Down, RxActive */
  72. P8_41_qep_pin: pinmux_P8_41_qep_pin {
  73. pinctrl-single,pins = <0x0B0 0x23>; }; /* Mode 3, Pull-Down, RxActive */
  74.  
  75. /* P8_42 (ZCZ ball T2 ) hdmi */
  76. P8_42_default_pin: pinmux_P8_42_default_pin {
  77. pinctrl-single,pins = <0x0B4 0x05>; }; /* Mode 5, Pull-Down*/
  78. P8_42_gpio_pin: pinmux_P8_42_gpio_pin {
  79. pinctrl-single,pins = <0x0B4 0x2F>; }; /* Mode 7, RxActive */
  80. P8_42_gpio_pu_pin: pinmux_P8_42_gpio_pu_pin {
  81. pinctrl-single,pins = <0x0B4 0x37>; }; /* Mode 7, Pull-Up, RxActive */
  82. P8_42_gpio_pd_pin: pinmux_P8_42_gpio_pd_pin {
  83. pinctrl-single,pins = <0x0B4 0x27>; }; /* Mode 7, Pull-Down, RxActive */
  84. P8_42_pruout_pin: pinmux_P8_42_pruout_pin {
  85. pinctrl-single,pins = <0x0B4 0x05>; }; /* Mode 5, Pull-Down*/
  86. P8_42_pruin_pin: pinmux_P8_42_pruin_pin {
  87. pinctrl-single,pins = <0x0B4 0x26>; }; /* Mode 6, Pull-Down, RxActive */
  88. P8_42_qep_pin: pinmux_P8_42_qep_pin {
  89. pinctrl-single,pins = <0x0B4 0x23>; }; /* Mode 3, Pull-Down, RxActive */
  90.  
  91. /* P8_43 (ZCZ ball R3 ) hdmi */
  92. P8_43_default_pin: pinmux_P8_43_default_pin {
  93. pinctrl-single,pins = <0x0A8 0x05>; }; /* Mode 5, Pull-Down*/
  94. P8_43_gpio_pin: pinmux_P8_43_gpio_pin {
  95. pinctrl-single,pins = <0x0A8 0x2F>; }; /* Mode 7, RxActive */
  96. P8_43_gpio_pu_pin: pinmux_P8_43_gpio_pu_pin {
  97. pinctrl-single,pins = <0x0A8 0x37>; }; /* Mode 7, Pull-Up, RxActive */
  98. P8_43_gpio_pd_pin: pinmux_P8_43_gpio_pd_pin {
  99. pinctrl-single,pins = <0x0A8 0x27>; }; /* Mode 7, Pull-Down, RxActive */
  100. P8_43_pruout_pin: pinmux_P8_43_pruout_pin {
  101. pinctrl-single,pins = <0x0A8 0x05>; }; /* Mode 5, Pull-Down*/
  102. P8_43_pruin_pin: pinmux_P8_43_pruin_pin {
  103. pinctrl-single,pins = <0x0A8 0x26>; }; /* Mode 6, Pull-Down, RxActive */
  104. P8_43_pwm_pin: pinmux_P8_43_pwm_pin {
  105. pinctrl-single,pins = <0x0A8 0x03>; }; /* Mode 3, Pull-Down */
  106.  
  107. /* P8_44 (ZCZ ball R4 ) hdmi */
  108. P8_44_default_pin: pinmux_P8_44_default_pin {
  109. pinctrl-single,pins = <0x0AC 0x05>; }; /* Mode 5, Pull-Down*/
  110. P8_44_gpio_pin: pinmux_P8_44_gpio_pin {
  111. pinctrl-single,pins = <0x0AC 0x2F>; }; /* Mode 7, RxActive */
  112. P8_44_gpio_pu_pin: pinmux_P8_44_gpio_pu_pin {
  113. pinctrl-single,pins = <0x0AC 0x37>; }; /* Mode 7, Pull-Up, RxActive */
  114. P8_44_gpio_pd_pin: pinmux_P8_44_gpio_pd_pin {
  115. pinctrl-single,pins = <0x0AC 0x27>; }; /* Mode 7, Pull-Down, RxActive */
  116. P8_44_pruout_pin: pinmux_P8_44_pruout_pin {
  117. pinctrl-single,pins = <0x0AC 0x05>; }; /* Mode 5, Pull-Down*/
  118. P8_44_pruin_pin: pinmux_P8_44_pruin_pin {
  119. pinctrl-single,pins = <0x0AC 0x26>; }; /* Mode 6, Pull-Down, RxActive */
  120. P8_44_pwm_pin: pinmux_P8_44_pwm_pin {
  121. pinctrl-single,pins = <0x0AC 0x23>; }; /* Mode 3, Pull-Down, RxActive */
  122.  
  123. /* P8_45 (ZCZ ball R1 ) hdmi */
  124. P8_45_default_pin: pinmux_P8_45_default_pin {
  125. pinctrl-single,pins = <0x0A0 0x05>; }; /* Mode 5, Pull-Down*/
  126. P8_45_gpio_pin: pinmux_P8_45_gpio_pin {
  127. pinctrl-single,pins = <0x0A0 0x2F>; }; /* Mode 7, RxActive */
  128. P8_45_gpio_pu_pin: pinmux_P8_45_gpio_pu_pin {
  129. pinctrl-single,pins = <0x0A0 0x37>; }; /* Mode 7, Pull-Up, RxActive */
  130. P8_45_gpio_pd_pin: pinmux_P8_45_gpio_pd_pin {
  131. pinctrl-single,pins = <0x0A0 0x27>; }; /* Mode 7, Pull-Down, RxActive */
  132. P8_45_pruout_pin: pinmux_P8_45_pruout_pin {
  133. pinctrl-single,pins = <0x0A0 0x05>; }; /* Mode 5, Pull-Down*/
  134. P8_45_pruin_pin: pinmux_P8_45_pruin_pin {
  135. pinctrl-single,pins = <0x0A0 0x26>; }; /* Mode 6, Pull-Down, RxActive */
  136. P8_45_pwm_pin: pinmux_P8_45_pwm_pin {
  137. pinctrl-single,pins = <0x0A0 0x03>; }; /* Mode 3, Pull-Down*/
  138.  
  139. /* P8_46 (ZCZ ball R2 ) hdmi */
  140. P8_46_default_pin: pinmux_P8_46_default_pin {
  141. pinctrl-single,pins = <0x0A4 0x05>; }; /* Mode 5, Pull-Down*/
  142. P8_46_gpio_pin: pinmux_P8_46_gpio_pin {
  143. pinctrl-single,pins = <0x0A4 0x2F>; }; /* Mode 7, RxActive */
  144. P8_46_gpio_pu_pin: pinmux_P8_46_gpio_pu_pin {
  145. pinctrl-single,pins = <0x0A4 0x37>; }; /* Mode 7, Pull-Up, RxActive */
  146. P8_46_gpio_pd_pin: pinmux_P8_46_gpio_pd_pin {
  147. pinctrl-single,pins = <0x0A4 0x27>; }; /* Mode 7, Pull-Down, RxActive */
  148. P8_46_pruout_pin: pinmux_P8_46_pruout_pin {
  149. pinctrl-single,pins = <0x0A4 0x05>; }; /* Mode 5, Pull-Down*/
  150. P8_46_pruin_pin: pinmux_P8_46_pruin_pin {
  151. pinctrl-single,pins = <0x0A4 0x26>; }; /* Mode 6, Pull-Down, RxActive */
  152. P8_46_pwm_pin: pinmux_P8_46_pwm_pin {
  153. pinctrl-single,pins = <0x0A4 0x03>; }; /* Mode 3, Pull-Down*/
  154.  
  155. };
  156. };
  157.  
  158.  
  159. /************************/
  160. /* Pin Multiplexing */
  161. /************************/
  162.  
  163. fragment@1 {
  164. target = <&ocp>;
  165. __overlay__ {
  166.  
  167. P8_39_pinmux { /* hdmi */
  168. compatible = "bone-pinmux-helper";
  169. status = "okay";
  170. pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin", "qep";
  171. pinctrl-0 = <&P8_39_default_pin>;
  172. pinctrl-1 = <&P8_39_gpio_pin>;
  173. pinctrl-2 = <&P8_39_gpio_pu_pin>;
  174. pinctrl-3 = <&P8_39_gpio_pd_pin>;
  175. pinctrl-4 = <&P8_39_pruout_pin>;
  176. pinctrl-5 = <&P8_39_pruin_pin>;
  177. pinctrl-6 = <&P8_39_qep_pin>;
  178. };
  179.  
  180. P8_40_pinmux { /* hdmi */
  181. compatible = "bone-pinmux-helper";
  182. status = "okay";
  183. pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin", "qep";
  184. pinctrl-0 = <&P8_40_default_pin>;
  185. pinctrl-1 = <&P8_40_gpio_pin>;
  186. pinctrl-2 = <&P8_40_gpio_pu_pin>;
  187. pinctrl-3 = <&P8_40_gpio_pd_pin>;
  188. pinctrl-4 = <&P8_40_pruout_pin>;
  189. pinctrl-5 = <&P8_40_pruin_pin>;
  190. pinctrl-6 = <&P8_40_qep_pin>;
  191. };
  192.  
  193. P8_41_pinmux { /* hdmi */
  194. compatible = "bone-pinmux-helper";
  195. status = "okay";
  196. pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin", "qep";
  197. pinctrl-0 = <&P8_41_default_pin>;
  198. pinctrl-1 = <&P8_41_gpio_pin>;
  199. pinctrl-2 = <&P8_41_gpio_pu_pin>;
  200. pinctrl-3 = <&P8_41_gpio_pd_pin>;
  201. pinctrl-4 = <&P8_41_pruout_pin>;
  202. pinctrl-5 = <&P8_41_pruin_pin>;
  203. pinctrl-6 = <&P8_41_qep_pin>;
  204. };
  205.  
  206. P8_42_pinmux { /* hdmi */
  207. compatible = "bone-pinmux-helper";
  208. status = "okay";
  209. pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin", "qep";
  210. pinctrl-0 = <&P8_42_default_pin>;
  211. pinctrl-1 = <&P8_42_gpio_pin>;
  212. pinctrl-2 = <&P8_42_gpio_pu_pin>;
  213. pinctrl-3 = <&P8_42_gpio_pd_pin>;
  214. pinctrl-4 = <&P8_42_pruout_pin>;
  215. pinctrl-5 = <&P8_42_pruin_pin>;
  216. pinctrl-6 = <&P8_42_qep_pin>;
  217. };
  218.  
  219. P8_43_pinmux { /* hdmi */
  220. compatible = "bone-pinmux-helper";
  221. status = "okay";
  222. pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin","pwm";
  223. pinctrl-0 = <&P8_43_default_pin>;
  224. pinctrl-1 = <&P8_43_gpio_pin>;
  225. pinctrl-2 = <&P8_43_gpio_pu_pin>;
  226. pinctrl-3 = <&P8_43_gpio_pd_pin>;
  227. pinctrl-4 = <&P8_43_pruout_pin>;
  228. pinctrl-5 = <&P8_43_pruin_pin>;
  229. pinctrl-6 = <&P8_43_pwm_pin>;
  230. };
  231.  
  232. P8_44_pinmux { /* hdmi */
  233. compatible = "bone-pinmux-helper";
  234. status = "okay";
  235. pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin","pwm";
  236. pinctrl-0 = <&P8_44_default_pin>;
  237. pinctrl-1 = <&P8_44_gpio_pin>;
  238. pinctrl-2 = <&P8_44_gpio_pu_pin>;
  239. pinctrl-3 = <&P8_44_gpio_pd_pin>;
  240. pinctrl-4 = <&P8_44_pruout_pin>;
  241. pinctrl-5 = <&P8_44_pruin_pin>;
  242. pinctrl-6 = <&P8_44_pwm_pin>;
  243. };
  244.  
  245. P8_45_pinmux { /* hdmi */
  246. compatible = "bone-pinmux-helper";
  247. status = "okay";
  248. pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin","pwm";
  249. pinctrl-0 = <&P8_45_default_pin>;
  250. pinctrl-1 = <&P8_45_gpio_pin>;
  251. pinctrl-2 = <&P8_45_gpio_pu_pin>;
  252. pinctrl-3 = <&P8_45_gpio_pd_pin>;
  253. pinctrl-4 = <&P8_45_pruout_pin>;
  254. pinctrl-5 = <&P8_45_pruin_pin>;
  255. pinctrl-6 = <&P8_45_pwm_pin>;
  256. };
  257.  
  258. P8_46_pinmux { /* hdmi */
  259. compatible = "bone-pinmux-helper";
  260. status = "okay";
  261. pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin","pwm";
  262. pinctrl-0 = <&P8_46_default_pin>;
  263. pinctrl-1 = <&P8_46_gpio_pin>;
  264. pinctrl-2 = <&P8_46_gpio_pu_pin>;
  265. pinctrl-3 = <&P8_46_gpio_pd_pin>;
  266. pinctrl-4 = <&P8_46_pruout_pin>;
  267. pinctrl-5 = <&P8_46_pruin_pin>;
  268. pinctrl-6 = <&P8_46_pwm_pin>;
  269. };
  270. };
  271. };
  272.  
  273. fragment@2 {
  274. target = <&ocp>;
  275. __overlay__ {
  276.  
  277. // !!!WARNING!!!
  278. // gpio-of-helper &gpio pointers are off-by-one vs. the hardware:
  279. // hardware GPIO bank 0 = &gpio1
  280. BB-EGPIO {
  281. compatible = "gpio-of-helper";
  282. status = "okay";
  283. pinctrl-names = "default";
  284. pinctrl-0 = <>;
  285.  
  286. P8_39 { /* hdmi */
  287. gpio-name = "P8_39";
  288. gpio = <&gpio3 12 0>;
  289. input;
  290. dir-changeable;
  291. };
  292. P8_40 { /* hdmi */
  293. gpio-name = "P8_40";
  294. gpio = <&gpio3 13 0>;
  295. input;
  296. dir-changeable;
  297. };
  298. P8_41 { /* hdmi */
  299. gpio-name = "P8_41";
  300. gpio = <&gpio3 10 0>;
  301. input;
  302. dir-changeable;
  303. };
  304. P8_42 { /* hdmi */
  305. gpio-name = "P8_42";
  306. gpio = <&gpio3 11 0>;
  307. input;
  308. dir-changeable;
  309. };
  310. P8_43 { /* hdmi */
  311. gpio-name = "P8_43";
  312. gpio = <&gpio3 8 0>;
  313. input;
  314. dir-changeable;
  315. };
  316. P8_44 { /* hdmi */
  317. gpio-name = "P8_44";
  318. gpio = <&gpio3 9 0>;
  319. input;
  320. dir-changeable;
  321. };
  322. P8_45 { /* hdmi */
  323. gpio-name = "P8_45";
  324. gpio = <&gpio3 6 0>;
  325. input;
  326. dir-changeable;
  327. };
  328. P8_46 { /* hdmi */
  329. gpio-name = "P8_46";
  330. gpio = <&gpio3 7 0>;
  331. input;
  332. dir-changeable;
  333. };
  334. };
  335. };
  336. };
  337. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement