am335x-pepper.dts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2014 Gumstix, Inc. - https://www.gumstix.com/
  4. */
  5. /dts-v1/;
  6. #include <dt-bindings/input/input.h>
  7. #include "am33xx.dtsi"
  8. / {
  9. model = "Gumstix Pepper";
  10. compatible = "gumstix,am335x-pepper", "ti,am33xx";
  11. cpus {
  12. cpu@0 {
  13. cpu0-supply = <&dcdc3_reg>;
  14. };
  15. };
  16. memory@80000000 {
  17. device_type = "memory";
  18. reg = <0x80000000 0x20000000>; /* 512 MB */
  19. };
  20. buttons: user_buttons {
  21. compatible = "gpio-keys";
  22. };
  23. leds: user_leds {
  24. compatible = "gpio-leds";
  25. };
  26. panel: lcd_panel {
  27. compatible = "ti,tilcdc,panel";
  28. };
  29. sound: sound_iface {
  30. compatible = "ti,da830-evm-audio";
  31. };
  32. vbat: fixedregulator0 {
  33. compatible = "regulator-fixed";
  34. };
  35. v3v3c_reg: fixedregulator1 {
  36. compatible = "regulator-fixed";
  37. };
  38. vdd5_reg: fixedregulator2 {
  39. compatible = "regulator-fixed";
  40. };
  41. };
  42. /* I2C Busses */
  43. &i2c0 {
  44. status = "okay";
  45. pinctrl-names = "default";
  46. pinctrl-0 = <&i2c0_pins>;
  47. clock-frequency = <400000>;
  48. tps: tps@24 {
  49. reg = <0x24>;
  50. };
  51. eeprom: eeprom@50 {
  52. compatible = "atmel,24c256";
  53. reg = <0x50>;
  54. };
  55. audio_codec: tlv320aic3106@1b {
  56. compatible = "ti,tlv320aic3106";
  57. reg = <0x1b>;
  58. ai3x-micbias-vg = <0x2>;
  59. };
  60. accel: lis331dlh@1d {
  61. compatible = "st,lis3lv02d";
  62. reg = <0x1d>;
  63. };
  64. };
  65. &i2c1 {
  66. status = "okay";
  67. pinctrl-names = "default";
  68. pinctrl-0 = <&i2c1_pins>;
  69. clock-frequency = <400000>;
  70. };
  71. &am33xx_pinmux {
  72. i2c0_pins: pinmux_i2c0 {
  73. pinctrl-single,pins = <
  74. AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0)
  75. AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0)
  76. >;
  77. };
  78. i2c1_pins: pinmux_i2c1 {
  79. pinctrl-single,pins = <
  80. AM33XX_PADCONF(AM335X_PIN_MII1_CRS, PIN_INPUT_PULLUP, MUX_MODE3) /* mii1_crs,i2c1_sda */
  81. AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLUP, MUX_MODE3) /* mii1_rxerr,i2c1_scl */
  82. >;
  83. };
  84. };
  85. /* Accelerometer */
  86. &accel {
  87. pinctrl-names = "default";
  88. pinctrl-0 = <&accel_pins>;
  89. Vdd-supply = <&ldo3_reg>;
  90. Vdd_IO-supply = <&ldo3_reg>;
  91. st,irq1-click;
  92. st,wakeup-x-lo;
  93. st,wakeup-x-hi;
  94. st,wakeup-y-lo;
  95. st,wakeup-y-hi;
  96. st,wakeup-z-lo;
  97. st,wakeup-z-hi;
  98. st,min-limit-x = <92>;
  99. st,max-limit-x = <14>;
  100. st,min-limit-y = <14>;
  101. st,max-limit-y = <92>;
  102. st,min-limit-z = <92>;
  103. st,max-limit-z = <14>;
  104. };
  105. &am33xx_pinmux {
  106. accel_pins: pinmux_accel {
  107. pinctrl-single,pins = <
  108. AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_INPUT, MUX_MODE7) /* gpmc_wen.gpio2_4 */
  109. >;
  110. };
  111. };
  112. /* Audio */
  113. &audio_codec {
  114. status = "okay";
  115. reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
  116. AVDD-supply = <&ldo3_reg>;
  117. IOVDD-supply = <&ldo3_reg>;
  118. DRVDD-supply = <&ldo3_reg>;
  119. DVDD-supply = <&dcdc1_reg>;
  120. };
  121. &sound {
  122. ti,model = "AM335x-EVM";
  123. ti,audio-codec = <&audio_codec>;
  124. ti,mcasp-controller = <&mcasp0>;
  125. ti,codec-clock-rate = <12000000>;
  126. ti,audio-routing =
  127. "Headphone Jack", "HPLOUT",
  128. "Headphone Jack", "HPROUT",
  129. "MIC3L", "Mic3L Switch";
  130. };
  131. &mcasp0 {
  132. status = "okay";
  133. pinctrl-names = "default";
  134. pinctrl-0 = <&audio_pins>;
  135. op-mode = <0>; /* MCASP_ISS_MODE */
  136. tdm-slots = <2>;
  137. serial-dir = <
  138. 1 2 0 0
  139. 0 0 0 0
  140. 0 0 0 0
  141. 0 0 0 0
  142. >;
  143. tx-num-evt = <1>;
  144. rx-num-evt = <1>;
  145. };
  146. &am33xx_pinmux {
  147. audio_pins: pinmux_audio {
  148. pinctrl-single,pins = <
  149. AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKX, PIN_INPUT_PULLDOWN, MUX_MODE0)
  150. AM33XX_PADCONF(AM335X_PIN_MCASP0_FSX, PIN_INPUT_PULLDOWN, MUX_MODE0)
  151. AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKX, PIN_INPUT_PULLDOWN, MUX_MODE0)
  152. AM33XX_PADCONF(AM335X_PIN_MCASP0_AXR0, PIN_INPUT_PULLDOWN, MUX_MODE0)
  153. AM33XX_PADCONF(AM335X_PIN_MCASP0_AXR1, PIN_INPUT_PULLDOWN, MUX_MODE0)
  154. AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_OUTPUT, MUX_MODE7) /* gpmc_a0.gpio1_16 */
  155. >;
  156. };
  157. };
  158. /* Display: 24-bit LCD Screen */
  159. &panel {
  160. status = "okay";
  161. pinctrl-names = "default";
  162. pinctrl-0 = <&lcd_pins>;
  163. panel-info {
  164. ac-bias = <255>;
  165. ac-bias-intrpt = <0>;
  166. dma-burst-sz = <16>;
  167. bpp = <32>;
  168. fdd = <0x80>;
  169. sync-edge = <0>;
  170. sync-ctrl = <1>;
  171. raster-order = <0>;
  172. fifo-th = <0>;
  173. };
  174. display-timings {
  175. native-mode = <&timing0>;
  176. timing0: 480x272 {
  177. clock-frequency = <18400000>;
  178. hactive = <480>;
  179. vactive = <272>;
  180. hfront-porch = <8>;
  181. hback-porch = <4>;
  182. hsync-len = <41>;
  183. vfront-porch = <4>;
  184. vback-porch = <2>;
  185. vsync-len = <10>;
  186. hsync-active = <1>;
  187. vsync-active = <1>;
  188. };
  189. };
  190. };
  191. &lcdc {
  192. status = "okay";
  193. };
  194. &am33xx_pinmux {
  195. lcd_pins: pinmux_lcd {
  196. pinctrl-single,pins = <
  197. AM33XX_PADCONF(AM335X_PIN_LCD_DATA0, PIN_OUTPUT, MUX_MODE0)
  198. AM33XX_PADCONF(AM335X_PIN_LCD_DATA1, PIN_OUTPUT, MUX_MODE0)
  199. AM33XX_PADCONF(AM335X_PIN_LCD_DATA2, PIN_OUTPUT, MUX_MODE0)
  200. AM33XX_PADCONF(AM335X_PIN_LCD_DATA3, PIN_OUTPUT, MUX_MODE0)
  201. AM33XX_PADCONF(AM335X_PIN_LCD_DATA4, PIN_OUTPUT, MUX_MODE0)
  202. AM33XX_PADCONF(AM335X_PIN_LCD_DATA5, PIN_OUTPUT, MUX_MODE0)
  203. AM33XX_PADCONF(AM335X_PIN_LCD_DATA6, PIN_OUTPUT, MUX_MODE0)
  204. AM33XX_PADCONF(AM335X_PIN_LCD_DATA7, PIN_OUTPUT, MUX_MODE0)
  205. AM33XX_PADCONF(AM335X_PIN_LCD_DATA8, PIN_OUTPUT, MUX_MODE0)
  206. AM33XX_PADCONF(AM335X_PIN_LCD_DATA9, PIN_OUTPUT, MUX_MODE0)
  207. AM33XX_PADCONF(AM335X_PIN_LCD_DATA10, PIN_OUTPUT, MUX_MODE0)
  208. AM33XX_PADCONF(AM335X_PIN_LCD_DATA11, PIN_OUTPUT, MUX_MODE0)
  209. AM33XX_PADCONF(AM335X_PIN_LCD_DATA12, PIN_OUTPUT, MUX_MODE0)
  210. AM33XX_PADCONF(AM335X_PIN_LCD_DATA13, PIN_OUTPUT, MUX_MODE0)
  211. AM33XX_PADCONF(AM335X_PIN_LCD_DATA14, PIN_OUTPUT, MUX_MODE0)
  212. AM33XX_PADCONF(AM335X_PIN_LCD_DATA15, PIN_OUTPUT, MUX_MODE0)
  213. AM33XX_PADCONF(AM335X_PIN_GPMC_AD8, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad8.lcd_data16 */
  214. AM33XX_PADCONF(AM335X_PIN_GPMC_AD9, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad9.lcd_data17 */
  215. AM33XX_PADCONF(AM335X_PIN_GPMC_AD10, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad10.lcd_data18 */
  216. AM33XX_PADCONF(AM335X_PIN_GPMC_AD11, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad11.lcd_data19 */
  217. AM33XX_PADCONF(AM335X_PIN_GPMC_AD12, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad12.lcd_data20 */
  218. AM33XX_PADCONF(AM335X_PIN_GPMC_AD13, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad13.lcd_data21 */
  219. AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad14.lcd_data22 */
  220. AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_OUTPUT, MUX_MODE1) /* gpmc_ad15.lcd_data23 */
  221. AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_OUTPUT, MUX_MODE0)
  222. AM33XX_PADCONF(AM335X_PIN_LCD_HSYNC, PIN_OUTPUT, MUX_MODE0)
  223. AM33XX_PADCONF(AM335X_PIN_LCD_PCLK, PIN_OUTPUT, MUX_MODE0)
  224. AM33XX_PADCONF(AM335X_PIN_LCD_AC_BIAS_EN, PIN_OUTPUT, MUX_MODE0)
  225. /* Display Enable */
  226. AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_OUTPUT_PULLUP, MUX_MODE7) /* gpmc_a11.gpio1_27 */
  227. >;
  228. };
  229. };
  230. /* Ethernet */
  231. &cpsw_port1 {
  232. phy-handle = <&ethphy0>;
  233. phy-mode = "rgmii";
  234. ti,dual-emac-pvid = <1>;
  235. };
  236. &cpsw_port2 {
  237. phy-handle = <&ethphy1>;
  238. phy-mode = "rgmii";
  239. ti,dual-emac-pvid = <2>;
  240. };
  241. &davinci_mdio_sw {
  242. pinctrl-names = "default";
  243. pinctrl-0 = <&mdio_pins>;
  244. ethphy0: ethernet-phy@0 {
  245. reg = <0>;
  246. };
  247. ethphy1: ethernet-phy@1 {
  248. reg = <1>;
  249. };
  250. };
  251. &mac_sw {
  252. status = "okay";
  253. pinctrl-names = "default";
  254. pinctrl-0 = <&ethernet_pins>;
  255. };
  256. &am33xx_pinmux {
  257. ethernet_pins: pinmux_ethernet {
  258. pinctrl-single,pins = <
  259. AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txen.rgmii1_tctl */
  260. AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLUP, MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
  261. AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
  262. AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
  263. AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
  264. AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
  265. AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLUP, MUX_MODE2)
  266. AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLUP, MUX_MODE2)
  267. AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLUP, MUX_MODE2)
  268. AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLUP, MUX_MODE2)
  269. AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLUP, MUX_MODE2)
  270. AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLUP, MUX_MODE2)
  271. /* ethernet interrupt */
  272. AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLUP, MUX_MODE7) /* rmii2_refclk.gpio0_29 */
  273. /* ethernet PHY nReset */
  274. AM33XX_PADCONF(AM335X_PIN_MII1_COL, PIN_OUTPUT_PULLUP, MUX_MODE7) /* mii1_col.gpio3_0 */
  275. >;
  276. };
  277. mdio_pins: pinmux_mdio {
  278. pinctrl-single,pins = <
  279. AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
  280. AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)
  281. >;
  282. };
  283. };
  284. /* MMC */
  285. &mmc1 {
  286. /* Bootable SD card slot */
  287. status = "okay";
  288. vmmc-supply = <&ldo3_reg>;
  289. bus-width = <4>;
  290. pinctrl-names = "default";
  291. pinctrl-0 = <&sd_pins>;
  292. cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
  293. };
  294. &mmc2 {
  295. /* eMMC (not populated) on MMC #2 */
  296. status = "disabled";
  297. pinctrl-names = "default";
  298. pinctrl-0 = <&emmc_pins>;
  299. vmmc-supply = <&ldo3_reg>;
  300. bus-width = <8>;
  301. non-removable;
  302. };
  303. &mmc3 {
  304. /* Wifi & Bluetooth on MMC #3 */
  305. status = "okay";
  306. pinctrl-names = "default";
  307. pinctrl-0 = <&wireless_pins>;
  308. vmmmc-supply = <&v3v3c_reg>;
  309. bus-width = <4>;
  310. non-removable;
  311. dmas = <&edma_xbar 12 0 1
  312. &edma_xbar 13 0 2>;
  313. dma-names = "tx", "rx";
  314. };
  315. &am33xx_pinmux {
  316. sd_pins: pinmux_sd_card {
  317. pinctrl-single,pins = <
  318. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
  319. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0)
  320. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0)
  321. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0)
  322. AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
  323. AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
  324. AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT, MUX_MODE7) /* spi0_cs1.gpio0_6 */
  325. >;
  326. };
  327. emmc_pins: pinmux_emmc {
  328. pinctrl-single,pins = <
  329. AM33XX_PADCONF(AM335X_PIN_GPMC_CSN1, PIN_INPUT_PULLUP, MUX_MODE2) /* gpmc_csn1.mmc1_clk */
  330. AM33XX_PADCONF(AM335X_PIN_GPMC_CSN2, PIN_INPUT_PULLUP, MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
  331. AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
  332. AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
  333. AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
  334. AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
  335. AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
  336. AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
  337. AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
  338. AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
  339. /* EMMC nReset */
  340. AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_OUTPUT_PULLUP, MUX_MODE7) /* gpmc_wpn.gpio0_31 */
  341. >;
  342. };
  343. wireless_pins: pinmux_wireless {
  344. pinctrl-single,pins = <
  345. AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_a1.mmc2_dat0 */
  346. AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_a2.mmc2_dat1 */
  347. AM33XX_PADCONF(AM335X_PIN_GPMC_A3, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_a3.mmc2_dat2 */
  348. AM33XX_PADCONF(AM335X_PIN_GPMC_BEN1, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_ben1.mmc2_dat3 */
  349. AM33XX_PADCONF(AM335X_PIN_GPMC_CSN3, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_csn3.mmc2_cmd */
  350. AM33XX_PADCONF(AM335X_PIN_GPMC_CLK, PIN_INPUT_PULLUP, MUX_MODE3) /* gpmc_clk.mmc1_clk */
  351. /* WLAN nReset */
  352. AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_OUTPUT_PULLUP, MUX_MODE7) /* gpmc_a8.gpio1_24 */
  353. /* WLAN nPower down */
  354. AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_OUTPUT_PULLUP, MUX_MODE7) /* gpmc_wait0.gpio0_30 */
  355. /* 32kHz Clock */
  356. AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR1, PIN_OUTPUT_PULLDOWN, MUX_MODE3) /* xdma_event_intr1.clkout2 */
  357. >;
  358. };
  359. };
  360. /* Power */
  361. &vbat {
  362. regulator-name = "vbat";
  363. regulator-min-microvolt = <5000000>;
  364. regulator-max-microvolt = <5000000>;
  365. };
  366. &v3v3c_reg {
  367. regulator-name = "v3v3c_reg";
  368. regulator-min-microvolt = <3300000>;
  369. regulator-max-microvolt = <3300000>;
  370. vin-supply = <&vbat>;
  371. };
  372. &vdd5_reg {
  373. regulator-name = "vdd5_reg";
  374. regulator-min-microvolt = <5000000>;
  375. regulator-max-microvolt = <5000000>;
  376. vin-supply = <&vbat>;
  377. };
  378. /include/ "tps65217.dtsi"
  379. &tps {
  380. backlight {
  381. isel = <1>; /* ISET1 */
  382. fdim = <200>; /* TPS65217_BL_FDIM_200HZ */
  383. default-brightness = <80>;
  384. };
  385. regulators {
  386. dcdc1_reg: regulator@0 {
  387. /* VDD_1V8 system supply */
  388. regulator-always-on;
  389. };
  390. dcdc2_reg: regulator@1 {
  391. /* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
  392. regulator-name = "vdd_core";
  393. regulator-min-microvolt = <925000>;
  394. regulator-max-microvolt = <1150000>;
  395. regulator-boot-on;
  396. regulator-always-on;
  397. };
  398. dcdc3_reg: regulator@2 {
  399. /* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
  400. regulator-name = "vdd_mpu";
  401. regulator-min-microvolt = <925000>;
  402. regulator-max-microvolt = <1325000>;
  403. regulator-boot-on;
  404. regulator-always-on;
  405. };
  406. ldo1_reg: regulator@3 {
  407. /* VRTC 1.8V always-on supply */
  408. regulator-name = "vrtc,vdds";
  409. regulator-always-on;
  410. };
  411. ldo2_reg: regulator@4 {
  412. /* 3.3V rail */
  413. regulator-name = "vdd_3v3aux";
  414. regulator-always-on;
  415. };
  416. ldo3_reg: regulator@5 {
  417. /* VDD_3V3A 3.3V rail */
  418. regulator-name = "vdd_3v3a";
  419. regulator-min-microvolt = <3300000>;
  420. regulator-max-microvolt = <3300000>;
  421. };
  422. ldo4_reg: regulator@6 {
  423. /* VDD_3V3B 3.3V rail */
  424. regulator-name = "vdd_3v3b";
  425. regulator-always-on;
  426. };
  427. };
  428. };
  429. /* SPI Busses */
  430. &spi0 {
  431. status = "okay";
  432. pinctrl-names = "default";
  433. pinctrl-0 = <&spi0_pins>;
  434. };
  435. &am33xx_pinmux {
  436. spi0_pins: pinmux_spi0 {
  437. pinctrl-single,pins = <
  438. AM33XX_PADCONF(AM335X_PIN_SPI0_SCLK, PIN_INPUT_PULLUP, MUX_MODE0)
  439. AM33XX_PADCONF(AM335X_PIN_SPI0_CS0, PIN_INPUT_PULLUP, MUX_MODE0)
  440. AM33XX_PADCONF(AM335X_PIN_SPI0_D0, PIN_INPUT_PULLUP, MUX_MODE0)
  441. AM33XX_PADCONF(AM335X_PIN_SPI0_D1, PIN_INPUT_PULLUP, MUX_MODE0)
  442. >;
  443. };
  444. };
  445. /* Touch Screen */
  446. &tscadc {
  447. status = "okay";
  448. tsc {
  449. ti,wires = <4>;
  450. ti,x-plate-resistance = <200>;
  451. ti,coordinate-readouts = <5>;
  452. ti,wire-config = <0x00 0x11 0x22 0x33>;
  453. };
  454. adc {
  455. ti,adc-channels = <4 5 6 7>;
  456. };
  457. };
  458. /* UARTs */
  459. &uart0 {
  460. /* Serial Console */
  461. status = "okay";
  462. pinctrl-names = "default";
  463. pinctrl-0 = <&uart0_pins>;
  464. };
  465. &uart1 {
  466. /* Broken out to J6 header */
  467. status = "okay";
  468. pinctrl-names = "default";
  469. pinctrl-0 = <&uart1_pins>;
  470. };
  471. &am33xx_pinmux {
  472. uart0_pins: pinmux_uart0 {
  473. pinctrl-single,pins = <
  474. AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
  475. AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
  476. >;
  477. };
  478. uart1_pins: pinmux_uart1 {
  479. pinctrl-single,pins = <
  480. AM33XX_PADCONF(AM335X_PIN_UART1_CTSN, PIN_INPUT_PULLUP, MUX_MODE0)
  481. AM33XX_PADCONF(AM335X_PIN_UART1_RTSN, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
  482. AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
  483. AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
  484. >;
  485. };
  486. };
  487. /* USB */
  488. &usb {
  489. pinctrl-names = "default";
  490. pinctrl-0 = <&usb_pins>;
  491. };
  492. &usb0 {
  493. dr_mode = "host";
  494. };
  495. &usb1 {
  496. dr_mode = "host";
  497. };
  498. &am33xx_pinmux {
  499. usb_pins: pinmux_usb {
  500. pinctrl-single,pins = <
  501. /* USB0 Over-Current (active low) */
  502. AM33XX_PADCONF(AM335X_PIN_GPMC_A9, PIN_INPUT, MUX_MODE7) /* gpmc_a9.gpio1_25 */
  503. /* USB1 Over-Current (active low) */
  504. AM33XX_PADCONF(AM335X_PIN_GPMC_A10, PIN_INPUT, MUX_MODE7) /* gpmc_a10.gpio1_26 */
  505. >;
  506. };
  507. };
  508. /* User IO */
  509. &leds {
  510. pinctrl-names = "default";
  511. pinctrl-0 = <&user_leds_pins>;
  512. led0 {
  513. label = "pepper:user0:blue";
  514. gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>;
  515. linux,default-trigger = "none";
  516. default-state = "off";
  517. };
  518. led1 {
  519. label = "pepper:user1:red";
  520. gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
  521. linux,default-trigger = "none";
  522. default-state = "off";
  523. };
  524. };
  525. &buttons {
  526. pinctrl-names = "default";
  527. pinctrl-0 = <&user_buttons_pins>;
  528. button-0 {
  529. label = "home";
  530. linux,code = <KEY_HOME>;
  531. gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
  532. wakeup-source;
  533. };
  534. button-1 {
  535. label = "menu";
  536. linux,code = <KEY_MENU>;
  537. gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
  538. wakeup-source;
  539. };
  540. button-2 {
  541. label = "power";
  542. linux,code = <KEY_POWER>;
  543. gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
  544. wakeup-source;
  545. };
  546. };
  547. &am33xx_pinmux {
  548. user_leds_pins: pinmux_user_leds {
  549. pinctrl-single,pins = <
  550. AM33XX_PADCONF(AM335X_PIN_GPMC_A4, PIN_OUTPUT, MUX_MODE7) /* gpmc_a4.gpio1_20 */
  551. AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT, MUX_MODE7) /* gpmc_a5.gpio1_21 */
  552. >;
  553. };
  554. user_buttons_pins: pinmux_user_buttons {
  555. pinctrl-single,pins = <
  556. AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_INPUT_PULLUP, MUX_MODE7) /* gpmc_a6.gpio1_22 */
  557. AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_INPUT_PULLUP, MUX_MODE7) /* gpmc_a7.gpio1_21 */
  558. AM33XX_PADCONF(AM335X_PIN_ECAP0_IN_PWM0_OUT, PIN_INPUT_PULLUP, MUX_MODE7) /* gpmc_a8.gpio0_7 */
  559. >;
  560. };
  561. };