am335x-pocketbeagle.dts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
  4. *
  5. * Author: Robert Nelson <[email protected]>
  6. */
  7. /dts-v1/;
  8. #include "am33xx.dtsi"
  9. #include "am335x-osd335x-common.dtsi"
  10. / {
  11. model = "TI AM335x PocketBeagle";
  12. compatible = "ti,am335x-pocketbeagle", "ti,am335x-bone", "ti,am33xx";
  13. chosen {
  14. stdout-path = &uart0;
  15. };
  16. leds {
  17. pinctrl-names = "default";
  18. pinctrl-0 = <&usr_leds_pins>;
  19. compatible = "gpio-leds";
  20. usr0 {
  21. label = "beaglebone:green:usr0";
  22. gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
  23. linux,default-trigger = "heartbeat";
  24. default-state = "off";
  25. };
  26. usr1 {
  27. label = "beaglebone:green:usr1";
  28. gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
  29. linux,default-trigger = "mmc0";
  30. default-state = "off";
  31. };
  32. usr2 {
  33. label = "beaglebone:green:usr2";
  34. gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
  35. linux,default-trigger = "cpu0";
  36. default-state = "off";
  37. };
  38. usr3 {
  39. label = "beaglebone:green:usr3";
  40. gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
  41. default-state = "off";
  42. };
  43. };
  44. vmmcsd_fixed: fixedregulator0 {
  45. compatible = "regulator-fixed";
  46. regulator-name = "vmmcsd_fixed";
  47. regulator-min-microvolt = <3300000>;
  48. regulator-max-microvolt = <3300000>;
  49. };
  50. };
  51. &gpio0 {
  52. gpio-line-names =
  53. "NC",
  54. "NC",
  55. "P1.08 [SPI0_CLK]",
  56. "P1.10 [SPI0_MISO]",
  57. "P1.12 [SPI0_MOSI]",
  58. "P1.06 [SPI0_CS]",
  59. "[MMC0_CD]",
  60. "P2.29 [SPI1_CLK]",
  61. "[SYSBOOT 12]",
  62. "[SYSBOOT 13]",
  63. "[SYSBOOT 14]",
  64. "[SYSBOOT 15]",
  65. "P1.26 [I2C2_SDA]",
  66. "P1.28 [I2C2_SCL]",
  67. "P2.11 [I2C1_SDA]",
  68. "P2.09 [I2C1_SCL]",
  69. "NC",
  70. "NC",
  71. "NC",
  72. "P2.31 [SPI1_CS]",
  73. "P1.20 [PRU0.16]",
  74. "NC",
  75. "NC",
  76. "P2.03",
  77. "NC",
  78. "NC",
  79. "P1.34",
  80. "P2.19",
  81. "NC",
  82. "NC",
  83. "P2.05 [UART4_RX]",
  84. "P2.07 [UART4_TX]";
  85. };
  86. &gpio1 {
  87. gpio-line-names =
  88. "NC",
  89. "NC",
  90. "NC",
  91. "NC",
  92. "NC",
  93. "NC",
  94. "NC",
  95. "NC",
  96. "NC",
  97. "P2.25 [SPI1_MOSI]",
  98. "P1.32 [UART0_RX]",
  99. "P1.30 [UART0_TX]",
  100. "P2.24",
  101. "P2.33",
  102. "P2.22",
  103. "P2.18",
  104. "NC",
  105. "NC",
  106. "P2.01 [PWM1A]",
  107. "NC",
  108. "P2.10",
  109. "[USR LED 0]",
  110. "[USR LED 1]",
  111. "[USR LED 2]",
  112. "[USR LED 3]",
  113. "P2.06",
  114. "P2.04",
  115. "P2.02",
  116. "P2.08",
  117. "NC",
  118. "NC",
  119. "NC";
  120. };
  121. &gpio2 {
  122. gpio-line-names =
  123. "P2.20",
  124. "P2.17",
  125. "NC",
  126. "NC",
  127. "NC",
  128. "[EEPROM_WP]",
  129. "[SYSBOOT 0]",
  130. "[SYSBOOT 1]",
  131. "[SYSBOOT 2]",
  132. "[SYSBOOT 3]",
  133. "[SYSBOOT 4]",
  134. "[SYSBOOT 5]",
  135. "[SYSBOOT 6]",
  136. "[SYSBOOT 7]",
  137. "[SYSBOOT 8]",
  138. "[SYSBOOT 9]",
  139. "[SYSBOOT 10]",
  140. "[SYSBOOT 11]",
  141. "NC",
  142. "NC",
  143. "NC",
  144. "NC",
  145. "P2.35 [AIN5]",
  146. "P1.02 [AIN6]",
  147. "P1.35 [PRU1.10]",
  148. "P1.04 [PRU1.11]",
  149. "[MMC0_DAT3]",
  150. "[MMC0_DAT2]",
  151. "[MMC0_DAT1]",
  152. "[MMC0_DAT0]",
  153. "[MMC0_CLK]",
  154. "[MMC0_CMD]";
  155. };
  156. &gpio3 {
  157. gpio-line-names =
  158. "NC",
  159. "NC",
  160. "NC",
  161. "NC",
  162. "NC",
  163. "[I2C0_SDA]",
  164. "[I2C0_SCL]",
  165. "[JTAG EMU0]",
  166. "[JTAG EMU1]",
  167. "NC",
  168. "NC",
  169. "NC",
  170. "NC",
  171. "P1.03 [USB1]",
  172. "P1.36 [PWM0A]",
  173. "P1.33 [PRU0.1]",
  174. "P2.32 [PRU0.2]",
  175. "P2.30 [PRU0.3]",
  176. "P1.31 [PRU0.4]",
  177. "P2.34 [PRU0.5]",
  178. "P2.28 [PRU0.6]",
  179. "P1.29 [PRU0.7]",
  180. "NC",
  181. "NC",
  182. "NC",
  183. "NC",
  184. "NC",
  185. "NC",
  186. "NC",
  187. "NC",
  188. "NC",
  189. "NC";
  190. };
  191. &am33xx_pinmux {
  192. compatible = "pinconf-single";
  193. pinctrl-names = "default";
  194. pinctrl-0 = < &P2_03_gpio &P1_34_gpio &P2_19_gpio &P2_24_gpio
  195. &P2_33_gpio &P2_22_gpio &P2_18_gpio &P2_10_gpio
  196. &P2_06_gpio &P2_04_gpio &P2_02_gpio &P2_08_gpio
  197. &P2_17_gpio >;
  198. /* P2_03 (ZCZ ball T10) gpio0_23 0x824 PIN 9 */
  199. P2_03_gpio: pinmux_P2_03_gpio {
  200. pinctrl-single,pins = <
  201. AM33XX_PADCONF(AM335X_PIN_GPMC_AD9, PIN_INPUT_PULLUP, MUX_MODE7)
  202. >;
  203. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  204. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  205. };
  206. /* P1_34 (ZCZ ball T11) gpio0_26 0x828 PIN 10 */
  207. P1_34_gpio: pinmux_P1_34_gpio {
  208. pinctrl-single,pins = <
  209. AM33XX_PADCONF(AM335X_PIN_GPMC_AD10, PIN_INPUT_PULLUP, MUX_MODE7)
  210. >;
  211. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  212. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  213. };
  214. /* P2_19 (ZCZ ball U12) gpio0_27 0x82c PIN 11 */
  215. P2_19_gpio: pinmux_P2_19_gpio {
  216. pinctrl-single,pins = <
  217. AM33XX_PADCONF(AM335X_PIN_GPMC_AD11, PIN_INPUT_PULLUP, MUX_MODE7)
  218. >;
  219. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  220. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  221. };
  222. /* P2_24 (ZCZ ball T12) gpio1_12 0x830 PIN 12 */
  223. P2_24_gpio: pinmux_P2_24_gpio {
  224. pinctrl-single,pins = <
  225. AM33XX_PADCONF(AM335X_PIN_GPMC_AD12, PIN_INPUT_PULLUP, MUX_MODE7)
  226. >;
  227. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  228. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  229. };
  230. /* P2_33 (ZCZ ball R12) gpio1_13 0x834 PIN 13 */
  231. P2_33_gpio: pinmux_P2_33_gpio {
  232. pinctrl-single,pins = <
  233. AM33XX_PADCONF(AM335X_PIN_GPMC_AD13, PIN_INPUT_PULLUP, MUX_MODE7)
  234. >;
  235. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  236. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  237. };
  238. /* P2_22 (ZCZ ball V13) gpio1_14 0x838 PIN 14 */
  239. P2_22_gpio: pinmux_P2_22_gpio {
  240. pinctrl-single,pins = <
  241. AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_INPUT_PULLUP, MUX_MODE7)
  242. >;
  243. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  244. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  245. };
  246. /* P2_18 (ZCZ ball U13) gpio1_15 0x83c PIN 15 */
  247. P2_18_gpio: pinmux_P2_18_gpio {
  248. pinctrl-single,pins = <
  249. AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_INPUT_PULLUP, MUX_MODE7)
  250. >;
  251. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  252. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  253. };
  254. /* P2_10 (ZCZ ball R14) gpio1_20 0x850 PIN 20 */
  255. P2_10_gpio: pinmux_P2_10_gpio {
  256. pinctrl-single,pins = <
  257. AM33XX_PADCONF(AM335X_PIN_GPMC_A4, PIN_INPUT_PULLUP, MUX_MODE7)
  258. >;
  259. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  260. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  261. };
  262. /* P2_06 (ZCZ ball U16) gpio1_25 0x864 PIN 25 */
  263. P2_06_gpio: pinmux_P2_06_gpio {
  264. pinctrl-single,pins = <
  265. AM33XX_PADCONF(AM335X_PIN_GPMC_A9, PIN_INPUT_PULLUP, MUX_MODE7)
  266. >;
  267. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  268. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  269. };
  270. /* P2_04 (ZCZ ball T16) gpio1_26 0x868 PIN 26 */
  271. P2_04_gpio: pinmux_P2_04_gpio {
  272. pinctrl-single,pins = <
  273. AM33XX_PADCONF(AM335X_PIN_GPMC_A10, PIN_INPUT_PULLUP, MUX_MODE7)
  274. >;
  275. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  276. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  277. };
  278. /* P2_02 (ZCZ ball V17) gpio1_27 0x86c PIN 27 */
  279. P2_02_gpio: pinmux_P2_02_gpio {
  280. pinctrl-single,pins = <
  281. AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_INPUT_PULLUP, MUX_MODE7)
  282. >;
  283. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  284. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  285. };
  286. /* P2_08 (ZCZ ball U18) gpio1_28 0x878 PIN 30 */
  287. P2_08_gpio: pinmux_P2_08_gpio {
  288. pinctrl-single,pins = <
  289. AM33XX_PADCONF(AM335X_PIN_GPMC_BEN1, PIN_INPUT_PULLDOWN, MUX_MODE7)
  290. >;
  291. pinctrl-single,bias-pullup = < 0x00 0x10 0x00 0x18>;
  292. pinctrl-single,bias-pulldown = < 0x00 0x00 0x10 0x18>;
  293. };
  294. /* P2_17 (ZCZ ball V12) gpio2_1 0x88c PIN 35 */
  295. P2_17_gpio: pinmux_P2_17_gpio {
  296. pinctrl-single,pins = <
  297. AM33XX_PADCONF(AM335X_PIN_GPMC_CLK, PIN_INPUT_PULLUP, MUX_MODE7)
  298. >;
  299. pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>;
  300. pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>;
  301. };
  302. i2c2_pins: pinmux-i2c2-pins {
  303. pinctrl-single,pins = <
  304. AM33XX_PADCONF(AM335X_PIN_UART1_RTSN, PIN_INPUT_PULLUP, MUX_MODE3) /* (D17) uart1_rtsn.I2C2_SCL */
  305. AM33XX_PADCONF(AM335X_PIN_UART1_CTSN, PIN_INPUT_PULLUP, MUX_MODE3) /* (D18) uart1_ctsn.I2C2_SDA */
  306. >;
  307. };
  308. ehrpwm0_pins: pinmux-ehrpwm0-pins {
  309. pinctrl-single,pins = <
  310. AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKX, PIN_OUTPUT_PULLDOWN, MUX_MODE1) /* (A13) mcasp0_aclkx.ehrpwm0A */
  311. >;
  312. };
  313. ehrpwm1_pins: pinmux-ehrpwm1-pins {
  314. pinctrl-single,pins = <
  315. AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_OUTPUT_PULLDOWN, MUX_MODE6) /* (U14) gpmc_a2.ehrpwm1A */
  316. >;
  317. };
  318. mmc0_pins: pinmux-mmc0-pins {
  319. pinctrl-single,pins = <
  320. AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT, MUX_MODE7) /* (C15) spi0_cs1.gpio0[6] */
  321. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0)
  322. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0)
  323. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0)
  324. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
  325. AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
  326. AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
  327. >;
  328. };
  329. spi0_pins: pinmux-spi0-pins {
  330. pinctrl-single,pins = <
  331. AM33XX_PADCONF(AM335X_PIN_SPI0_SCLK, PIN_INPUT_PULLUP, MUX_MODE0)
  332. AM33XX_PADCONF(AM335X_PIN_SPI0_D0, PIN_INPUT_PULLUP, MUX_MODE0)
  333. AM33XX_PADCONF(AM335X_PIN_SPI0_D1, PIN_INPUT_PULLUP, MUX_MODE0)
  334. AM33XX_PADCONF(AM335X_PIN_SPI0_CS0, PIN_INPUT_PULLUP, MUX_MODE0)
  335. >;
  336. };
  337. spi1_pins: pinmux-spi1-pins {
  338. pinctrl-single,pins = <
  339. AM33XX_PADCONF(AM335X_PIN_ECAP0_IN_PWM0_OUT, PIN_INPUT_PULLUP, MUX_MODE4) /* (C18) eCAP0_in_PWM0_out.spi1_sclk */
  340. AM33XX_PADCONF(AM335X_PIN_UART0_CTSN, PIN_INPUT_PULLUP, MUX_MODE4) /* (E18) uart0_ctsn.spi1_d0 */
  341. AM33XX_PADCONF(AM335X_PIN_UART0_RTSN, PIN_INPUT_PULLUP, MUX_MODE4) /* (E17) uart0_rtsn.spi1_d1 */
  342. AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR0, PIN_INPUT_PULLUP, MUX_MODE4) /* (A15) xdma_event_intr0.spi1_cs1 */
  343. >;
  344. };
  345. usr_leds_pins: pinmux-usr-leds-pins {
  346. pinctrl-single,pins = <
  347. AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT, MUX_MODE7) /* (V15) gpmc_a5.gpio1[21] - USR_LED_0 */
  348. AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_OUTPUT, MUX_MODE7) /* (U15) gpmc_a6.gpio1[22] - USR_LED_1 */
  349. AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_OUTPUT, MUX_MODE7) /* (T15) gpmc_a7.gpio1[23] - USR_LED_2 */
  350. AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_OUTPUT, MUX_MODE7) /* (V16) gpmc_a8.gpio1[24] - USR_LED_3 */
  351. >;
  352. };
  353. uart0_pins: pinmux-uart0-pins {
  354. pinctrl-single,pins = <
  355. AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
  356. AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
  357. >;
  358. };
  359. uart4_pins: pinmux-uart4-pins {
  360. pinctrl-single,pins = <
  361. AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE6) /* (T17) gpmc_wait0.uart4_rxd */
  362. AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_OUTPUT_PULLDOWN, MUX_MODE6) /* (U17) gpmc_wpn.uart4_txd */
  363. >;
  364. };
  365. };
  366. &epwmss0 {
  367. status = "okay";
  368. };
  369. &ehrpwm0 {
  370. status = "okay";
  371. pinctrl-names = "default";
  372. pinctrl-0 = <&ehrpwm0_pins>;
  373. };
  374. &epwmss1 {
  375. status = "okay";
  376. };
  377. &ehrpwm1 {
  378. status = "okay";
  379. pinctrl-names = "default";
  380. pinctrl-0 = <&ehrpwm1_pins>;
  381. };
  382. &i2c0 {
  383. eeprom: eeprom@50 {
  384. compatible = "atmel,24c256";
  385. reg = <0x50>;
  386. };
  387. };
  388. &i2c2 {
  389. pinctrl-names = "default";
  390. pinctrl-0 = <&i2c2_pins>;
  391. status = "okay";
  392. clock-frequency = <400000>;
  393. };
  394. &mmc1 {
  395. status = "okay";
  396. vmmc-supply = <&vmmcsd_fixed>;
  397. bus-width = <4>;
  398. pinctrl-names = "default";
  399. pinctrl-0 = <&mmc0_pins>;
  400. cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
  401. };
  402. &rtc {
  403. system-power-controller;
  404. };
  405. &tscadc {
  406. status = "okay";
  407. adc {
  408. ti,adc-channels = <0 1 2 3 4 5 6 7>;
  409. ti,chan-step-avg = <16 16 16 16 16 16 16 16>;
  410. ti,chan-step-opendelay = <0x98 0x98 0x98 0x98 0x98 0x98 0x98 0x98>;
  411. ti,chan-step-sampledelay = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
  412. };
  413. };
  414. &uart0 {
  415. pinctrl-names = "default";
  416. pinctrl-0 = <&uart0_pins>;
  417. status = "okay";
  418. };
  419. &uart4 {
  420. pinctrl-names = "default";
  421. pinctrl-0 = <&uart4_pins>;
  422. status = "okay";
  423. };
  424. &usb0 {
  425. dr_mode = "otg";
  426. };
  427. &usb1 {
  428. dr_mode = "host";
  429. };