omap5-uevm.dts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497
  1. /*
  2. * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. */
  8. /dts-v1/;
  9. #include "omap5.dtsi"
  10. #include <dt-bindings/interrupt-controller/irq.h>
  11. #include <dt-bindings/interrupt-controller/arm-gic.h>
  12. / {
  13. model = "TI OMAP5 uEVM board";
  14. compatible = "ti,omap5-uevm", "ti,omap5";
  15. memory {
  16. device_type = "memory";
  17. reg = <0x80000000 0x7F000000>; /* 2032 MB */
  18. };
  19. vmmcsd_fixed: fixedregulator-mmcsd {
  20. compatible = "regulator-fixed";
  21. regulator-name = "vmmcsd_fixed";
  22. regulator-min-microvolt = <3000000>;
  23. regulator-max-microvolt = <3000000>;
  24. };
  25. /* HS USB Host PHY on PORT 2 */
  26. hsusb2_phy: hsusb2_phy {
  27. compatible = "usb-nop-xceiv";
  28. reset-gpios = <&gpio3 16 GPIO_ACTIVE_LOW>; /* gpio3_80 HUB_NRESET */
  29. /**
  30. * FIXME
  31. * Put the right clock phandle here when available
  32. * clocks = <&auxclk1>;
  33. * clock-names = "main_clk";
  34. */
  35. clock-frequency = <19200000>;
  36. };
  37. /* HS USB Host PHY on PORT 3 */
  38. hsusb3_phy: hsusb3_phy {
  39. compatible = "usb-nop-xceiv";
  40. reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; /* gpio3_79 ETH_NRESET */
  41. };
  42. leds {
  43. compatible = "gpio-leds";
  44. led@1 {
  45. label = "omap5:blue:usr1";
  46. gpios = <&gpio5 25 GPIO_ACTIVE_HIGH>; /* gpio5_153 D1 LED */
  47. linux,default-trigger = "heartbeat";
  48. default-state = "off";
  49. };
  50. };
  51. };
  52. &omap5_pmx_core {
  53. pinctrl-names = "default";
  54. pinctrl-0 = <
  55. &twl6040_pins
  56. &mcpdm_pins
  57. &mcbsp1_pins
  58. &mcbsp2_pins
  59. &usbhost_pins
  60. &led_gpio_pins
  61. >;
  62. twl6040_pins: pinmux_twl6040_pins {
  63. pinctrl-single,pins = <
  64. 0x17e (PIN_OUTPUT | MUX_MODE6) /* mcspi1_somi.gpio5_141 */
  65. >;
  66. };
  67. mcpdm_pins: pinmux_mcpdm_pins {
  68. pinctrl-single,pins = <
  69. 0x142 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
  70. 0x15c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_ul_data.abemcpdm_ul_data */
  71. 0x15e (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_dl_data.abemcpdm_dl_data */
  72. 0x160 (PIN_INPUT_PULLUP | MUX_MODE0) /* abemcpdm_frame.abemcpdm_frame */
  73. 0x162 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcpdm_lb_clk.abemcpdm_lb_clk */
  74. >;
  75. };
  76. mcbsp1_pins: pinmux_mcbsp1_pins {
  77. pinctrl-single,pins = <
  78. 0x14c (PIN_INPUT | MUX_MODE1) /* abedmic_clk2.abemcbsp1_fsx */
  79. 0x14e (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* abedmic_clk3.abemcbsp1_dx */
  80. 0x150 (PIN_INPUT | MUX_MODE1) /* abeslimbus1_clock.abemcbsp1_clkx */
  81. 0x152 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* abeslimbus1_data.abemcbsp1_dr */
  82. >;
  83. };
  84. mcbsp2_pins: pinmux_mcbsp2_pins {
  85. pinctrl-single,pins = <
  86. 0x154 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dr.abemcbsp2_dr */
  87. 0x156 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dx.abemcbsp2_dx */
  88. 0x158 (PIN_INPUT | MUX_MODE0) /* abemcbsp2_fsx.abemcbsp2_fsx */
  89. 0x15a (PIN_INPUT | MUX_MODE0) /* abemcbsp2_clkx.abemcbsp2_clkx */
  90. >;
  91. };
  92. i2c1_pins: pinmux_i2c1_pins {
  93. pinctrl-single,pins = <
  94. 0x1b2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
  95. 0x1b4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
  96. >;
  97. };
  98. i2c5_pins: pinmux_i2c5_pins {
  99. pinctrl-single,pins = <
  100. 0x184 (PIN_INPUT | MUX_MODE0) /* i2c5_scl */
  101. 0x186 (PIN_INPUT | MUX_MODE0) /* i2c5_sda */
  102. >;
  103. };
  104. mcspi2_pins: pinmux_mcspi2_pins {
  105. pinctrl-single,pins = <
  106. 0xbc (PIN_INPUT | MUX_MODE0) /* mcspi2_clk */
  107. 0xbe (PIN_INPUT | MUX_MODE0) /* mcspi2_simo */
  108. 0xc0 (PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi2_somi */
  109. 0xc2 (PIN_OUTPUT | MUX_MODE0) /* mcspi2_cs0 */
  110. >;
  111. };
  112. mcspi3_pins: pinmux_mcspi3_pins {
  113. pinctrl-single,pins = <
  114. 0x78 (PIN_INPUT | MUX_MODE1) /* mcspi3_somi */
  115. 0x7a (PIN_INPUT | MUX_MODE1) /* mcspi3_cs0 */
  116. 0x7c (PIN_INPUT | MUX_MODE1) /* mcspi3_simo */
  117. 0x7e (PIN_INPUT | MUX_MODE1) /* mcspi3_clk */
  118. >;
  119. };
  120. mcspi4_pins: pinmux_mcspi4_pins {
  121. pinctrl-single,pins = <
  122. 0x164 (PIN_INPUT | MUX_MODE1) /* mcspi4_clk */
  123. 0x168 (PIN_INPUT | MUX_MODE1) /* mcspi4_simo */
  124. 0x16a (PIN_INPUT | MUX_MODE1) /* mcspi4_somi */
  125. 0x16c (PIN_INPUT | MUX_MODE1) /* mcspi4_cs0 */
  126. >;
  127. };
  128. usbhost_pins: pinmux_usbhost_pins {
  129. pinctrl-single,pins = <
  130. 0x84 (PIN_INPUT | MUX_MODE0) /* usbb2_hsic_strobe */
  131. 0x86 (PIN_INPUT | MUX_MODE0) /* usbb2_hsic_data */
  132. 0x19e (PIN_INPUT | MUX_MODE0) /* usbb3_hsic_strobe */
  133. 0x1a0 (PIN_INPUT | MUX_MODE0) /* usbb3_hsic_data */
  134. 0x70 (PIN_OUTPUT | MUX_MODE6) /* gpio3_80 HUB_NRESET */
  135. 0x6e (PIN_OUTPUT | MUX_MODE6) /* gpio3_79 ETH_NRESET */
  136. >;
  137. };
  138. led_gpio_pins: pinmux_led_gpio_pins {
  139. pinctrl-single,pins = <
  140. 0x196 (PIN_OUTPUT | MUX_MODE6) /* uart3_cts_rctx.gpio5_153 */
  141. >;
  142. };
  143. uart1_pins: pinmux_uart1_pins {
  144. pinctrl-single,pins = <
  145. 0x60 (PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_cts */
  146. 0x62 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_tx.uart1_cts */
  147. 0x64 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rx.uart1_rts */
  148. 0x66 (PIN_OUTPUT | MUX_MODE0) /* uart1_rx.uart1_rts */
  149. >;
  150. };
  151. uart3_pins: pinmux_uart3_pins {
  152. pinctrl-single,pins = <
  153. 0x19a (PIN_OUTPUT | MUX_MODE0) /* uart3_rts_irsd.uart3_tx_irtx */
  154. 0x19c (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_rx_irrx.uart3_usbb3_hsic */
  155. >;
  156. };
  157. uart5_pins: pinmux_uart5_pins {
  158. pinctrl-single,pins = <
  159. 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_rx.uart5_rx */
  160. 0x172 (PIN_OUTPUT | MUX_MODE0) /* uart5_tx.uart5_tx */
  161. 0x174 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_cts.uart5_rts */
  162. 0x176 (PIN_OUTPUT | MUX_MODE0) /* uart5_cts.uart5_rts */
  163. >;
  164. };
  165. };
  166. &omap5_pmx_wkup {
  167. pinctrl-names = "default";
  168. pinctrl-0 = <
  169. &usbhost_wkup_pins
  170. >;
  171. usbhost_wkup_pins: pinmux_usbhost_wkup_pins {
  172. pinctrl-single,pins = <
  173. 0x1A (PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */
  174. >;
  175. };
  176. };
  177. &mmc1 {
  178. vmmc-supply = <&ldo9_reg>;
  179. bus-width = <4>;
  180. };
  181. &mmc2 {
  182. vmmc-supply = <&vmmcsd_fixed>;
  183. bus-width = <8>;
  184. ti,non-removable;
  185. };
  186. &mmc3 {
  187. bus-width = <4>;
  188. ti,non-removable;
  189. };
  190. &mmc4 {
  191. status = "disabled";
  192. };
  193. &mmc5 {
  194. status = "disabled";
  195. };
  196. &i2c1 {
  197. pinctrl-names = "default";
  198. pinctrl-0 = <&i2c1_pins>;
  199. clock-frequency = <400000>;
  200. palmas: palmas@48 {
  201. compatible = "ti,palmas";
  202. interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
  203. interrupt-parent = <&gic>;
  204. reg = <0x48>;
  205. interrupt-controller;
  206. #interrupt-cells = <2>;
  207. ti,system-power-controller;
  208. extcon_usb3: palmas_usb {
  209. compatible = "ti,palmas-usb-vid";
  210. ti,enable-vbus-detection;
  211. ti,enable-id-detection;
  212. ti,wakeup;
  213. };
  214. palmas_pmic {
  215. compatible = "ti,palmas-pmic";
  216. interrupt-parent = <&palmas>;
  217. interrupts = <14 IRQ_TYPE_NONE>;
  218. interrupt-name = "short-irq";
  219. ti,ldo6-vibrator;
  220. regulators {
  221. smps123_reg: smps123 {
  222. /* VDD_OPP_MPU */
  223. regulator-name = "smps123";
  224. regulator-min-microvolt = < 600000>;
  225. regulator-max-microvolt = <1500000>;
  226. regulator-always-on;
  227. regulator-boot-on;
  228. };
  229. smps45_reg: smps45 {
  230. /* VDD_OPP_MM */
  231. regulator-name = "smps45";
  232. regulator-min-microvolt = < 600000>;
  233. regulator-max-microvolt = <1310000>;
  234. regulator-always-on;
  235. regulator-boot-on;
  236. };
  237. smps6_reg: smps6 {
  238. /* VDD_DDR3 - over VDD_SMPS6 */
  239. regulator-name = "smps6";
  240. regulator-min-microvolt = <1200000>;
  241. regulator-max-microvolt = <1200000>;
  242. regulator-always-on;
  243. regulator-boot-on;
  244. };
  245. smps7_reg: smps7 {
  246. /* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
  247. regulator-name = "smps7";
  248. regulator-min-microvolt = <1800000>;
  249. regulator-max-microvolt = <1800000>;
  250. regulator-always-on;
  251. regulator-boot-on;
  252. };
  253. smps8_reg: smps8 {
  254. /* VDD_OPP_CORE */
  255. regulator-name = "smps8";
  256. regulator-min-microvolt = < 600000>;
  257. regulator-max-microvolt = <1310000>;
  258. regulator-always-on;
  259. regulator-boot-on;
  260. };
  261. smps9_reg: smps9 {
  262. /* VDDA_2v1_AUD over VDD_2v1 */
  263. regulator-name = "smps9";
  264. regulator-min-microvolt = <2100000>;
  265. regulator-max-microvolt = <2100000>;
  266. ti,smps-range = <0x80>;
  267. };
  268. smps10_out2_reg: smps10_out2 {
  269. /* VBUS_5V_OTG */
  270. regulator-name = "smps10_out2";
  271. regulator-min-microvolt = <5000000>;
  272. regulator-max-microvolt = <5000000>;
  273. regulator-always-on;
  274. regulator-boot-on;
  275. };
  276. smps10_out1_reg: smps10_out1 {
  277. /* VBUS_5V_OTG */
  278. regulator-name = "smps10_out1";
  279. regulator-min-microvolt = <5000000>;
  280. regulator-max-microvolt = <5000000>;
  281. };
  282. ldo1_reg: ldo1 {
  283. /* VDDAPHY_CAM: vdda_csiport */
  284. regulator-name = "ldo1";
  285. regulator-min-microvolt = <1500000>;
  286. regulator-max-microvolt = <1800000>;
  287. };
  288. ldo2_reg: ldo2 {
  289. /* VCC_2V8_DISP: Does not go anywhere */
  290. regulator-name = "ldo2";
  291. regulator-min-microvolt = <2800000>;
  292. regulator-max-microvolt = <2800000>;
  293. /* Unused */
  294. status = "disabled";
  295. };
  296. ldo3_reg: ldo3 {
  297. /* VDDAPHY_MDM: vdda_lli */
  298. regulator-name = "ldo3";
  299. regulator-min-microvolt = <1500000>;
  300. regulator-max-microvolt = <1500000>;
  301. regulator-boot-on;
  302. /* Only if Modem is used */
  303. status = "disabled";
  304. };
  305. ldo4_reg: ldo4 {
  306. /* VDDAPHY_DISP: vdda_dsiport/hdmi */
  307. regulator-name = "ldo4";
  308. regulator-min-microvolt = <1500000>;
  309. regulator-max-microvolt = <1800000>;
  310. };
  311. ldo5_reg: ldo5 {
  312. /* VDDA_1V8_PHY: usb/sata/hdmi.. */
  313. regulator-name = "ldo5";
  314. regulator-min-microvolt = <1800000>;
  315. regulator-max-microvolt = <1800000>;
  316. regulator-always-on;
  317. regulator-boot-on;
  318. };
  319. ldo6_reg: ldo6 {
  320. /* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
  321. regulator-name = "ldo6";
  322. regulator-min-microvolt = <1200000>;
  323. regulator-max-microvolt = <1200000>;
  324. regulator-always-on;
  325. regulator-boot-on;
  326. };
  327. ldo7_reg: ldo7 {
  328. /* VDD_VPP: vpp1 */
  329. regulator-name = "ldo7";
  330. regulator-min-microvolt = <2000000>;
  331. regulator-max-microvolt = <2000000>;
  332. /* Only for efuse reprograming! */
  333. status = "disabled";
  334. };
  335. ldo8_reg: ldo8 {
  336. /* VDD_3v0: Does not go anywhere */
  337. regulator-name = "ldo8";
  338. regulator-min-microvolt = <3000000>;
  339. regulator-max-microvolt = <3000000>;
  340. regulator-boot-on;
  341. /* Unused */
  342. status = "disabled";
  343. };
  344. ldo9_reg: ldo9 {
  345. /* VCC_DV_SDIO: vdds_sdcard */
  346. regulator-name = "ldo9";
  347. regulator-min-microvolt = <1800000>;
  348. regulator-max-microvolt = <3000000>;
  349. regulator-boot-on;
  350. };
  351. ldoln_reg: ldoln {
  352. /* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
  353. regulator-name = "ldoln";
  354. regulator-min-microvolt = <1800000>;
  355. regulator-max-microvolt = <1800000>;
  356. regulator-always-on;
  357. regulator-boot-on;
  358. };
  359. ldousb_reg: ldousb {
  360. /* VDDA_3V_USB: VDDA_USBHS33 */
  361. regulator-name = "ldousb";
  362. regulator-min-microvolt = <3250000>;
  363. regulator-max-microvolt = <3250000>;
  364. regulator-always-on;
  365. regulator-boot-on;
  366. };
  367. regen3_reg: regen3 {
  368. /* REGEN3 controls LDO9 supply to card */
  369. regulator-name = "regen3";
  370. regulator-always-on;
  371. regulator-boot-on;
  372. };
  373. };
  374. };
  375. };
  376. };
  377. &i2c5 {
  378. pinctrl-names = "default";
  379. pinctrl-0 = <&i2c5_pins>;
  380. clock-frequency = <400000>;
  381. };
  382. &mcbsp3 {
  383. status = "disabled";
  384. };
  385. &usbhshost {
  386. port2-mode = "ehci-hsic";
  387. port3-mode = "ehci-hsic";
  388. };
  389. &usbhsehci {
  390. phys = <0 &hsusb2_phy &hsusb3_phy>;
  391. };
  392. &usb3 {
  393. extcon = <&extcon_usb3>;
  394. vbus-supply = <&smps10_out1_reg>;
  395. };
  396. &mcspi1 {
  397. };
  398. &mcspi2 {
  399. pinctrl-names = "default";
  400. pinctrl-0 = <&mcspi2_pins>;
  401. };
  402. &mcspi3 {
  403. pinctrl-names = "default";
  404. pinctrl-0 = <&mcspi3_pins>;
  405. };
  406. &mcspi4 {
  407. pinctrl-names = "default";
  408. pinctrl-0 = <&mcspi4_pins>;
  409. };
  410. &uart1 {
  411. pinctrl-names = "default";
  412. pinctrl-0 = <&uart1_pins>;
  413. };
  414. &uart3 {
  415. pinctrl-names = "default";
  416. pinctrl-0 = <&uart3_pins>;
  417. };
  418. &uart5 {
  419. pinctrl-names = "default";
  420. pinctrl-0 = <&uart5_pins>;
  421. };
  422. &cpu0 {
  423. cpu0-supply = <&smps123_reg>;
  424. };