am335x-evm.dts 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
  4. */
  5. /dts-v1/;
  6. #include "am33xx.dtsi"
  7. #include <dt-bindings/interrupt-controller/irq.h>
  8. / {
  9. model = "TI AM335x EVM";
  10. compatible = "ti,am335x-evm", "ti,am33xx";
  11. cpus {
  12. cpu@0 {
  13. cpu0-supply = <&vdd1_reg>;
  14. };
  15. };
  16. memory@80000000 {
  17. device_type = "memory";
  18. reg = <0x80000000 0x10000000>; /* 256 MB */
  19. };
  20. chosen {
  21. stdout-path = &uart0;
  22. };
  23. vbat: fixedregulator0 {
  24. compatible = "regulator-fixed";
  25. regulator-name = "vbat";
  26. regulator-min-microvolt = <5000000>;
  27. regulator-max-microvolt = <5000000>;
  28. regulator-boot-on;
  29. };
  30. lis3_reg: fixedregulator1 {
  31. compatible = "regulator-fixed";
  32. regulator-name = "lis3_reg";
  33. regulator-boot-on;
  34. };
  35. wlan_en_reg: fixedregulator2 {
  36. compatible = "regulator-fixed";
  37. regulator-name = "wlan-en-regulator";
  38. regulator-min-microvolt = <1800000>;
  39. regulator-max-microvolt = <1800000>;
  40. /* WLAN_EN GPIO for this board - Bank1, pin16 */
  41. gpio = <&gpio1 16 0>;
  42. /* WLAN card specific delay */
  43. startup-delay-us = <70000>;
  44. enable-active-high;
  45. };
  46. /* TPS79501 */
  47. v1_8d_reg: fixedregulator-v1_8d {
  48. compatible = "regulator-fixed";
  49. regulator-name = "v1_8d";
  50. vin-supply = <&vbat>;
  51. regulator-min-microvolt = <1800000>;
  52. regulator-max-microvolt = <1800000>;
  53. };
  54. /* TPS79501 */
  55. v3_3d_reg: fixedregulator-v3_3d {
  56. compatible = "regulator-fixed";
  57. regulator-name = "v3_3d";
  58. vin-supply = <&vbat>;
  59. regulator-min-microvolt = <3300000>;
  60. regulator-max-microvolt = <3300000>;
  61. };
  62. matrix_keypad: matrix_keypad0 {
  63. compatible = "gpio-matrix-keypad";
  64. debounce-delay-ms = <5>;
  65. col-scan-delay-us = <2>;
  66. row-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH /* Bank1, pin25 */
  67. &gpio1 26 GPIO_ACTIVE_HIGH /* Bank1, pin26 */
  68. &gpio1 27 GPIO_ACTIVE_HIGH>; /* Bank1, pin27 */
  69. col-gpios = <&gpio1 21 GPIO_ACTIVE_HIGH /* Bank1, pin21 */
  70. &gpio1 22 GPIO_ACTIVE_HIGH>; /* Bank1, pin22 */
  71. linux,keymap = <0x0000008b /* MENU */
  72. 0x0100009e /* BACK */
  73. 0x02000069 /* LEFT */
  74. 0x0001006a /* RIGHT */
  75. 0x0101001c /* ENTER */
  76. 0x0201006c>; /* DOWN */
  77. };
  78. gpio_keys: volume-keys {
  79. compatible = "gpio-keys";
  80. autorepeat;
  81. switch-9 {
  82. label = "volume-up";
  83. linux,code = <115>;
  84. gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
  85. wakeup-source;
  86. };
  87. switch-10 {
  88. label = "volume-down";
  89. linux,code = <114>;
  90. gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
  91. wakeup-source;
  92. };
  93. };
  94. backlight: backlight {
  95. compatible = "pwm-backlight";
  96. pwms = <&ecap0 0 50000 0>;
  97. brightness-levels = <0 51 53 56 62 75 101 152 255>;
  98. default-brightness-level = <8>;
  99. };
  100. panel {
  101. compatible = "tfc,s9700rtwv43tr-01b";
  102. pinctrl-names = "default";
  103. pinctrl-0 = <&lcd_pins_s0>;
  104. backlight = <&backlight>;
  105. port {
  106. panel_0: endpoint@0 {
  107. remote-endpoint = <&lcdc_0>;
  108. };
  109. };
  110. };
  111. sound {
  112. compatible = "simple-audio-card";
  113. simple-audio-card,name = "AM335x-EVM";
  114. simple-audio-card,widgets =
  115. "Headphone", "Headphone Jack",
  116. "Line", "Line In";
  117. simple-audio-card,routing =
  118. "Headphone Jack", "HPLOUT",
  119. "Headphone Jack", "HPROUT",
  120. "LINE1L", "Line In",
  121. "LINE1R", "Line In";
  122. simple-audio-card,format = "dsp_b";
  123. simple-audio-card,bitclock-master = <&sound_master>;
  124. simple-audio-card,frame-master = <&sound_master>;
  125. simple-audio-card,bitclock-inversion;
  126. simple-audio-card,cpu {
  127. sound-dai = <&mcasp1>;
  128. };
  129. sound_master: simple-audio-card,codec {
  130. sound-dai = <&tlv320aic3106>;
  131. system-clock-frequency = <12000000>;
  132. };
  133. };
  134. };
  135. &am33xx_pinmux {
  136. pinctrl-names = "default";
  137. pinctrl-0 = <&matrix_keypad_s0 &volume_keys_s0 &clkout2_pin>;
  138. matrix_keypad_s0: matrix_keypad_s0 {
  139. pinctrl-single,pins = <
  140. AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_a5.gpio1_21 */
  141. AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_a6.gpio1_22 */
  142. AM33XX_PADCONF(AM335X_PIN_GPMC_A9, PIN_INPUT_PULLDOWN, MUX_MODE7) /* gpmc_a9.gpio1_25 */
  143. AM33XX_PADCONF(AM335X_PIN_GPMC_A10, PIN_INPUT_PULLDOWN, MUX_MODE7) /* gpmc_a10.gpio1_26 */
  144. AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_INPUT_PULLDOWN, MUX_MODE7) /* gpmc_a11.gpio1_27 */
  145. >;
  146. };
  147. volume_keys_s0: volume_keys_s0 {
  148. pinctrl-single,pins = <
  149. AM33XX_PADCONF(AM335X_PIN_SPI0_SCLK, PIN_INPUT_PULLDOWN, MUX_MODE7) /* spi0_sclk.gpio0_2 */
  150. AM33XX_PADCONF(AM335X_PIN_SPI0_D0, PIN_INPUT_PULLDOWN, MUX_MODE7) /* spi0_d0.gpio0_3 */
  151. >;
  152. };
  153. i2c0_pins: pinmux_i2c0_pins {
  154. pinctrl-single,pins = <
  155. AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0) /* i2c0_sda.i2c0_sda */
  156. AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0) /* i2c0_scl.i2c0_scl */
  157. >;
  158. };
  159. i2c1_pins: pinmux_i2c1_pins {
  160. pinctrl-single,pins = <
  161. AM33XX_PADCONF(AM335X_PIN_SPI0_D1, PIN_INPUT_PULLUP, MUX_MODE2) /* spi0_d1.i2c1_sda */
  162. AM33XX_PADCONF(AM335X_PIN_SPI0_CS0, PIN_INPUT_PULLUP, MUX_MODE2) /* spi0_cs0.i2c1_scl */
  163. >;
  164. };
  165. uart0_pins: pinmux_uart0_pins {
  166. pinctrl-single,pins = <
  167. AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
  168. AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
  169. >;
  170. };
  171. uart1_pins: pinmux_uart1_pins {
  172. pinctrl-single,pins = <
  173. AM33XX_PADCONF(AM335X_PIN_UART1_CTSN, PIN_INPUT, MUX_MODE0)
  174. AM33XX_PADCONF(AM335X_PIN_UART1_RTSN, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
  175. AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
  176. AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
  177. >;
  178. };
  179. clkout2_pin: pinmux_clkout2_pin {
  180. pinctrl-single,pins = <
  181. AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR1, PIN_OUTPUT_PULLDOWN, MUX_MODE3) /* xdma_event_intr1.clkout2 */
  182. >;
  183. };
  184. nandflash_pins_s0: nandflash_pins_s0 {
  185. pinctrl-single,pins = <
  186. AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLUP, MUX_MODE0)
  187. AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLUP, MUX_MODE0)
  188. AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLUP, MUX_MODE0)
  189. AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLUP, MUX_MODE0)
  190. AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLUP, MUX_MODE0)
  191. AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLUP, MUX_MODE0)
  192. AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLUP, MUX_MODE0)
  193. AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLUP, MUX_MODE0)
  194. AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE0)
  195. AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLUP, MUX_MODE7) /* gpmc_wpn.gpio0_31 */
  196. AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_OUTPUT, MUX_MODE0)
  197. AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT, MUX_MODE0)
  198. AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT, MUX_MODE0)
  199. AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_OUTPUT, MUX_MODE0)
  200. AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_OUTPUT, MUX_MODE0)
  201. >;
  202. };
  203. ecap0_pins: backlight_pins {
  204. pinctrl-single,pins = <
  205. AM33XX_PADCONF(AM335X_PIN_ECAP0_IN_PWM0_OUT, 0x0, MUX_MODE0)
  206. >;
  207. };
  208. cpsw_default: cpsw_default {
  209. pinctrl-single,pins = <
  210. /* Slave 1 */
  211. AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txen.rgmii1_tctl */
  212. AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
  213. AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
  214. AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
  215. AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
  216. AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
  217. AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
  218. AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */
  219. AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */
  220. AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */
  221. AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
  222. AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
  223. >;
  224. };
  225. cpsw_sleep: cpsw_sleep {
  226. pinctrl-single,pins = <
  227. /* Slave 1 reset value */
  228. AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLDOWN, MUX_MODE7)
  229. AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE7)
  230. AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
  231. AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
  232. AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
  233. AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
  234. AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
  235. AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
  236. AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
  237. AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
  238. AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
  239. AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
  240. >;
  241. };
  242. davinci_mdio_default: davinci_mdio_default {
  243. pinctrl-single,pins = <
  244. /* MDIO */
  245. AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
  246. AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)
  247. >;
  248. };
  249. davinci_mdio_sleep: davinci_mdio_sleep {
  250. pinctrl-single,pins = <
  251. /* MDIO reset value */
  252. AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLDOWN, MUX_MODE7)
  253. AM33XX_PADCONF(AM335X_PIN_MDC, PIN_INPUT_PULLDOWN, MUX_MODE7)
  254. >;
  255. };
  256. mmc1_pins: pinmux_mmc1_pins {
  257. pinctrl-single,pins = <
  258. AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT, MUX_MODE7) /* spi0_cs1.gpio0_6 */
  259. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0)
  260. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0)
  261. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0)
  262. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
  263. AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
  264. AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
  265. AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKR, PIN_INPUT, MUX_MODE4) /* mcasp0_aclkr.mmc0_sdwp */
  266. >;
  267. };
  268. mmc3_pins: pinmux_mmc3_pins {
  269. pinctrl-single,pins = <
  270. AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_a1.mmc2_dat0, INPUT_PULLUP | MODE3 */
  271. AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_a2.mmc2_dat1, INPUT_PULLUP | MODE3 */
  272. AM33XX_PADCONF(AM335X_PIN_GPMC_A3, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_a3.mmc2_dat2, INPUT_PULLUP | MODE3 */
  273. AM33XX_PADCONF(AM335X_PIN_GPMC_BEN1, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_ben1.mmc2_dat3, INPUT_PULLUP | MODE3 */
  274. AM33XX_PADCONF(AM335X_PIN_GPMC_CSN3, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_csn3.mmc2_cmd, INPUT_PULLUP | MODE3 */
  275. AM33XX_PADCONF(AM335X_PIN_GPMC_CLK, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_clk.mmc2_clk, INPUT_PULLUP | MODE3 */
  276. >;
  277. };
  278. wlan_pins: pinmux_wlan_pins {
  279. pinctrl-single,pins = <
  280. AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_a0.gpio1_16 */
  281. AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKR, PIN_INPUT, MUX_MODE7) /* mcasp0_ahclkr.gpio3_17 */
  282. AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKX, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* mcasp0_ahclkx.gpio3_21 */
  283. >;
  284. };
  285. lcd_pins_s0: lcd_pins_s0 {
  286. pinctrl-single,pins = <
  287. AM33XX_PADCONF(AM335X_PIN_GPMC_AD8, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad8.lcd_data23 */
  288. AM33XX_PADCONF(AM335X_PIN_GPMC_AD9, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad9.lcd_data22 */
  289. AM33XX_PADCONF(AM335X_PIN_GPMC_AD10, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad10.lcd_data21 */
  290. AM33XX_PADCONF(AM335X_PIN_GPMC_AD11, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad11.lcd_data20 */
  291. AM33XX_PADCONF(AM335X_PIN_GPMC_AD12, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad12.lcd_data19 */
  292. AM33XX_PADCONF(AM335X_PIN_GPMC_AD13, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad13.lcd_data18 */
  293. AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad14.lcd_data17 */
  294. AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad15.lcd_data16 */
  295. AM33XX_PADCONF(AM335X_PIN_LCD_DATA0, PIN_OUTPUT, MUX_MODE0)
  296. AM33XX_PADCONF(AM335X_PIN_LCD_DATA1, PIN_OUTPUT, MUX_MODE0)
  297. AM33XX_PADCONF(AM335X_PIN_LCD_DATA2, PIN_OUTPUT, MUX_MODE0)
  298. AM33XX_PADCONF(AM335X_PIN_LCD_DATA3, PIN_OUTPUT, MUX_MODE0)
  299. AM33XX_PADCONF(AM335X_PIN_LCD_DATA4, PIN_OUTPUT, MUX_MODE0)
  300. AM33XX_PADCONF(AM335X_PIN_LCD_DATA5, PIN_OUTPUT, MUX_MODE0)
  301. AM33XX_PADCONF(AM335X_PIN_LCD_DATA6, PIN_OUTPUT, MUX_MODE0)
  302. AM33XX_PADCONF(AM335X_PIN_LCD_DATA7, PIN_OUTPUT, MUX_MODE0)
  303. AM33XX_PADCONF(AM335X_PIN_LCD_DATA8, PIN_OUTPUT, MUX_MODE0)
  304. AM33XX_PADCONF(AM335X_PIN_LCD_DATA9, PIN_OUTPUT, MUX_MODE0)
  305. AM33XX_PADCONF(AM335X_PIN_LCD_DATA10, PIN_OUTPUT, MUX_MODE0)
  306. AM33XX_PADCONF(AM335X_PIN_LCD_DATA11, PIN_OUTPUT, MUX_MODE0)
  307. AM33XX_PADCONF(AM335X_PIN_LCD_DATA12, PIN_OUTPUT, MUX_MODE0)
  308. AM33XX_PADCONF(AM335X_PIN_LCD_DATA13, PIN_OUTPUT, MUX_MODE0)
  309. AM33XX_PADCONF(AM335X_PIN_LCD_DATA14, PIN_OUTPUT, MUX_MODE0)
  310. AM33XX_PADCONF(AM335X_PIN_LCD_DATA15, PIN_OUTPUT, MUX_MODE0)
  311. AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_OUTPUT, MUX_MODE0)
  312. AM33XX_PADCONF(AM335X_PIN_LCD_HSYNC, PIN_OUTPUT, MUX_MODE0)
  313. AM33XX_PADCONF(AM335X_PIN_LCD_PCLK, PIN_OUTPUT, MUX_MODE0)
  314. AM33XX_PADCONF(AM335X_PIN_LCD_AC_BIAS_EN, PIN_OUTPUT, MUX_MODE0)
  315. >;
  316. };
  317. mcasp1_pins: mcasp1_pins {
  318. pinctrl-single,pins = <
  319. AM33XX_PADCONF(AM335X_PIN_MII1_CRS, PIN_INPUT_PULLDOWN, MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
  320. AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLDOWN, MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
  321. AM33XX_PADCONF(AM335X_PIN_MII1_COL, PIN_OUTPUT_PULLDOWN, MUX_MODE4) /* mii1_col.mcasp1_axr2 */
  322. AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLDOWN, MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
  323. >;
  324. };
  325. mcasp1_pins_sleep: mcasp1_pins_sleep {
  326. pinctrl-single,pins = <
  327. AM33XX_PADCONF(AM335X_PIN_MII1_CRS, PIN_INPUT_PULLDOWN, MUX_MODE7)
  328. AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLDOWN, MUX_MODE7)
  329. AM33XX_PADCONF(AM335X_PIN_MII1_COL, PIN_INPUT_PULLDOWN, MUX_MODE7)
  330. AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
  331. >;
  332. };
  333. dcan1_pins_default: dcan1_pins_default {
  334. pinctrl-single,pins = <
  335. AM33XX_PADCONF(AM335X_PIN_UART0_CTSN, PIN_OUTPUT, MUX_MODE2) /* uart0_ctsn.d_can1_tx */
  336. AM33XX_PADCONF(AM335X_PIN_UART0_RTSN, PIN_INPUT_PULLDOWN, MUX_MODE2) /* uart0_rtsn.d_can1_rx */
  337. >;
  338. };
  339. };
  340. &uart0 {
  341. pinctrl-names = "default";
  342. pinctrl-0 = <&uart0_pins>;
  343. status = "okay";
  344. };
  345. &uart1 {
  346. pinctrl-names = "default";
  347. pinctrl-0 = <&uart1_pins>;
  348. status = "okay";
  349. };
  350. &i2c0 {
  351. pinctrl-names = "default";
  352. pinctrl-0 = <&i2c0_pins>;
  353. status = "okay";
  354. clock-frequency = <400000>;
  355. tps: tps@2d {
  356. reg = <0x2d>;
  357. };
  358. };
  359. &usb1 {
  360. dr_mode = "host";
  361. };
  362. &i2c1 {
  363. pinctrl-names = "default";
  364. pinctrl-0 = <&i2c1_pins>;
  365. status = "okay";
  366. clock-frequency = <100000>;
  367. lis331dlh: lis331dlh@18 {
  368. compatible = "st,lis331dlh", "st,lis3lv02d";
  369. reg = <0x18>;
  370. Vdd-supply = <&lis3_reg>;
  371. Vdd_IO-supply = <&lis3_reg>;
  372. st,click-single-x;
  373. st,click-single-y;
  374. st,click-single-z;
  375. st,click-thresh-x = <10>;
  376. st,click-thresh-y = <10>;
  377. st,click-thresh-z = <10>;
  378. st,irq1-click;
  379. st,irq2-click;
  380. st,wakeup-x-lo;
  381. st,wakeup-x-hi;
  382. st,wakeup-y-lo;
  383. st,wakeup-y-hi;
  384. st,wakeup-z-lo;
  385. st,wakeup-z-hi;
  386. st,min-limit-x = <120>;
  387. st,min-limit-y = <120>;
  388. st,min-limit-z = <140>;
  389. st,max-limit-x = <550>;
  390. st,max-limit-y = <550>;
  391. st,max-limit-z = <750>;
  392. };
  393. tsl2550: tsl2550@39 {
  394. compatible = "taos,tsl2550";
  395. reg = <0x39>;
  396. };
  397. tmp275: tmp275@48 {
  398. compatible = "ti,tmp275";
  399. reg = <0x48>;
  400. };
  401. tlv320aic3106: tlv320aic3106@1b {
  402. #sound-dai-cells = <0>;
  403. compatible = "ti,tlv320aic3106";
  404. reg = <0x1b>;
  405. status = "okay";
  406. /* Regulators */
  407. AVDD-supply = <&v3_3d_reg>;
  408. IOVDD-supply = <&v3_3d_reg>;
  409. DRVDD-supply = <&v3_3d_reg>;
  410. DVDD-supply = <&v1_8d_reg>;
  411. };
  412. };
  413. &lcdc {
  414. status = "okay";
  415. blue-and-red-wiring = "crossed";
  416. port {
  417. lcdc_0: endpoint@0 {
  418. remote-endpoint = <&panel_0>;
  419. };
  420. };
  421. };
  422. &elm {
  423. status = "okay";
  424. };
  425. &epwmss0 {
  426. status = "okay";
  427. ecap0: pwm@100 {
  428. status = "okay";
  429. pinctrl-names = "default";
  430. pinctrl-0 = <&ecap0_pins>;
  431. };
  432. };
  433. &gpmc {
  434. status = "okay";
  435. pinctrl-names = "default";
  436. pinctrl-0 = <&nandflash_pins_s0>;
  437. ranges = <0 0 0x08000000 0x1000000>; /* CS0: 16MB for NAND */
  438. nand@0,0 {
  439. compatible = "ti,omap2-nand";
  440. reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
  441. interrupt-parent = <&gpmc>;
  442. interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
  443. <1 IRQ_TYPE_NONE>; /* termcount */
  444. rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
  445. ti,nand-xfer-type = "prefetch-dma";
  446. ti,nand-ecc-opt = "bch8";
  447. ti,elm-id = <&elm>;
  448. nand-bus-width = <8>;
  449. gpmc,device-width = <1>;
  450. gpmc,sync-clk-ps = <0>;
  451. gpmc,cs-on-ns = <0>;
  452. gpmc,cs-rd-off-ns = <44>;
  453. gpmc,cs-wr-off-ns = <44>;
  454. gpmc,adv-on-ns = <6>;
  455. gpmc,adv-rd-off-ns = <34>;
  456. gpmc,adv-wr-off-ns = <44>;
  457. gpmc,we-on-ns = <0>;
  458. gpmc,we-off-ns = <40>;
  459. gpmc,oe-on-ns = <0>;
  460. gpmc,oe-off-ns = <54>;
  461. gpmc,access-ns = <64>;
  462. gpmc,rd-cycle-ns = <82>;
  463. gpmc,wr-cycle-ns = <82>;
  464. gpmc,bus-turnaround-ns = <0>;
  465. gpmc,cycle2cycle-delay-ns = <0>;
  466. gpmc,clk-activation-ns = <0>;
  467. gpmc,wr-access-ns = <40>;
  468. gpmc,wr-data-mux-bus-ns = <0>;
  469. /* MTD partition table */
  470. /* All SPL-* partitions are sized to minimal length
  471. * which can be independently programmable. For
  472. * NAND flash this is equal to size of erase-block */
  473. #address-cells = <1>;
  474. #size-cells = <1>;
  475. partition@0 {
  476. label = "NAND.SPL";
  477. reg = <0x00000000 0x000020000>;
  478. };
  479. partition@1 {
  480. label = "NAND.SPL.backup1";
  481. reg = <0x00020000 0x00020000>;
  482. };
  483. partition@2 {
  484. label = "NAND.SPL.backup2";
  485. reg = <0x00040000 0x00020000>;
  486. };
  487. partition@3 {
  488. label = "NAND.SPL.backup3";
  489. reg = <0x00060000 0x00020000>;
  490. };
  491. partition@4 {
  492. label = "NAND.u-boot-spl-os";
  493. reg = <0x00080000 0x00040000>;
  494. };
  495. partition@5 {
  496. label = "NAND.u-boot";
  497. reg = <0x000C0000 0x00100000>;
  498. };
  499. partition@6 {
  500. label = "NAND.u-boot-env";
  501. reg = <0x001C0000 0x00020000>;
  502. };
  503. partition@7 {
  504. label = "NAND.u-boot-env.backup1";
  505. reg = <0x001E0000 0x00020000>;
  506. };
  507. partition@8 {
  508. label = "NAND.kernel";
  509. reg = <0x00200000 0x00800000>;
  510. };
  511. partition@9 {
  512. label = "NAND.file-system";
  513. reg = <0x00A00000 0x0F600000>;
  514. };
  515. };
  516. };
  517. #include "tps65910.dtsi"
  518. &mcasp1 {
  519. #sound-dai-cells = <0>;
  520. pinctrl-names = "default", "sleep";
  521. pinctrl-0 = <&mcasp1_pins>;
  522. pinctrl-1 = <&mcasp1_pins_sleep>;
  523. status = "okay";
  524. op-mode = <0>; /* MCASP_IIS_MODE */
  525. tdm-slots = <2>;
  526. /* 4 serializers */
  527. serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
  528. 0 0 1 2
  529. >;
  530. tx-num-evt = <32>;
  531. rx-num-evt = <32>;
  532. };
  533. &tps {
  534. vcc1-supply = <&vbat>;
  535. vcc2-supply = <&vbat>;
  536. vcc3-supply = <&vbat>;
  537. vcc4-supply = <&vbat>;
  538. vcc5-supply = <&vbat>;
  539. vcc6-supply = <&vbat>;
  540. vcc7-supply = <&vbat>;
  541. vccio-supply = <&vbat>;
  542. regulators {
  543. vrtc_reg: regulator@0 {
  544. regulator-always-on;
  545. };
  546. vio_reg: regulator@1 {
  547. regulator-always-on;
  548. };
  549. vdd1_reg: regulator@2 {
  550. /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
  551. regulator-name = "vdd_mpu";
  552. regulator-min-microvolt = <912500>;
  553. regulator-max-microvolt = <1351500>;
  554. regulator-boot-on;
  555. regulator-always-on;
  556. };
  557. vdd2_reg: regulator@3 {
  558. /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
  559. regulator-name = "vdd_core";
  560. regulator-min-microvolt = <912500>;
  561. regulator-max-microvolt = <1150000>;
  562. regulator-boot-on;
  563. regulator-always-on;
  564. };
  565. vdd3_reg: regulator@4 {
  566. regulator-always-on;
  567. };
  568. vdig1_reg: regulator@5 {
  569. regulator-always-on;
  570. };
  571. vdig2_reg: regulator@6 {
  572. regulator-always-on;
  573. };
  574. vpll_reg: regulator@7 {
  575. regulator-always-on;
  576. };
  577. vdac_reg: regulator@8 {
  578. regulator-always-on;
  579. };
  580. vaux1_reg: regulator@9 {
  581. regulator-always-on;
  582. };
  583. vaux2_reg: regulator@10 {
  584. regulator-always-on;
  585. };
  586. vaux33_reg: regulator@11 {
  587. regulator-always-on;
  588. };
  589. vmmc_reg: regulator@12 {
  590. regulator-min-microvolt = <1800000>;
  591. regulator-max-microvolt = <3300000>;
  592. regulator-always-on;
  593. };
  594. };
  595. };
  596. &mac_sw {
  597. pinctrl-names = "default", "sleep";
  598. pinctrl-0 = <&cpsw_default>;
  599. pinctrl-1 = <&cpsw_sleep>;
  600. status = "okay";
  601. };
  602. &davinci_mdio_sw {
  603. pinctrl-names = "default", "sleep";
  604. pinctrl-0 = <&davinci_mdio_default>;
  605. pinctrl-1 = <&davinci_mdio_sleep>;
  606. ethphy0: ethernet-phy@0 {
  607. reg = <0>;
  608. };
  609. };
  610. &cpsw_port1 {
  611. phy-handle = <&ethphy0>;
  612. phy-mode = "rgmii-id";
  613. ti,dual-emac-pvid = <1>;
  614. };
  615. &cpsw_port2 {
  616. status = "disabled";
  617. };
  618. &tscadc {
  619. status = "okay";
  620. tsc {
  621. ti,wires = <4>;
  622. ti,x-plate-resistance = <200>;
  623. ti,coordinate-readouts = <5>;
  624. ti,wire-config = <0x00 0x11 0x22 0x33>;
  625. ti,charge-delay = <0x400>;
  626. };
  627. adc {
  628. ti,adc-channels = <4 5 6 7>;
  629. };
  630. };
  631. &mmc1 {
  632. status = "okay";
  633. vmmc-supply = <&vmmc_reg>;
  634. bus-width = <4>;
  635. pinctrl-names = "default";
  636. pinctrl-0 = <&mmc1_pins>;
  637. cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
  638. };
  639. &mmc3 {
  640. /* these are on the crossbar and are outlined in the
  641. xbar-event-map element */
  642. dmas = <&edma_xbar 12 0 1
  643. &edma_xbar 13 0 2>;
  644. dma-names = "tx", "rx";
  645. status = "okay";
  646. vmmc-supply = <&wlan_en_reg>;
  647. bus-width = <4>;
  648. pinctrl-names = "default";
  649. pinctrl-0 = <&mmc3_pins &wlan_pins>;
  650. non-removable;
  651. cap-power-off-card;
  652. keep-power-in-suspend;
  653. #address-cells = <1>;
  654. #size-cells = <0>;
  655. wlcore: wlcore@0 {
  656. compatible = "ti,wl1835";
  657. reg = <2>;
  658. interrupt-parent = <&gpio3>;
  659. interrupts = <17 IRQ_TYPE_EDGE_RISING>;
  660. };
  661. };
  662. &sham {
  663. status = "okay";
  664. };
  665. &aes {
  666. status = "okay";
  667. };
  668. &dcan1 {
  669. status = "disabled"; /* Enable only if Profile 1 is selected */
  670. pinctrl-names = "default";
  671. pinctrl-0 = <&dcan1_pins_default>;
  672. };
  673. &rtc {
  674. clocks = <&clk_32768_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
  675. clock-names = "ext-clk", "int-clk";
  676. };
  677. &pruss_tm {
  678. status = "okay";
  679. };
  680. &wkup_m3_ipc {
  681. firmware-name = "am335x-evm-scale-data.bin";
  682. };