am335x-lxm.dts 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. /*
  2. * Copyright (C) 2014 NovaTech LLC - http://www.novatechweb.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 "am33xx.dtsi"
  10. / {
  11. model = "NovaTech OrionLXm";
  12. compatible = "novatech,am335x-lxm", "ti,am33xx";
  13. cpus {
  14. cpu@0 {
  15. cpu0-supply = <&vdd1_reg>;
  16. };
  17. };
  18. memory@80000000 {
  19. device_type = "memory";
  20. reg = <0x80000000 0x20000000>; /* 512 MB */
  21. };
  22. /* Power supply provides a fixed 5V @2A */
  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. /* Power supply provides a fixed 3.3V @3A */
  31. vmmcsd_fixed: fixedregulator1 {
  32. compatible = "regulator-fixed";
  33. regulator-name = "vmmcsd_fixed";
  34. regulator-min-microvolt = <3300000>;
  35. regulator-max-microvolt = <3300000>;
  36. regulator-boot-on;
  37. };
  38. };
  39. &am33xx_pinmux {
  40. mmc1_pins: pinmux_mmc1_pins {
  41. pinctrl-single,pins = <
  42. AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3 */
  43. AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2 */
  44. AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1 */
  45. AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0 */
  46. AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk */
  47. AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd */
  48. >;
  49. };
  50. i2c0_pins: pinmux_i2c0_pins {
  51. pinctrl-single,pins = <
  52. AM33XX_IOPAD(0x988, PIN_INPUT | MUX_MODE0) /* i2c0_sda.i2c0_sda */
  53. AM33XX_IOPAD(0x98c, PIN_INPUT | MUX_MODE0) /* i2c0_scl.i2c0_scl */
  54. >;
  55. };
  56. cpsw_default: cpsw_default {
  57. pinctrl-single,pins = <
  58. /* Slave 1 */
  59. AM33XX_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */
  60. AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_crs_dv */
  61. AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rxer */
  62. AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_txen */
  63. AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td1 */
  64. AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td0 */
  65. AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd1 */
  66. AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd0 */
  67. AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_refclk */
  68. /* Slave 2 */
  69. AM33XX_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_txen */
  70. AM33XX_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td1 */
  71. AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td0 */
  72. AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd1 */
  73. AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd0 */
  74. AM33XX_IOPAD(0x870, PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_crs_dv */
  75. AM33XX_IOPAD(0x874, PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rxer */
  76. AM33XX_IOPAD(0x878, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */
  77. AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii2_refclk */
  78. >;
  79. };
  80. cpsw_sleep: cpsw_sleep {
  81. pinctrl-single,pins = <
  82. /* Slave 1 reset value */
  83. AM33XX_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */
  84. AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_crs_dv */
  85. AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rxer */
  86. AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_txen */
  87. AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td1 */
  88. AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td0 */
  89. AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd1 */
  90. AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd0 */
  91. AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_refclk */
  92. /* Slave 2 reset value*/
  93. AM33XX_IOPAD(0x840, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_txen */
  94. AM33XX_IOPAD(0x850, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td1 */
  95. AM33XX_IOPAD(0x854, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td0 */
  96. AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd1 */
  97. AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd0 */
  98. AM33XX_IOPAD(0x870, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_crs_dv */
  99. AM33XX_IOPAD(0x874, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rxer */
  100. AM33XX_IOPAD(0x878, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */
  101. AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_refclk */
  102. >;
  103. };
  104. davinci_mdio_default: davinci_mdio_default {
  105. pinctrl-single,pins = <
  106. /* MDIO */
  107. AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
  108. AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
  109. >;
  110. };
  111. davinci_mdio_sleep: davinci_mdio_sleep {
  112. pinctrl-single,pins = <
  113. /* MDIO reset value */
  114. AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
  115. AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
  116. >;
  117. };
  118. emmc_pins: pinmux_emmc_pins {
  119. pinctrl-single,pins = <
  120. AM33XX_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
  121. AM33XX_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
  122. AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
  123. AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
  124. AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
  125. AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
  126. AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
  127. AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
  128. AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
  129. AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
  130. >;
  131. };
  132. uart0_pins: pinmux_uart0_pins {
  133. pinctrl-single,pins = <
  134. AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
  135. AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
  136. >;
  137. };
  138. };
  139. &i2c0 {
  140. pinctrl-names = "default";
  141. pinctrl-0 = <&i2c0_pins>;
  142. status = "okay";
  143. clock-frequency = <400000>;
  144. serial_config1: serial_config1@20 {
  145. compatible = "nxp,pca9539";
  146. reg = <0x20>;
  147. };
  148. serial_config2: serial_config2@21 {
  149. compatible = "nxp,pca9539";
  150. reg = <0x21>;
  151. };
  152. tps: tps@2d {
  153. compatible = "ti,tps65910";
  154. reg = <0x2d>;
  155. };
  156. };
  157. /include/ "tps65910.dtsi"
  158. &tps {
  159. vcc1-supply = <&vbat>;
  160. vcc2-supply = <&vbat>;
  161. vcc3-supply = <&vbat>;
  162. vcc4-supply = <&vbat>;
  163. vcc5-supply = <&vbat>;
  164. vcc6-supply = <&vbat>;
  165. vcc7-supply = <&vbat>;
  166. vccio-supply = <&vbat>;
  167. regulators {
  168. /* vrtc - unused */
  169. vio_reg: regulator@1 {
  170. regulator-name = "vio_1v5,ddr";
  171. regulator-min-microvolt = <1500000>;
  172. regulator-max-microvolt = <1500000>;
  173. regulator-boot-on;
  174. regulator-always-on;
  175. };
  176. vdd1_reg: regulator@2 {
  177. regulator-name = "vdd1,mpu";
  178. regulator-min-microvolt = <600000>;
  179. regulator-max-microvolt = <1500000>;
  180. regulator-boot-on;
  181. regulator-always-on;
  182. };
  183. vdd2_reg: regulator@3 {
  184. regulator-name = "vdd2_1v1,core";
  185. regulator-min-microvolt = <1100000>;
  186. regulator-max-microvolt = <1100000>;
  187. regulator-boot-on;
  188. regulator-always-on;
  189. };
  190. /* vdd3 - unused */
  191. /* vdig1 - unused */
  192. vdig2_reg: regulator@6 {
  193. regulator-name = "vdig2_1v8,vdds_pll";
  194. regulator-min-microvolt = <1800000>;
  195. regulator-max-microvolt = <1800000>;
  196. regulator-boot-on;
  197. regulator-always-on;
  198. };
  199. /* vpll - unused */
  200. vdac_reg: regulator@8 {
  201. regulator-name = "vdac_1v8,vdds";
  202. regulator-min-microvolt = <1800000>;
  203. regulator-max-microvolt = <1800000>;
  204. regulator-boot-on;
  205. regulator-always-on;
  206. };
  207. vaux1_reg: regulator@9 {
  208. regulator-name = "vaux1_1v8,usb";
  209. regulator-min-microvolt = <1800000>;
  210. regulator-max-microvolt = <1800000>;
  211. regulator-boot-on;
  212. regulator-always-on;
  213. };
  214. vaux2_reg: regulator@10 {
  215. regulator-name = "vaux2_3v3,io";
  216. regulator-min-microvolt = <3300000>;
  217. regulator-max-microvolt = <3300000>;
  218. regulator-boot-on;
  219. regulator-always-on;
  220. };
  221. vaux33_reg: regulator@11 {
  222. regulator-name = "vaux33_3v3,usb";
  223. regulator-min-microvolt = <3300000>;
  224. regulator-max-microvolt = <3300000>;
  225. regulator-boot-on;
  226. regulator-always-on;
  227. };
  228. vmmc_reg: regulator@12 {
  229. regulator-name = "vmmc_3v3,io";
  230. regulator-min-microvolt = <3300000>;
  231. regulator-max-microvolt = <3300000>;
  232. regulator-boot-on;
  233. regulator-always-on;
  234. };
  235. };
  236. };
  237. &sham {
  238. status = "okay";
  239. };
  240. &aes {
  241. status = "okay";
  242. };
  243. &uart0 {
  244. pinctrl-names = "default";
  245. pinctrl-0 = <&uart0_pins>;
  246. status = "okay";
  247. };
  248. &usb {
  249. status = "okay";
  250. };
  251. &usb_ctrl_mod {
  252. status = "okay";
  253. };
  254. &usb0_phy {
  255. status = "okay";
  256. };
  257. &usb1_phy {
  258. status = "okay";
  259. };
  260. &usb0 {
  261. status = "okay";
  262. dr_mode = "host";
  263. };
  264. &usb1 {
  265. status = "okay";
  266. dr_mode = "host";
  267. };
  268. &cppi41dma {
  269. status = "okay";
  270. };
  271. &cpsw_emac0 {
  272. phy_id = <&davinci_mdio>, <5>;
  273. phy-mode = "rmii";
  274. dual_emac_res_vlan = <2>;
  275. };
  276. &cpsw_emac1 {
  277. phy_id = <&davinci_mdio>, <4>;
  278. phy-mode = "rmii";
  279. dual_emac_res_vlan = <3>;
  280. };
  281. &phy_sel {
  282. rmii-clock-ext;
  283. };
  284. &mac {
  285. pinctrl-names = "default", "sleep";
  286. pinctrl-0 = <&cpsw_default>;
  287. pinctrl-1 = <&cpsw_sleep>;
  288. dual_emac = <1>;
  289. status = "okay";
  290. };
  291. &davinci_mdio {
  292. pinctrl-names = "default", "sleep";
  293. pinctrl-0 = <&davinci_mdio_default>;
  294. pinctrl-1 = <&davinci_mdio_sleep>;
  295. status = "okay";
  296. };
  297. &mmc1 {
  298. pinctrl-names = "default";
  299. pinctrl-0 = <&mmc1_pins>;
  300. vmmc-supply = <&vmmcsd_fixed>;
  301. bus-width = <4>;
  302. status = "okay";
  303. };
  304. &mmc2 {
  305. pinctrl-names = "default";
  306. pinctrl-0 = <&emmc_pins>;
  307. vmmc-supply = <&vmmcsd_fixed>;
  308. bus-width = <8>;
  309. ti,non-removable;
  310. status = "okay";
  311. };