imx8mm-venice-gw7901.dts 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright 2020 Gateworks Corporation
  4. */
  5. /dts-v1/;
  6. #include <dt-bindings/gpio/gpio.h>
  7. #include <dt-bindings/input/linux-event-codes.h>
  8. #include <dt-bindings/leds/common.h>
  9. #include <dt-bindings/phy/phy-imx8-pcie.h>
  10. #include "imx8mm.dtsi"
  11. / {
  12. model = "Gateworks Venice GW7901 i.MX8MM board";
  13. compatible = "gw,imx8mm-gw7901", "fsl,imx8mm";
  14. aliases {
  15. ethernet0 = &fec1;
  16. ethernet1 = &lan1;
  17. ethernet2 = &lan2;
  18. ethernet3 = &lan3;
  19. ethernet4 = &lan4;
  20. usb0 = &usbotg1;
  21. usb1 = &usbotg2;
  22. };
  23. chosen {
  24. stdout-path = &uart2;
  25. };
  26. memory@40000000 {
  27. device_type = "memory";
  28. reg = <0x0 0x40000000 0 0x80000000>;
  29. };
  30. gpio-keys {
  31. compatible = "gpio-keys";
  32. key-user-pb {
  33. label = "user_pb";
  34. gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
  35. linux,code = <BTN_0>;
  36. };
  37. key-user-pb1x {
  38. label = "user_pb1x";
  39. linux,code = <BTN_1>;
  40. interrupt-parent = <&gsc>;
  41. interrupts = <0>;
  42. };
  43. key-erased {
  44. label = "key_erased";
  45. linux,code = <BTN_2>;
  46. interrupt-parent = <&gsc>;
  47. interrupts = <1>;
  48. };
  49. key-eeprom-wp {
  50. label = "eeprom_wp";
  51. linux,code = <BTN_3>;
  52. interrupt-parent = <&gsc>;
  53. interrupts = <2>;
  54. };
  55. key-tamper {
  56. label = "tamper";
  57. linux,code = <BTN_4>;
  58. interrupt-parent = <&gsc>;
  59. interrupts = <5>;
  60. };
  61. switch-hold {
  62. label = "switch_hold";
  63. linux,code = <BTN_5>;
  64. interrupt-parent = <&gsc>;
  65. interrupts = <7>;
  66. };
  67. };
  68. led-controller {
  69. compatible = "gpio-leds";
  70. led-0 {
  71. function = LED_FUNCTION_STATUS;
  72. color = <LED_COLOR_ID_RED>;
  73. label = "led01_red";
  74. gpios = <&leds_gpio 0 GPIO_ACTIVE_HIGH>;
  75. default-state = "off";
  76. };
  77. led-1 {
  78. function = LED_FUNCTION_STATUS;
  79. color = <LED_COLOR_ID_GREEN>;
  80. label = "led01_grn";
  81. gpios = <&leds_gpio 1 GPIO_ACTIVE_HIGH>;
  82. default-state = "off";
  83. };
  84. led-2 {
  85. function = LED_FUNCTION_STATUS;
  86. color = <LED_COLOR_ID_RED>;
  87. label = "led02_red";
  88. gpios = <&leds_gpio 2 GPIO_ACTIVE_HIGH>;
  89. default-state = "off";
  90. };
  91. led-3 {
  92. function = LED_FUNCTION_STATUS;
  93. color = <LED_COLOR_ID_GREEN>;
  94. label = "led02_grn";
  95. gpios = <&leds_gpio 3 GPIO_ACTIVE_HIGH>;
  96. default-state = "off";
  97. };
  98. led-4 {
  99. function = LED_FUNCTION_STATUS;
  100. color = <LED_COLOR_ID_RED>;
  101. label = "led03_red";
  102. gpios = <&leds_gpio 4 GPIO_ACTIVE_HIGH>;
  103. default-state = "off";
  104. };
  105. led-5 {
  106. function = LED_FUNCTION_STATUS;
  107. color = <LED_COLOR_ID_GREEN>;
  108. label = "led03_grn";
  109. gpios = <&leds_gpio 5 GPIO_ACTIVE_HIGH>;
  110. default-state = "off";
  111. };
  112. led-6 {
  113. function = LED_FUNCTION_STATUS;
  114. color = <LED_COLOR_ID_RED>;
  115. label = "led04_red";
  116. gpios = <&leds_gpio 8 GPIO_ACTIVE_HIGH>;
  117. default-state = "off";
  118. };
  119. led-7 {
  120. function = LED_FUNCTION_STATUS;
  121. color = <LED_COLOR_ID_GREEN>;
  122. label = "led04_grn";
  123. gpios = <&leds_gpio 9 GPIO_ACTIVE_HIGH>;
  124. default-state = "off";
  125. };
  126. led-8 {
  127. function = LED_FUNCTION_STATUS;
  128. color = <LED_COLOR_ID_RED>;
  129. label = "led05_red";
  130. gpios = <&leds_gpio 10 GPIO_ACTIVE_HIGH>;
  131. default-state = "off";
  132. };
  133. led-9 {
  134. function = LED_FUNCTION_STATUS;
  135. color = <LED_COLOR_ID_GREEN>;
  136. label = "led05_grn";
  137. gpios = <&leds_gpio 11 GPIO_ACTIVE_HIGH>;
  138. default-state = "off";
  139. };
  140. led-a {
  141. function = LED_FUNCTION_STATUS;
  142. color = <LED_COLOR_ID_RED>;
  143. label = "led06_red";
  144. gpios = <&leds_gpio 12 GPIO_ACTIVE_HIGH>;
  145. default-state = "off";
  146. };
  147. led-b {
  148. function = LED_FUNCTION_STATUS;
  149. color = <LED_COLOR_ID_GREEN>;
  150. label = "led06_grn";
  151. gpios = <&leds_gpio 13 GPIO_ACTIVE_HIGH>;
  152. default-state = "off";
  153. };
  154. };
  155. pcie0_refclk: pcie0-refclk {
  156. compatible = "fixed-clock";
  157. #clock-cells = <0>;
  158. clock-frequency = <100000000>;
  159. };
  160. reg_3p3v: regulator-3p3v {
  161. compatible = "regulator-fixed";
  162. regulator-name = "3P3V";
  163. regulator-min-microvolt = <3300000>;
  164. regulator-max-microvolt = <3300000>;
  165. };
  166. regulator-ioexp {
  167. pinctrl-names = "default";
  168. pinctrl-0 = <&pinctrl_reg_ioexp>;
  169. compatible = "regulator-fixed";
  170. regulator-name = "ioexp";
  171. gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
  172. enable-active-high;
  173. startup-delay-us = <100>;
  174. regulator-min-microvolt = <3300000>;
  175. regulator-max-microvolt = <3300000>;
  176. regulator-always-on;
  177. };
  178. regulator-isouart {
  179. pinctrl-names = "default";
  180. pinctrl-0 = <&pinctrl_reg_isouart>;
  181. compatible = "regulator-fixed";
  182. regulator-name = "iso_uart";
  183. gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
  184. startup-delay-us = <100>;
  185. regulator-min-microvolt = <3300000>;
  186. regulator-max-microvolt = <3300000>;
  187. regulator-always-on;
  188. };
  189. reg_usb2_vbus: regulator-usb2 {
  190. pinctrl-names = "default";
  191. pinctrl-0 = <&pinctrl_reg_usb2>;
  192. compatible = "regulator-fixed";
  193. regulator-name = "usb_usb2_vbus";
  194. gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>;
  195. enable-active-high;
  196. regulator-min-microvolt = <5000000>;
  197. regulator-max-microvolt = <5000000>;
  198. };
  199. reg_wifi: regulator-wifi {
  200. pinctrl-names = "default";
  201. pinctrl-0 = <&pinctrl_reg_wl>;
  202. compatible = "regulator-fixed";
  203. regulator-name = "wifi";
  204. gpio = <&gpio3 25 GPIO_ACTIVE_HIGH>;
  205. enable-active-high;
  206. startup-delay-us = <100>;
  207. regulator-min-microvolt = <3300000>;
  208. regulator-max-microvolt = <3300000>;
  209. };
  210. };
  211. &ddrc {
  212. operating-points-v2 = <&ddrc_opp_table>;
  213. ddrc_opp_table: opp-table {
  214. compatible = "operating-points-v2";
  215. opp-25M {
  216. opp-hz = /bits/ 64 <25000000>;
  217. };
  218. opp-100M {
  219. opp-hz = /bits/ 64 <100000000>;
  220. };
  221. opp-750M {
  222. opp-hz = /bits/ 64 <750000000>;
  223. };
  224. };
  225. };
  226. &disp_blk_ctrl {
  227. status = "disabled";
  228. };
  229. &ecspi1 {
  230. pinctrl-names = "default";
  231. pinctrl-0 = <&pinctrl_spi1>;
  232. cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
  233. status = "okay";
  234. flash@0 {
  235. compatible = "jedec,spi-nor";
  236. reg = <0>;
  237. spi-max-frequency = <40000000>;
  238. status = "okay";
  239. };
  240. };
  241. &fec1 {
  242. pinctrl-names = "default";
  243. pinctrl-0 = <&pinctrl_fec1>;
  244. phy-mode = "rgmii-id";
  245. local-mac-address = [00 00 00 00 00 00];
  246. status = "okay";
  247. fixed-link {
  248. speed = <1000>;
  249. full-duplex;
  250. };
  251. };
  252. &gpio1 {
  253. gpio-line-names = "uart1_rs422#", "", "", "uart1_rs485#",
  254. "", "uart1_rs232#", "dig1_in", "dig1_out",
  255. "", "", "", "", "", "", "", "",
  256. "", "", "", "", "", "", "", "",
  257. "", "", "", "", "", "", "", "";
  258. };
  259. &gpio4 {
  260. gpio-line-names = "", "", "", "",
  261. "", "", "uart3_rs232#", "uart3_rs422#",
  262. "uart3_rs485#", "", "", "", "", "", "", "",
  263. "", "", "", "", "", "", "", "",
  264. "", "", "", "uart4_rs485#", "", "sim1det#", "sim2det#", "";
  265. };
  266. &gpio5 {
  267. gpio-line-names = "", "", "", "dig2_out", "dig2_in", "sim2sel", "", "",
  268. "", "", "uart4_rs232#", "", "", "uart4_rs422#", "", "",
  269. "", "", "", "", "", "", "", "",
  270. "", "", "", "", "", "", "", "";
  271. };
  272. &gpu_2d {
  273. status = "disabled";
  274. };
  275. &gpu_3d {
  276. status = "disabled";
  277. };
  278. &i2c1 {
  279. clock-frequency = <100000>;
  280. pinctrl-names = "default";
  281. pinctrl-0 = <&pinctrl_i2c1>;
  282. status = "okay";
  283. gsc: gsc@20 {
  284. compatible = "gw,gsc";
  285. reg = <0x20>;
  286. pinctrl-0 = <&pinctrl_gsc>;
  287. interrupt-parent = <&gpio4>;
  288. interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
  289. interrupt-controller;
  290. #interrupt-cells = <1>;
  291. adc {
  292. compatible = "gw,gsc-adc";
  293. #address-cells = <1>;
  294. #size-cells = <0>;
  295. channel@6 {
  296. gw,mode = <0>;
  297. reg = <0x06>;
  298. label = "temp";
  299. };
  300. channel@8 {
  301. gw,mode = <1>;
  302. reg = <0x08>;
  303. label = "vdd_bat";
  304. };
  305. channel@82 {
  306. gw,mode = <2>;
  307. reg = <0x82>;
  308. label = "vin_aux1";
  309. gw,voltage-divider-ohms = <22100 1000>;
  310. };
  311. channel@84 {
  312. gw,mode = <2>;
  313. reg = <0x84>;
  314. label = "vin_aux2";
  315. gw,voltage-divider-ohms = <22100 1000>;
  316. };
  317. channel@86 {
  318. gw,mode = <2>;
  319. reg = <0x86>;
  320. label = "vdd_vin";
  321. gw,voltage-divider-ohms = <22100 1000>;
  322. };
  323. channel@88 {
  324. gw,mode = <2>;
  325. reg = <0x88>;
  326. label = "vdd_3p3";
  327. gw,voltage-divider-ohms = <10000 10000>;
  328. };
  329. channel@8c {
  330. gw,mode = <2>;
  331. reg = <0x8c>;
  332. label = "vdd_2p5";
  333. gw,voltage-divider-ohms = <10000 10000>;
  334. };
  335. channel@8e {
  336. gw,mode = <2>;
  337. reg = <0x8e>;
  338. label = "vdd_0p95";
  339. };
  340. channel@90 {
  341. gw,mode = <2>;
  342. reg = <0x90>;
  343. label = "vdd_soc";
  344. };
  345. channel@92 {
  346. gw,mode = <2>;
  347. reg = <0x92>;
  348. label = "vdd_arm";
  349. };
  350. channel@98 {
  351. gw,mode = <2>;
  352. reg = <0x98>;
  353. label = "vdd_1p8";
  354. };
  355. channel@9a {
  356. gw,mode = <2>;
  357. reg = <0x9a>;
  358. label = "vdd_1p2";
  359. };
  360. channel@9c {
  361. gw,mode = <2>;
  362. reg = <0x9c>;
  363. label = "vdd_dram";
  364. };
  365. channel@a2 {
  366. gw,mode = <2>;
  367. reg = <0xa2>;
  368. label = "vdd_gsc";
  369. gw,voltage-divider-ohms = <10000 10000>;
  370. };
  371. };
  372. };
  373. gpio: gpio@23 {
  374. compatible = "nxp,pca9555";
  375. reg = <0x23>;
  376. gpio-controller;
  377. #gpio-cells = <2>;
  378. interrupt-parent = <&gsc>;
  379. interrupts = <4>;
  380. };
  381. eeprom@50 {
  382. compatible = "atmel,24c02";
  383. reg = <0x50>;
  384. pagesize = <16>;
  385. };
  386. eeprom@51 {
  387. compatible = "atmel,24c02";
  388. reg = <0x51>;
  389. pagesize = <16>;
  390. };
  391. eeprom@52 {
  392. compatible = "atmel,24c02";
  393. reg = <0x52>;
  394. pagesize = <16>;
  395. };
  396. eeprom@53 {
  397. compatible = "atmel,24c02";
  398. reg = <0x53>;
  399. pagesize = <16>;
  400. };
  401. rtc@68 {
  402. compatible = "dallas,ds1672";
  403. reg = <0x68>;
  404. };
  405. };
  406. &i2c2 {
  407. clock-frequency = <400000>;
  408. pinctrl-names = "default";
  409. pinctrl-0 = <&pinctrl_i2c2>;
  410. status = "okay";
  411. pmic@4b {
  412. compatible = "rohm,bd71847";
  413. reg = <0x4b>;
  414. pinctrl-names = "default";
  415. pinctrl-0 = <&pinctrl_pmic>;
  416. interrupt-parent = <&gpio3>;
  417. interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
  418. rohm,reset-snvs-powered;
  419. #clock-cells = <0>;
  420. clocks = <&osc_32k 0>;
  421. clock-output-names = "clk-32k-out";
  422. regulators {
  423. /* vdd_soc: 0.805-0.900V (typ=0.8V) */
  424. BUCK1 {
  425. regulator-name = "buck1";
  426. regulator-min-microvolt = <700000>;
  427. regulator-max-microvolt = <1300000>;
  428. regulator-boot-on;
  429. regulator-always-on;
  430. regulator-ramp-delay = <1250>;
  431. };
  432. /* vdd_arm: 0.805-1.0V (typ=0.9V) */
  433. BUCK2 {
  434. regulator-name = "buck2";
  435. regulator-min-microvolt = <700000>;
  436. regulator-max-microvolt = <1300000>;
  437. regulator-boot-on;
  438. regulator-always-on;
  439. regulator-ramp-delay = <1250>;
  440. rohm,dvs-run-voltage = <1000000>;
  441. rohm,dvs-idle-voltage = <900000>;
  442. };
  443. /* vdd_0p9: 0.805-1.0V (typ=0.9V) */
  444. BUCK3 {
  445. regulator-name = "buck3";
  446. regulator-min-microvolt = <700000>;
  447. regulator-max-microvolt = <1350000>;
  448. regulator-boot-on;
  449. regulator-always-on;
  450. };
  451. /* vdd_3p3 */
  452. BUCK4 {
  453. regulator-name = "buck4";
  454. regulator-min-microvolt = <3000000>;
  455. regulator-max-microvolt = <3300000>;
  456. regulator-boot-on;
  457. regulator-always-on;
  458. };
  459. /* vdd_1p8 */
  460. BUCK5 {
  461. regulator-name = "buck5";
  462. regulator-min-microvolt = <1605000>;
  463. regulator-max-microvolt = <1995000>;
  464. regulator-boot-on;
  465. regulator-always-on;
  466. };
  467. /* vdd_dram */
  468. BUCK6 {
  469. regulator-name = "buck6";
  470. regulator-min-microvolt = <800000>;
  471. regulator-max-microvolt = <1400000>;
  472. regulator-boot-on;
  473. regulator-always-on;
  474. };
  475. /* nvcc_snvs_1p8 */
  476. LDO1 {
  477. regulator-name = "ldo1";
  478. regulator-min-microvolt = <1600000>;
  479. regulator-max-microvolt = <1900000>;
  480. regulator-boot-on;
  481. regulator-always-on;
  482. };
  483. /* vdd_snvs_0p8 */
  484. LDO2 {
  485. regulator-name = "ldo2";
  486. regulator-min-microvolt = <800000>;
  487. regulator-max-microvolt = <900000>;
  488. regulator-boot-on;
  489. regulator-always-on;
  490. };
  491. /* vdda_1p8 */
  492. LDO3 {
  493. regulator-name = "ldo3";
  494. regulator-min-microvolt = <1800000>;
  495. regulator-max-microvolt = <3300000>;
  496. regulator-boot-on;
  497. regulator-always-on;
  498. };
  499. LDO4 {
  500. regulator-name = "ldo4";
  501. regulator-min-microvolt = <900000>;
  502. regulator-max-microvolt = <1800000>;
  503. regulator-boot-on;
  504. regulator-always-on;
  505. };
  506. LDO6 {
  507. regulator-name = "ldo6";
  508. regulator-min-microvolt = <900000>;
  509. regulator-max-microvolt = <1800000>;
  510. regulator-boot-on;
  511. regulator-always-on;
  512. };
  513. };
  514. };
  515. };
  516. &i2c3 {
  517. clock-frequency = <400000>;
  518. pinctrl-names = "default";
  519. pinctrl-0 = <&pinctrl_i2c3>;
  520. status = "okay";
  521. leds_gpio: gpio@20 {
  522. compatible = "nxp,pca9555";
  523. reg = <0x20>;
  524. gpio-controller;
  525. #gpio-cells = <2>;
  526. };
  527. switch: switch@5f {
  528. compatible = "microchip,ksz9897";
  529. reg = <0x5f>;
  530. pinctrl-0 = <&pinctrl_ksz>;
  531. interrupt-parent = <&gpio4>;
  532. interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
  533. phy-mode = "rgmii-id";
  534. ports {
  535. #address-cells = <1>;
  536. #size-cells = <0>;
  537. lan1: port@0 {
  538. reg = <0>;
  539. label = "lan1";
  540. phy-mode = "internal";
  541. local-mac-address = [00 00 00 00 00 00];
  542. };
  543. lan2: port@1 {
  544. reg = <1>;
  545. label = "lan2";
  546. phy-mode = "internal";
  547. local-mac-address = [00 00 00 00 00 00];
  548. };
  549. lan3: port@2 {
  550. reg = <2>;
  551. label = "lan3";
  552. phy-mode = "internal";
  553. local-mac-address = [00 00 00 00 00 00];
  554. };
  555. lan4: port@3 {
  556. reg = <3>;
  557. label = "lan4";
  558. phy-mode = "internal";
  559. local-mac-address = [00 00 00 00 00 00];
  560. };
  561. port@5 {
  562. reg = <5>;
  563. label = "cpu";
  564. ethernet = <&fec1>;
  565. phy-mode = "rgmii-id";
  566. fixed-link {
  567. speed = <1000>;
  568. full-duplex;
  569. };
  570. };
  571. };
  572. };
  573. crypto@60 {
  574. compatible = "atmel,atecc508a";
  575. reg = <0x60>;
  576. };
  577. };
  578. &i2c4 {
  579. clock-frequency = <400000>;
  580. pinctrl-names = "default";
  581. pinctrl-0 = <&pinctrl_i2c4>;
  582. status = "okay";
  583. };
  584. &pcie_phy {
  585. fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
  586. fsl,clkreq-unsupported;
  587. clocks = <&pcie0_refclk>;
  588. clock-names = "ref";
  589. status = "okay";
  590. };
  591. &pcie0 {
  592. pinctrl-names = "default";
  593. pinctrl-0 = <&pinctrl_pcie0>;
  594. reset-gpio = <&gpio5 2 GPIO_ACTIVE_LOW>;
  595. clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>,
  596. <&pcie0_refclk>;
  597. clock-names = "pcie", "pcie_aux", "pcie_bus";
  598. assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>,
  599. <&clk IMX8MM_CLK_PCIE1_CTRL>;
  600. assigned-clock-rates = <10000000>, <250000000>;
  601. assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>,
  602. <&clk IMX8MM_SYS_PLL2_250M>;
  603. status = "okay";
  604. };
  605. &pgc_gpu {
  606. status = "disabled";
  607. };
  608. &pgc_gpumix {
  609. status = "disabled";
  610. };
  611. &pgc_mipi {
  612. status = "disabled";
  613. };
  614. &uart1 {
  615. pinctrl-names = "default";
  616. pinctrl-0 = <&pinctrl_uart1>, <&pinctrl_uart1_gpio>;
  617. rts-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
  618. cts-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
  619. dtr-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
  620. dsr-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
  621. dcd-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
  622. status = "okay";
  623. };
  624. /* console */
  625. &uart2 {
  626. pinctrl-names = "default";
  627. pinctrl-0 = <&pinctrl_uart2>;
  628. status = "okay";
  629. };
  630. &uart3 {
  631. pinctrl-names = "default";
  632. pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_uart3_gpio>;
  633. cts-gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;
  634. rts-gpios = <&gpio4 9 GPIO_ACTIVE_LOW>;
  635. status = "okay";
  636. };
  637. &uart4 {
  638. pinctrl-names = "default";
  639. pinctrl-0 = <&pinctrl_uart4>, <&pinctrl_uart4_gpio>;
  640. cts-gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
  641. rts-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
  642. status = "okay";
  643. };
  644. &usbotg1 {
  645. dr_mode = "host";
  646. disable-over-current;
  647. status = "okay";
  648. };
  649. &usbotg2 {
  650. dr_mode = "host";
  651. vbus-supply = <&reg_usb2_vbus>;
  652. over-current-active-low;
  653. status = "okay";
  654. };
  655. /* SDIO WiFi */
  656. &usdhc1 {
  657. pinctrl-names = "default";
  658. pinctrl-0 = <&pinctrl_usdhc1>;
  659. bus-width = <4>;
  660. non-removable;
  661. vmmc-supply = <&reg_wifi>;
  662. status = "okay";
  663. };
  664. /* microSD */
  665. &usdhc2 {
  666. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  667. pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
  668. pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
  669. pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
  670. cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
  671. bus-width = <4>;
  672. vmmc-supply = <&reg_3p3v>;
  673. status = "okay";
  674. };
  675. /* eMMC */
  676. &usdhc3 {
  677. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  678. pinctrl-0 = <&pinctrl_usdhc3>;
  679. pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
  680. pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
  681. bus-width = <8>;
  682. non-removable;
  683. status = "okay";
  684. };
  685. &wdog1 {
  686. pinctrl-names = "default";
  687. pinctrl-0 = <&pinctrl_wdog>;
  688. fsl,ext-reset-output;
  689. status = "okay";
  690. };
  691. &iomuxc {
  692. pinctrl-names = "default";
  693. pinctrl-0 = <&pinctrl_hog>;
  694. pinctrl_hog: hoggrp {
  695. fsl,pins = <
  696. MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3 0x40000041 /* DIG2_OUT */
  697. MX8MM_IOMUXC_SPDIF_RX_GPIO5_IO4 0x40000041 /* DIG2_IN */
  698. MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x40000041 /* DIG1_IN */
  699. MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x40000041 /* DIG1_OUT */
  700. MX8MM_IOMUXC_SAI3_RXD_GPIO4_IO30 0x40000041 /* SIM2DET# */
  701. MX8MM_IOMUXC_SAI3_RXC_GPIO4_IO29 0x40000041 /* SIM1DET# */
  702. MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0x40000041 /* SIM2SEL */
  703. >;
  704. };
  705. pinctrl_fec1: fec1grp {
  706. fsl,pins = <
  707. MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3
  708. MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3
  709. MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
  710. MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
  711. MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
  712. MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
  713. MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
  714. MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
  715. MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
  716. MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
  717. MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
  718. MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
  719. MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
  720. MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
  721. MX8MM_IOMUXC_SAI1_TXD6_GPIO4_IO18 0x19 /* IRQ# */
  722. MX8MM_IOMUXC_SAI1_TXD7_GPIO4_IO19 0x19 /* RST# */
  723. >;
  724. };
  725. pinctrl_gsc: gscgrp {
  726. fsl,pins = <
  727. MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x159
  728. >;
  729. };
  730. pinctrl_i2c1: i2c1grp {
  731. fsl,pins = <
  732. MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3
  733. MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3
  734. >;
  735. };
  736. pinctrl_i2c2: i2c2grp {
  737. fsl,pins = <
  738. MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3
  739. MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3
  740. >;
  741. };
  742. pinctrl_i2c3: i2c3grp {
  743. fsl,pins = <
  744. MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
  745. MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
  746. >;
  747. };
  748. pinctrl_i2c4: i2c4grp {
  749. fsl,pins = <
  750. MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL 0x400001c3
  751. MX8MM_IOMUXC_I2C4_SDA_I2C4_SDA 0x400001c3
  752. >;
  753. };
  754. pinctrl_ksz: kszgrp {
  755. fsl,pins = <
  756. MX8MM_IOMUXC_SAI1_TXD6_GPIO4_IO18 0x41
  757. MX8MM_IOMUXC_SAI1_TXD7_GPIO4_IO19 0x41 /* RST# */
  758. >;
  759. };
  760. pinctrl_pcie0: pciegrp {
  761. fsl,pins = <
  762. MX8MM_IOMUXC_SAI3_TXFS_GPIO4_IO31 0x40000041 /* WDIS# */
  763. MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x41
  764. >;
  765. };
  766. pinctrl_pmic: pmicgrp {
  767. fsl,pins = <
  768. MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x41
  769. >;
  770. };
  771. pinctrl_reg_isouart: regisouartgrp {
  772. fsl,pins = <
  773. MX8MM_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x40000041
  774. >;
  775. };
  776. pinctrl_reg_ioexp: regioexpgrp {
  777. fsl,pins = <
  778. MX8MM_IOMUXC_SAI2_RXFS_GPIO4_IO21 0x40000041
  779. >;
  780. };
  781. pinctrl_reg_wl: regwlgrp {
  782. fsl,pins = <
  783. MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x40000041
  784. >;
  785. };
  786. pinctrl_reg_usb2: regusb1grp {
  787. fsl,pins = <
  788. MX8MM_IOMUXC_SAI1_RXD0_GPIO4_IO2 0x41
  789. MX8MM_IOMUXC_SAI1_TXD5_GPIO4_IO17 0x140
  790. MX8MM_IOMUXC_GPIO1_IO15_USB2_OTG_OC 0x140
  791. >;
  792. };
  793. pinctrl_spi1: spi1grp {
  794. fsl,pins = <
  795. MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x82
  796. MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x82
  797. MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x82
  798. MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x140
  799. >;
  800. };
  801. pinctrl_uart1: uart1grp {
  802. fsl,pins = <
  803. MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
  804. MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140
  805. MX8MM_IOMUXC_GPIO1_IO01_GPIO1_IO1 0x140
  806. MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x140
  807. MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x140
  808. MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x140
  809. MX8MM_IOMUXC_GPIO1_IO14_GPIO1_IO14 0x140
  810. >;
  811. };
  812. pinctrl_uart1_gpio: uart1gpiogrp {
  813. fsl,pins = <
  814. MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x40000041 /* RS422# */
  815. MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x40000041 /* RS485# */
  816. MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x40000041 /* RS232# */
  817. >;
  818. };
  819. pinctrl_uart2: uart2grp {
  820. fsl,pins = <
  821. MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140
  822. MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140
  823. >;
  824. };
  825. pinctrl_uart3: uart3grp {
  826. fsl,pins = <
  827. MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX 0x140
  828. MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX 0x140
  829. MX8MM_IOMUXC_SAI1_RXD7_GPIO4_IO9 0x140
  830. MX8MM_IOMUXC_SAI1_TXFS_GPIO4_IO10 0x140
  831. >;
  832. };
  833. pinctrl_uart3_gpio: uart3gpiogrp {
  834. fsl,pins = <
  835. MX8MM_IOMUXC_SAI1_RXD4_GPIO4_IO6 0x40000110 /* RS232# */
  836. MX8MM_IOMUXC_SAI1_RXD5_GPIO4_IO7 0x40000110 /* RS422# */
  837. MX8MM_IOMUXC_SAI1_RXD6_GPIO4_IO8 0x40000110 /* RS485# */
  838. >;
  839. };
  840. pinctrl_uart4: uart4grp {
  841. fsl,pins = <
  842. MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX 0x140
  843. MX8MM_IOMUXC_UART4_TXD_UART4_DCE_TX 0x140
  844. MX8MM_IOMUXC_ECSPI2_MOSI_GPIO5_IO11 0x140
  845. MX8MM_IOMUXC_ECSPI2_MISO_GPIO5_IO12 0x140
  846. >;
  847. };
  848. pinctrl_uart4_gpio: uart4gpiogrp {
  849. fsl,pins = <
  850. MX8MM_IOMUXC_ECSPI2_SCLK_GPIO5_IO10 0x40000041 /* RS232# */
  851. MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x40000041 /* RS422# */
  852. MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x40000041 /* RS485# */
  853. >;
  854. };
  855. pinctrl_usdhc1: usdhc1grp {
  856. fsl,pins = <
  857. MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190
  858. MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0
  859. MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0
  860. MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0
  861. MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0
  862. MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0
  863. >;
  864. };
  865. pinctrl_usdhc2: usdhc2grp {
  866. fsl,pins = <
  867. MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190
  868. MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0
  869. MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0
  870. MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0
  871. MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0
  872. MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0
  873. >;
  874. };
  875. pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
  876. fsl,pins = <
  877. MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194
  878. MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4
  879. MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4
  880. MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4
  881. MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4
  882. MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4
  883. >;
  884. };
  885. pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
  886. fsl,pins = <
  887. MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196
  888. MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6
  889. MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6
  890. MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6
  891. MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6
  892. MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6
  893. >;
  894. };
  895. pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
  896. fsl,pins = <
  897. MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x1c4
  898. MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
  899. >;
  900. };
  901. pinctrl_usdhc3: usdhc3grp {
  902. fsl,pins = <
  903. MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190
  904. MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0
  905. MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0
  906. MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0
  907. MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0
  908. MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0
  909. MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0
  910. MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0
  911. MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0
  912. MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0
  913. MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190
  914. >;
  915. };
  916. pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
  917. fsl,pins = <
  918. MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194
  919. MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4
  920. MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4
  921. MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4
  922. MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4
  923. MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4
  924. MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4
  925. MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4
  926. MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4
  927. MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4
  928. MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x194
  929. >;
  930. };
  931. pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
  932. fsl,pins = <
  933. MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196
  934. MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6
  935. MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d6
  936. MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d6
  937. MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d6
  938. MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d6
  939. MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d6
  940. MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d6
  941. MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d6
  942. MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d6
  943. MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x196
  944. >;
  945. };
  946. pinctrl_wdog: wdoggrp {
  947. fsl,pins = <
  948. MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
  949. >;
  950. };
  951. };