mt7623-eMMC.dts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  1. /*
  2. * Copyright (c) 2016 MediaTek Inc.
  3. * Author: John Crispin <blogic@openwrt.org>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. */
  14. /dts-v1/;
  15. #include "_mt7623.dtsi"
  16. #include <dt-bindings/gpio/gpio.h>
  17. / {
  18. model = "MediaTek MT7623 eMMC evaluation board";
  19. compatible = "mediatek,mt7623-evb", "mediatek,mt7623";
  20. chosen {
  21. stdout-path = &uart2;
  22. };
  23. memory {
  24. reg = <0 0x80000000 0 0x20000000>;
  25. };
  26. usb_p1_vbus: regulator@0 {
  27. compatible = "regulator-fixed";
  28. regulator-name = "usb_vbus";
  29. regulator-min-microvolt = <5000000>;
  30. regulator-max-microvolt = <5000000>;
  31. gpio = <&pio 135 GPIO_ACTIVE_HIGH>;
  32. enable-active-high;
  33. };
  34. };
  35. &cpu0 {
  36. proc-supply = <&mt6323_vproc_reg>;
  37. };
  38. &cpu1 {
  39. proc-supply = <&mt6323_vproc_reg>;
  40. };
  41. &cpu2 {
  42. proc-supply = <&mt6323_vproc_reg>;
  43. };
  44. &cpu3 {
  45. proc-supply = <&mt6323_vproc_reg>;
  46. };
  47. &pwrap {
  48. pmic: mt6323 {
  49. compatible = "mediatek,mt6323";
  50. interrupt-parent = <&pio>;
  51. interrupts = <150 IRQ_TYPE_LEVEL_HIGH>;
  52. interrupt-controller;
  53. #interrupt-cells = <2>;
  54. mt6323regulator: mt6323regulator{
  55. compatible = "mediatek,mt6323-regulator";
  56. mt6323_vproc_reg: buck_vproc{
  57. regulator-name = "vproc";
  58. regulator-min-microvolt = < 700000>;
  59. regulator-max-microvolt = <1350000>;
  60. regulator-ramp-delay = <12500>;
  61. regulator-always-on;
  62. regulator-boot-on;
  63. };
  64. mt6323_vsys_reg: buck_vsys{
  65. regulator-name = "vsys";
  66. regulator-min-microvolt = <1400000>;
  67. regulator-max-microvolt = <2987500>;
  68. regulator-ramp-delay = <25000>;
  69. regulator-always-on;
  70. regulator-boot-on;
  71. };
  72. mt6323_vpa_reg: buck_vpa{
  73. regulator-name = "vpa";
  74. regulator-min-microvolt = < 500000>;
  75. regulator-max-microvolt = <3650000>;
  76. };
  77. mt6323_vtcxo_reg: ldo_vtcxo{
  78. regulator-name = "vtcxo";
  79. regulator-min-microvolt = <2800000>;
  80. regulator-max-microvolt = <2800000>;
  81. regulator-enable-ramp-delay = <90>;
  82. regulator-always-on;
  83. regulator-boot-on;
  84. };
  85. mt6323_vcn28_reg: ldo_vcn28{
  86. regulator-name = "vcn28";
  87. regulator-min-microvolt = <2800000>;
  88. regulator-max-microvolt = <2800000>;
  89. regulator-enable-ramp-delay = <185>;
  90. };
  91. mt6323_vcn33_bt_reg: ldo_vcn33_bt{
  92. regulator-name = "vcn33_bt";
  93. regulator-min-microvolt = <3300000>;
  94. regulator-max-microvolt = <3600000>;
  95. regulator-enable-ramp-delay = <185>;
  96. };
  97. mt6323_vcn33_wifi_reg: ldo_vcn33_wifi{
  98. regulator-name = "vcn33_wifi";
  99. regulator-min-microvolt = <3300000>;
  100. regulator-max-microvolt = <3600000>;
  101. regulator-enable-ramp-delay = <185>;
  102. };
  103. mt6323_va_reg: ldo_va{
  104. regulator-name = "va";
  105. regulator-min-microvolt = <2800000>;
  106. regulator-max-microvolt = <2800000>;
  107. regulator-enable-ramp-delay = <216>;
  108. regulator-always-on;
  109. regulator-boot-on;
  110. };
  111. mt6323_vcama_reg: ldo_vcama{
  112. regulator-name = "vcama";
  113. regulator-min-microvolt = <1500000>;
  114. regulator-max-microvolt = <2800000>;
  115. regulator-enable-ramp-delay = <216>;
  116. };
  117. mt6323_vio28_reg: ldo_vio28{
  118. regulator-name = "vio28";
  119. regulator-min-microvolt = <2800000>;
  120. regulator-max-microvolt = <2800000>;
  121. regulator-enable-ramp-delay = <216>;
  122. regulator-always-on;
  123. regulator-boot-on;
  124. };
  125. mt6323_vusb_reg: ldo_vusb{
  126. regulator-name = "vusb";
  127. regulator-min-microvolt = <3300000>;
  128. regulator-max-microvolt = <3300000>;
  129. regulator-enable-ramp-delay = <216>;
  130. regulator-boot-on;
  131. };
  132. mt6323_vmc_reg: ldo_vmc{
  133. regulator-name = "vmc";
  134. regulator-min-microvolt = <1800000>;
  135. regulator-max-microvolt = <3300000>;
  136. regulator-enable-ramp-delay = <36>;
  137. regulator-boot-on;
  138. };
  139. mt6323_vmch_reg: ldo_vmch{
  140. regulator-name = "vmch";
  141. regulator-min-microvolt = <3000000>;
  142. regulator-max-microvolt = <3300000>;
  143. regulator-enable-ramp-delay = <36>;
  144. regulator-boot-on;
  145. };
  146. mt6323_vemc3v3_reg: ldo_vemc3v3{
  147. regulator-name = "vemc3v3";
  148. regulator-min-microvolt = <3000000>;
  149. regulator-max-microvolt = <3300000>;
  150. regulator-enable-ramp-delay = <36>;
  151. regulator-boot-on;
  152. };
  153. mt6323_vgp1_reg: ldo_vgp1{
  154. regulator-name = "vgp1";
  155. regulator-min-microvolt = <1200000>;
  156. regulator-max-microvolt = <3300000>;
  157. regulator-enable-ramp-delay = <216>;
  158. };
  159. mt6323_vgp2_reg: ldo_vgp2{
  160. regulator-name = "vgp2";
  161. regulator-min-microvolt = <1200000>;
  162. regulator-max-microvolt = <3000000>;
  163. regulator-enable-ramp-delay = <216>;
  164. };
  165. mt6323_vgp3_reg: ldo_vgp3{
  166. regulator-name = "vgp3";
  167. regulator-min-microvolt = <1200000>;
  168. regulator-max-microvolt = <1800000>;
  169. regulator-enable-ramp-delay = <216>;
  170. };
  171. mt6323_vcn18_reg: ldo_vcn18{
  172. regulator-name = "vcn18";
  173. regulator-min-microvolt = <1800000>;
  174. regulator-max-microvolt = <1800000>;
  175. regulator-enable-ramp-delay = <216>;
  176. };
  177. mt6323_vsim1_reg: ldo_vsim1{
  178. regulator-name = "vsim1";
  179. regulator-min-microvolt = <1800000>;
  180. regulator-max-microvolt = <3000000>;
  181. regulator-enable-ramp-delay = <216>;
  182. };
  183. mt6323_vsim2_reg: ldo_vsim2{
  184. regulator-name = "vsim2";
  185. regulator-min-microvolt = <1800000>;
  186. regulator-max-microvolt = <3000000>;
  187. regulator-enable-ramp-delay = <216>;
  188. };
  189. mt6323_vrtc_reg: ldo_vrtc{
  190. regulator-name = "vrtc";
  191. regulator-min-microvolt = <2800000>;
  192. regulator-max-microvolt = <2800000>;
  193. regulator-always-on;
  194. regulator-boot-on;
  195. };
  196. mt6323_vcamaf_reg: ldo_vcamaf{
  197. regulator-name = "vcamaf";
  198. regulator-min-microvolt = <1200000>;
  199. regulator-max-microvolt = <3300000>;
  200. regulator-enable-ramp-delay = <216>;
  201. };
  202. mt6323_vibr_reg: ldo_vibr{
  203. regulator-name = "vibr";
  204. regulator-min-microvolt = <1200000>;
  205. regulator-max-microvolt = <3300000>;
  206. regulator-enable-ramp-delay = <36>;
  207. };
  208. mt6323_vrf18_reg: ldo_vrf18{
  209. regulator-name = "vrf18";
  210. regulator-min-microvolt = <1825000>;
  211. regulator-max-microvolt = <1825000>;
  212. regulator-enable-ramp-delay = <187>;
  213. };
  214. mt6323_vm_reg: ldo_vm{
  215. regulator-name = "vm";
  216. regulator-min-microvolt = <1200000>;
  217. regulator-max-microvolt = <1800000>;
  218. regulator-enable-ramp-delay = <216>;
  219. regulator-always-on;
  220. regulator-boot-on;
  221. };
  222. mt6323_vio18_reg: ldo_vio18{
  223. regulator-name = "vio18";
  224. regulator-min-microvolt = <1800000>;
  225. regulator-max-microvolt = <1800000>;
  226. regulator-enable-ramp-delay = <216>;
  227. regulator-always-on;
  228. regulator-boot-on;
  229. };
  230. mt6323_vcamd_reg: ldo_vcamd{
  231. regulator-name = "vcamd";
  232. regulator-min-microvolt = <1200000>;
  233. regulator-max-microvolt = <1800000>;
  234. regulator-enable-ramp-delay = <216>;
  235. };
  236. mt6323_vcamio_reg: ldo_vcamio{
  237. regulator-name = "vcamio";
  238. regulator-min-microvolt = <1800000>;
  239. regulator-max-microvolt = <1800000>;
  240. regulator-enable-ramp-delay = <216>;
  241. };
  242. };
  243. };
  244. };
  245. &uart2 {
  246. status = "okay";
  247. };
  248. &mmc0 {
  249. status = "okay";
  250. pinctrl-names = "default", "state_uhs";
  251. pinctrl-0 = <&mmc0_pins_default>;
  252. pinctrl-1 = <&mmc0_pins_uhs>;
  253. bus-width = <8>;
  254. max-frequency = <50000000>;
  255. cap-mmc-highspeed;
  256. vmmc-supply = <&mt6323_vemc3v3_reg>;
  257. vqmmc-supply = <&mt6323_vio18_reg>;
  258. non-removable;
  259. };
  260. &mmc1 {
  261. status = "okay";
  262. pinctrl-names = "default", "state_uhs";
  263. pinctrl-0 = <&mmc1_pins_default>;
  264. pinctrl-1 = <&mmc1_pins_uhs>;
  265. bus-width = <4>;
  266. max-frequency = <50000000>;
  267. cap-sd-highspeed;
  268. sd-uhs-sdr25;
  269. // cd-gpios = <&pio 132 0>;
  270. vmmc-supply = <&mt6323_vmch_reg>;
  271. vqmmc-supply = <&mt6323_vmc_reg>;
  272. };
  273. &pio {
  274. mmc0_pins_default: mmc0default {
  275. pins_cmd_dat {
  276. pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
  277. <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
  278. <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
  279. <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
  280. <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
  281. <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
  282. <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
  283. <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
  284. <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
  285. input-enable;
  286. bias-pull-up;
  287. };
  288. pins_clk {
  289. pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
  290. bias-pull-down;
  291. };
  292. pins_rst {
  293. pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
  294. bias-pull-up;
  295. };
  296. };
  297. mmc0_pins_uhs: mmc0 {
  298. pins_cmd_dat {
  299. pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
  300. <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
  301. <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
  302. <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
  303. <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
  304. <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
  305. <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
  306. <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
  307. <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
  308. input-enable;
  309. drive-strength = <MTK_DRIVE_2mA>;
  310. bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  311. };
  312. pins_clk {
  313. pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
  314. drive-strength = <MTK_DRIVE_2mA>;
  315. bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
  316. };
  317. pins_rst {
  318. pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
  319. bias-pull-up;
  320. };
  321. };
  322. mmc1_pins_default: mmc1default {
  323. pins_cmd_dat {
  324. pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
  325. <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
  326. <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
  327. <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
  328. <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
  329. input-enable;
  330. drive-strength = <MTK_DRIVE_4mA>;
  331. bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
  332. };
  333. pins_clk {
  334. pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
  335. bias-pull-down;
  336. drive-strength = <MTK_DRIVE_4mA>;
  337. };
  338. // pins_insert {
  339. // pinmux = <MT8173_PIN_132_I2S0_DATA1_FUNC_GPIO132>;
  340. // bias-pull-up;
  341. // };
  342. };
  343. mmc1_pins_uhs: mmc1 {
  344. pins_cmd_dat {
  345. pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
  346. <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
  347. <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
  348. <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
  349. <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
  350. input-enable;
  351. drive-strength = <MTK_DRIVE_4mA>;
  352. bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
  353. };
  354. pins_clk {
  355. pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
  356. drive-strength = <MTK_DRIVE_4mA>;
  357. bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  358. };
  359. };
  360. eth_default: eth {
  361. pins_eth {
  362. pinmux = <MT7623_PIN_275_G2_MDC_FUNC_MDC>,
  363. <MT7623_PIN_276_G2_MDIO_FUNC_MDIO>,
  364. <MT7623_PIN_262_G2_TXEN_FUNC_G2_TXEN>,
  365. <MT7623_PIN_263_G2_TXD3_FUNC_G2_TXD3>,
  366. <MT7623_PIN_264_G2_TXD2_FUNC_G2_TXD2>,
  367. <MT7623_PIN_265_G2_TXD1_FUNC_G2_TXD1>,
  368. <MT7623_PIN_266_G2_TXD0_FUNC_G2_TXD0>,
  369. <MT7623_PIN_267_G2_TXCLK_FUNC_G2_TXC>,
  370. <MT7623_PIN_268_G2_RXCLK_FUNC_G2_RXC>,
  371. <MT7623_PIN_269_G2_RXD0_FUNC_G2_RXD0>,
  372. <MT7623_PIN_270_G2_RXD1_FUNC_G2_RXD1>,
  373. <MT7623_PIN_271_G2_RXD2_FUNC_G2_RXD2>,
  374. <MT7623_PIN_272_G2_RXD3_FUNC_G2_RXD3>,
  375. <MT7623_PIN_273_ESW_INT_FUNC_ESW_INT>,
  376. <MT7623_PIN_274_G2_RXDV_FUNC_G2_RXDV>;
  377. };
  378. pins_eth_rst {
  379. pinmux = <MT7623_PIN_15_GPIO15_FUNC_GPIO15>;
  380. output-low;
  381. };
  382. };
  383. pwm_pins: pwm {
  384. pins_pwm1 {
  385. pinmux = <MT7623_PIN_204_PWM1_FUNC_PWM1>;
  386. };
  387. pins_pwm2 {
  388. pinmux = <MT7623_PIN_205_PWM2_FUNC_PWM2>;
  389. };
  390. };
  391. };
  392. &usb1 {
  393. vusb33-supply = <&mt6323_vusb_reg>;
  394. vbus-supply = <&usb_p1_vbus>;
  395. status = "okay";
  396. };
  397. &u3phy1 {
  398. status = "okay";
  399. };
  400. &pcie {
  401. status = "okay";
  402. };
  403. &eth {
  404. status = "okay";
  405. };
  406. &gmac1 {
  407. mac-address = [00 11 22 33 44 56];
  408. status = "okay";
  409. };
  410. &gmac2 {
  411. mac-address = [00 11 22 33 44 55];
  412. status = "okay";
  413. phy-handle = <&phy5>;
  414. };
  415. &gsw {
  416. pinctrl-names = "default";
  417. pinctrl-0 = <&eth_default>;
  418. mediatek,reset-pin = <&pio 15 0>;
  419. status = "okay";
  420. };
  421. &pwm {
  422. pinctrl-names = "default";
  423. pinctrl-0 = <&pwm_pins>;
  424. status = "okay";
  425. };