imx8mp-venice-gw74xx.dts 22 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright 2021 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 "imx8mp.dtsi"
  11. / {
  12. model = "Gateworks Venice GW74xx i.MX8MP board";
  13. compatible = "gateworks,imx8mp-gw74xx", "fsl,imx8mp";
  14. aliases {
  15. ethernet0 = &eqos;
  16. ethernet1 = &fec;
  17. ethernet2 = &lan1;
  18. ethernet3 = &lan2;
  19. ethernet4 = &lan3;
  20. ethernet5 = &lan4;
  21. ethernet6 = &lan5;
  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-0 {
  33. label = "user_pb";
  34. gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
  35. linux,code = <BTN_0>;
  36. };
  37. key-1 {
  38. label = "user_pb1x";
  39. linux,code = <BTN_1>;
  40. interrupt-parent = <&gsc>;
  41. interrupts = <0>;
  42. };
  43. key-2 {
  44. label = "key_erased";
  45. linux,code = <BTN_2>;
  46. interrupt-parent = <&gsc>;
  47. interrupts = <1>;
  48. };
  49. key-3 {
  50. label = "eeprom_wp";
  51. linux,code = <BTN_3>;
  52. interrupt-parent = <&gsc>;
  53. interrupts = <2>;
  54. };
  55. key-4 {
  56. label = "tamper";
  57. linux,code = <BTN_4>;
  58. interrupt-parent = <&gsc>;
  59. interrupts = <5>;
  60. };
  61. key-5 {
  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. pinctrl-names = "default";
  71. pinctrl-0 = <&pinctrl_gpio_leds>;
  72. led-0 {
  73. function = LED_FUNCTION_HEARTBEAT;
  74. color = <LED_COLOR_ID_GREEN>;
  75. gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>;
  76. default-state = "on";
  77. linux,default-trigger = "heartbeat";
  78. };
  79. led-1 {
  80. function = LED_FUNCTION_STATUS;
  81. color = <LED_COLOR_ID_RED>;
  82. gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
  83. default-state = "off";
  84. };
  85. };
  86. pcie0_refclk: pcie0-refclk {
  87. compatible = "fixed-clock";
  88. #clock-cells = <0>;
  89. clock-frequency = <100000000>;
  90. };
  91. pps {
  92. compatible = "pps-gpio";
  93. pinctrl-names = "default";
  94. pinctrl-0 = <&pinctrl_pps>;
  95. gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
  96. };
  97. reg_usb2_vbus: regulator-usb2 {
  98. pinctrl-names = "default";
  99. pinctrl-0 = <&pinctrl_reg_usb2>;
  100. compatible = "regulator-fixed";
  101. regulator-name = "usb_usb2_vbus";
  102. gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
  103. enable-active-high;
  104. regulator-min-microvolt = <5000000>;
  105. regulator-max-microvolt = <5000000>;
  106. };
  107. reg_can2_stby: regulator-can2-stby {
  108. compatible = "regulator-fixed";
  109. pinctrl-names = "default";
  110. pinctrl-0 = <&pinctrl_reg_can>;
  111. regulator-name = "can2_stby";
  112. gpio = <&gpio3 19 GPIO_ACTIVE_LOW>;
  113. regulator-min-microvolt = <3300000>;
  114. regulator-max-microvolt = <3300000>;
  115. };
  116. reg_wifi_en: regulator-wifi-en {
  117. pinctrl-names = "default";
  118. pinctrl-0 = <&pinctrl_reg_wifi>;
  119. compatible = "regulator-fixed";
  120. regulator-name = "wl";
  121. gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>;
  122. startup-delay-us = <70000>;
  123. enable-active-high;
  124. regulator-min-microvolt = <3300000>;
  125. regulator-max-microvolt = <3300000>;
  126. };
  127. };
  128. &A53_0 {
  129. cpu-supply = <&reg_arm>;
  130. };
  131. &A53_1 {
  132. cpu-supply = <&reg_arm>;
  133. };
  134. &A53_2 {
  135. cpu-supply = <&reg_arm>;
  136. };
  137. &A53_3 {
  138. cpu-supply = <&reg_arm>;
  139. };
  140. /* off-board header */
  141. &ecspi2 {
  142. pinctrl-names = "default";
  143. pinctrl-0 = <&pinctrl_spi2>;
  144. cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
  145. status = "okay";
  146. };
  147. &eqos {
  148. pinctrl-names = "default";
  149. pinctrl-0 = <&pinctrl_eqos>;
  150. phy-mode = "rgmii-id";
  151. phy-handle = <&ethphy0>;
  152. status = "okay";
  153. mdio {
  154. compatible = "snps,dwmac-mdio";
  155. #address-cells = <1>;
  156. #size-cells = <0>;
  157. ethphy0: ethernet-phy@0 {
  158. compatible = "ethernet-phy-ieee802.3-c22";
  159. reg = <0x0>;
  160. };
  161. };
  162. };
  163. &fec {
  164. pinctrl-names = "default";
  165. pinctrl-0 = <&pinctrl_fec>;
  166. phy-mode = "rgmii-id";
  167. local-mac-address = [00 00 00 00 00 00];
  168. status = "okay";
  169. fixed-link {
  170. speed = <1000>;
  171. full-duplex;
  172. };
  173. };
  174. &flexcan2 {
  175. pinctrl-names = "default";
  176. pinctrl-0 = <&pinctrl_flexcan2>;
  177. xceiver-supply = <&reg_can2_stby>;
  178. status = "okay";
  179. };
  180. &gpio1 {
  181. gpio-line-names =
  182. "", "", "", "", "", "", "", "",
  183. "", "", "dio0", "", "dio1", "", "", "",
  184. "", "", "", "", "", "", "", "",
  185. "", "", "", "", "", "", "", "";
  186. };
  187. &gpio2 {
  188. gpio-line-names =
  189. "", "", "", "", "", "", "", "",
  190. "", "", "", "", "", "", "pcie3_wdis#", "",
  191. "", "", "pcie2_wdis#", "", "", "", "", "",
  192. "", "", "", "", "", "", "", "";
  193. };
  194. &gpio3 {
  195. gpio-line-names =
  196. "m2_gdis#", "", "", "", "", "", "", "m2_rst#",
  197. "", "", "", "", "", "", "", "",
  198. "m2_off#", "", "", "", "", "", "", "",
  199. "", "", "", "", "", "", "", "";
  200. };
  201. &gpio4 {
  202. gpio-line-names =
  203. "", "", "", "", "", "", "", "",
  204. "", "", "", "", "", "", "", "",
  205. "", "", "", "", "m2_wdis#", "", "", "",
  206. "", "", "", "", "", "", "", "uart_rs485";
  207. };
  208. &gpio5 {
  209. gpio-line-names =
  210. "uart_half", "uart_term", "", "", "", "", "", "",
  211. "", "", "", "", "", "", "", "",
  212. "", "", "", "", "", "", "", "",
  213. "", "", "", "", "", "", "", "";
  214. };
  215. &i2c1 {
  216. clock-frequency = <100000>;
  217. pinctrl-names = "default";
  218. pinctrl-0 = <&pinctrl_i2c1>;
  219. status = "okay";
  220. gsc: gsc@20 {
  221. compatible = "gw,gsc";
  222. reg = <0x20>;
  223. pinctrl-0 = <&pinctrl_gsc>;
  224. interrupt-parent = <&gpio4>;
  225. interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
  226. interrupt-controller;
  227. #interrupt-cells = <1>;
  228. adc {
  229. compatible = "gw,gsc-adc";
  230. #address-cells = <1>;
  231. #size-cells = <0>;
  232. channel@6 {
  233. gw,mode = <0>;
  234. reg = <0x06>;
  235. label = "temp";
  236. };
  237. channel@8 {
  238. gw,mode = <1>;
  239. reg = <0x08>;
  240. label = "vdd_bat";
  241. };
  242. channel@82 {
  243. gw,mode = <2>;
  244. reg = <0x82>;
  245. label = "vdd_adc1";
  246. gw,voltage-divider-ohms = <10000 10000>;
  247. };
  248. channel@84 {
  249. gw,mode = <2>;
  250. reg = <0x84>;
  251. label = "vdd_adc2";
  252. gw,voltage-divider-ohms = <10000 10000>;
  253. };
  254. channel@86 {
  255. gw,mode = <2>;
  256. reg = <0x86>;
  257. label = "vdd_vin";
  258. gw,voltage-divider-ohms = <22100 1000>;
  259. };
  260. channel@88 {
  261. gw,mode = <2>;
  262. reg = <0x88>;
  263. label = "vdd_3p3";
  264. gw,voltage-divider-ohms = <10000 10000>;
  265. };
  266. channel@8c {
  267. gw,mode = <2>;
  268. reg = <0x8c>;
  269. label = "vdd_2p5";
  270. gw,voltage-divider-ohms = <10000 10000>;
  271. };
  272. channel@90 {
  273. gw,mode = <2>;
  274. reg = <0x90>;
  275. label = "vdd_soc";
  276. };
  277. channel@92 {
  278. gw,mode = <2>;
  279. reg = <0x92>;
  280. label = "vdd_arm";
  281. };
  282. channel@98 {
  283. gw,mode = <2>;
  284. reg = <0x98>;
  285. label = "vdd_1p8";
  286. };
  287. channel@9a {
  288. gw,mode = <2>;
  289. reg = <0x9a>;
  290. label = "vdd_1p2";
  291. };
  292. channel@9c {
  293. gw,mode = <2>;
  294. reg = <0x9c>;
  295. label = "vdd_dram";
  296. };
  297. channel@a2 {
  298. gw,mode = <2>;
  299. reg = <0xa2>;
  300. label = "vdd_gsc";
  301. gw,voltage-divider-ohms = <10000 10000>;
  302. };
  303. };
  304. };
  305. gpio: gpio@23 {
  306. compatible = "nxp,pca9555";
  307. reg = <0x23>;
  308. gpio-controller;
  309. #gpio-cells = <2>;
  310. interrupt-parent = <&gsc>;
  311. interrupts = <4>;
  312. };
  313. pmic@25 {
  314. compatible = "nxp,pca9450c";
  315. reg = <0x25>;
  316. pinctrl-names = "default";
  317. pinctrl-0 = <&pinctrl_pmic>;
  318. interrupt-parent = <&gpio3>;
  319. interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
  320. regulators {
  321. BUCK1 {
  322. regulator-name = "BUCK1";
  323. regulator-min-microvolt = <720000>;
  324. regulator-max-microvolt = <1000000>;
  325. regulator-boot-on;
  326. regulator-always-on;
  327. regulator-ramp-delay = <3125>;
  328. };
  329. reg_arm: BUCK2 {
  330. regulator-name = "BUCK2";
  331. regulator-min-microvolt = <720000>;
  332. regulator-max-microvolt = <1025000>;
  333. regulator-boot-on;
  334. regulator-always-on;
  335. regulator-ramp-delay = <3125>;
  336. nxp,dvs-run-voltage = <950000>;
  337. nxp,dvs-standby-voltage = <850000>;
  338. };
  339. BUCK4 {
  340. regulator-name = "BUCK4";
  341. regulator-min-microvolt = <3000000>;
  342. regulator-max-microvolt = <3600000>;
  343. regulator-boot-on;
  344. regulator-always-on;
  345. };
  346. BUCK5 {
  347. regulator-name = "BUCK5";
  348. regulator-min-microvolt = <1650000>;
  349. regulator-max-microvolt = <1950000>;
  350. regulator-boot-on;
  351. regulator-always-on;
  352. };
  353. BUCK6 {
  354. regulator-name = "BUCK6";
  355. regulator-min-microvolt = <1045000>;
  356. regulator-max-microvolt = <1155000>;
  357. regulator-boot-on;
  358. regulator-always-on;
  359. };
  360. LDO1 {
  361. regulator-name = "LDO1";
  362. regulator-min-microvolt = <1650000>;
  363. regulator-max-microvolt = <1950000>;
  364. regulator-boot-on;
  365. regulator-always-on;
  366. };
  367. LDO3 {
  368. regulator-name = "LDO3";
  369. regulator-min-microvolt = <1710000>;
  370. regulator-max-microvolt = <1890000>;
  371. regulator-boot-on;
  372. regulator-always-on;
  373. };
  374. LDO5 {
  375. regulator-name = "LDO5";
  376. regulator-min-microvolt = <1800000>;
  377. regulator-max-microvolt = <3300000>;
  378. regulator-boot-on;
  379. regulator-always-on;
  380. };
  381. };
  382. };
  383. eeprom@50 {
  384. compatible = "atmel,24c02";
  385. reg = <0x50>;
  386. pagesize = <16>;
  387. };
  388. eeprom@51 {
  389. compatible = "atmel,24c02";
  390. reg = <0x51>;
  391. pagesize = <16>;
  392. };
  393. eeprom@52 {
  394. compatible = "atmel,24c02";
  395. reg = <0x52>;
  396. pagesize = <16>;
  397. };
  398. eeprom@53 {
  399. compatible = "atmel,24c02";
  400. reg = <0x53>;
  401. pagesize = <16>;
  402. };
  403. rtc@68 {
  404. compatible = "dallas,ds1672";
  405. reg = <0x68>;
  406. };
  407. };
  408. &i2c2 {
  409. clock-frequency = <400000>;
  410. pinctrl-names = "default";
  411. pinctrl-0 = <&pinctrl_i2c2>;
  412. status = "okay";
  413. accelerometer@19 {
  414. compatible = "st,lis2de12";
  415. pinctrl-names = "default";
  416. pinctrl-0 = <&pinctrl_accel>;
  417. reg = <0x19>;
  418. st,drdy-int-pin = <1>;
  419. interrupt-parent = <&gpio1>;
  420. interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
  421. interrupt-names = "INT1";
  422. };
  423. switch: switch@5f {
  424. compatible = "microchip,ksz9897";
  425. reg = <0x5f>;
  426. pinctrl-0 = <&pinctrl_ksz>;
  427. interrupt-parent = <&gpio4>;
  428. interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
  429. ports {
  430. #address-cells = <1>;
  431. #size-cells = <0>;
  432. lan1: port@0 {
  433. reg = <0>;
  434. label = "lan1";
  435. phy-mode = "internal";
  436. local-mac-address = [00 00 00 00 00 00];
  437. };
  438. lan2: port@1 {
  439. reg = <1>;
  440. label = "lan2";
  441. phy-mode = "internal";
  442. local-mac-address = [00 00 00 00 00 00];
  443. };
  444. lan3: port@2 {
  445. reg = <2>;
  446. label = "lan3";
  447. phy-mode = "internal";
  448. local-mac-address = [00 00 00 00 00 00];
  449. };
  450. lan4: port@3 {
  451. reg = <3>;
  452. label = "lan4";
  453. phy-mode = "internal";
  454. local-mac-address = [00 00 00 00 00 00];
  455. };
  456. lan5: port@4 {
  457. reg = <4>;
  458. label = "lan5";
  459. phy-mode = "internal";
  460. local-mac-address = [00 00 00 00 00 00];
  461. };
  462. port@5 {
  463. reg = <5>;
  464. label = "cpu";
  465. ethernet = <&fec>;
  466. phy-mode = "rgmii-id";
  467. fixed-link {
  468. speed = <1000>;
  469. full-duplex;
  470. };
  471. };
  472. };
  473. };
  474. };
  475. /* off-board header */
  476. &i2c3 {
  477. clock-frequency = <400000>;
  478. pinctrl-names = "default";
  479. pinctrl-0 = <&pinctrl_i2c3>;
  480. status = "okay";
  481. };
  482. /* off-board header */
  483. &i2c4 {
  484. clock-frequency = <400000>;
  485. pinctrl-names = "default";
  486. pinctrl-0 = <&pinctrl_i2c4>;
  487. status = "okay";
  488. };
  489. &pcie_phy {
  490. fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
  491. fsl,clkreq-unsupported;
  492. clocks = <&pcie0_refclk>;
  493. clock-names = "ref";
  494. status = "okay";
  495. };
  496. &pcie {
  497. pinctrl-names = "default";
  498. pinctrl-0 = <&pinctrl_pcie0>;
  499. reset-gpio = <&gpio2 17 GPIO_ACTIVE_LOW>;
  500. clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
  501. <&clk IMX8MP_CLK_PCIE_ROOT>,
  502. <&clk IMX8MP_CLK_HSIO_AXI>;
  503. clock-names = "pcie", "pcie_aux", "pcie_bus";
  504. assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
  505. assigned-clock-rates = <10000000>;
  506. assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
  507. status = "okay";
  508. };
  509. /* GPS / off-board header */
  510. &uart1 {
  511. pinctrl-names = "default";
  512. pinctrl-0 = <&pinctrl_uart1>;
  513. status = "okay";
  514. };
  515. /* RS232 console */
  516. &uart2 {
  517. pinctrl-names = "default";
  518. pinctrl-0 = <&pinctrl_uart2>;
  519. status = "okay";
  520. };
  521. /* bluetooth HCI */
  522. &uart3 {
  523. pinctrl-names = "default";
  524. pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_uart3_gpio>;
  525. cts-gpios = <&gpio3 21 GPIO_ACTIVE_LOW>;
  526. rts-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
  527. status = "okay";
  528. bluetooth {
  529. compatible = "brcm,bcm4330-bt";
  530. shutdown-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
  531. };
  532. };
  533. &uart4 {
  534. pinctrl-names = "default";
  535. pinctrl-0 = <&pinctrl_uart4>;
  536. status = "okay";
  537. };
  538. /* USB1 - Type C front panel */
  539. &usb3_0 {
  540. pinctrl-names = "default";
  541. pinctrl-0 = <&pinctrl_usb1>;
  542. fsl,over-current-active-low;
  543. status = "okay";
  544. };
  545. &usb3_phy0 {
  546. status = "okay";
  547. };
  548. &usb_dwc3_0 {
  549. /* dual role is implemented but not a full featured OTG */
  550. adp-disable;
  551. hnp-disable;
  552. srp-disable;
  553. dr_mode = "otg";
  554. usb-role-switch;
  555. role-switch-default-mode = "peripheral";
  556. status = "okay";
  557. connector {
  558. pinctrl-names = "default";
  559. pinctrl-0 = <&pinctrl_usbcon1>;
  560. compatible = "gpio-usb-b-connector", "usb-b-connector";
  561. type = "micro";
  562. label = "Type-C";
  563. id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
  564. };
  565. };
  566. /* USB2 - USB3.0 Hub */
  567. &usb3_phy1 {
  568. vbus-supply = <&reg_usb2_vbus>;
  569. status = "okay";
  570. };
  571. &usb3_1 {
  572. fsl,permanently-attached;
  573. fsl,disable-port-power-control;
  574. status = "okay";
  575. };
  576. &usb_dwc3_1 {
  577. dr_mode = "host";
  578. status = "okay";
  579. };
  580. /* SDIO WiFi */
  581. &usdhc1 {
  582. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  583. pinctrl-0 = <&pinctrl_usdhc1>;
  584. pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
  585. pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
  586. bus-width = <4>;
  587. non-removable;
  588. vmmc-supply = <&reg_wifi_en>;
  589. #address-cells = <1>;
  590. #size-cells = <0>;
  591. status = "okay";
  592. wifi@0 {
  593. compatible = "cypress,cyw4373-fmac";
  594. reg = <0>;
  595. };
  596. };
  597. /* eMMC */
  598. &usdhc3 {
  599. assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
  600. assigned-clock-rates = <400000000>;
  601. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  602. pinctrl-0 = <&pinctrl_usdhc3>;
  603. pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
  604. pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
  605. bus-width = <8>;
  606. non-removable;
  607. status = "okay";
  608. };
  609. &wdog1 {
  610. pinctrl-names = "default";
  611. pinctrl-0 = <&pinctrl_wdog>;
  612. fsl,ext-reset-output;
  613. status = "okay";
  614. };
  615. &iomuxc {
  616. pinctrl-names = "default";
  617. pinctrl-0 = <&pinctrl_hog>;
  618. pinctrl_hog: hoggrp {
  619. fsl,pins = <
  620. MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x40000040 /* DIO0 */
  621. MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 0x40000040 /* DIO1 */
  622. MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x40000040 /* M2SKT_OFF# */
  623. MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18 0x40000150 /* PCIE2_WDIS# */
  624. MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14 0x40000150 /* PCIE3_WDIS# */
  625. MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06 0x40000040 /* M2SKT_RST# */
  626. MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x40000150 /* M2SKT_WDIS# */
  627. MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00 0x40000150 /* M2SKT_GDIS# */
  628. MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01 0x40000104 /* UART_TERM */
  629. MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31 0x40000104 /* UART_RS485 */
  630. MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00 0x40000104 /* UART_HALF */
  631. >;
  632. };
  633. pinctrl_accel: accelgrp {
  634. fsl,pins = <
  635. MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x150
  636. >;
  637. };
  638. pinctrl_eqos: eqosgrp {
  639. fsl,pins = <
  640. MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x2
  641. MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x2
  642. MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x90
  643. MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x90
  644. MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x90
  645. MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x90
  646. MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x90
  647. MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x90
  648. MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x16
  649. MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x16
  650. MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x16
  651. MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x16
  652. MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x16
  653. MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x16
  654. MX8MP_IOMUXC_SAI3_RXD__GPIO4_IO30 0x140 /* RST# */
  655. MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x150 /* IRQ# */
  656. >;
  657. };
  658. pinctrl_fec: fecgrp {
  659. fsl,pins = <
  660. MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90
  661. MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90
  662. MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90
  663. MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90
  664. MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90
  665. MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90
  666. MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x16
  667. MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x16
  668. MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x16
  669. MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x16
  670. MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x16
  671. MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x16
  672. MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN 0x140
  673. MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT 0x140
  674. >;
  675. };
  676. pinctrl_flexcan2: flexcan2grp {
  677. fsl,pins = <
  678. MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154
  679. MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x154
  680. >;
  681. };
  682. pinctrl_gsc: gscgrp {
  683. fsl,pins = <
  684. MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20 0x150
  685. >;
  686. };
  687. pinctrl_i2c1: i2c1grp {
  688. fsl,pins = <
  689. MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c2
  690. MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c2
  691. >;
  692. };
  693. pinctrl_i2c2: i2c2grp {
  694. fsl,pins = <
  695. MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2
  696. MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c2
  697. >;
  698. };
  699. pinctrl_i2c3: i2c3grp {
  700. fsl,pins = <
  701. MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c2
  702. MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c2
  703. >;
  704. };
  705. pinctrl_i2c4: i2c4grp {
  706. fsl,pins = <
  707. MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c2
  708. MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c2
  709. >;
  710. };
  711. pinctrl_ksz: kszgrp {
  712. fsl,pins = <
  713. MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x150 /* IRQ# */
  714. MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02 0x140 /* RST# */
  715. >;
  716. };
  717. pinctrl_gpio_leds: ledgrp {
  718. fsl,pins = <
  719. MX8MP_IOMUXC_SD2_DATA0__GPIO2_IO15 0x10
  720. MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16 0x10
  721. >;
  722. };
  723. pinctrl_pcie0: pciegrp {
  724. fsl,pins = <
  725. MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17 0x110
  726. >;
  727. };
  728. pinctrl_pmic: pmicgrp {
  729. fsl,pins = <
  730. MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07 0x140
  731. >;
  732. };
  733. pinctrl_pps: ppsgrp {
  734. fsl,pins = <
  735. MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x140
  736. >;
  737. };
  738. pinctrl_reg_can: regcangrp {
  739. fsl,pins = <
  740. MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19 0x154
  741. >;
  742. };
  743. pinctrl_reg_usb2: regusb2grp {
  744. fsl,pins = <
  745. MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x140
  746. >;
  747. };
  748. pinctrl_reg_wifi: regwifigrp {
  749. fsl,pins = <
  750. MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09 0x110
  751. >;
  752. };
  753. pinctrl_sai2: sai2grp {
  754. fsl,pins = <
  755. MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC 0xd6
  756. MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6
  757. MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK 0xd6
  758. MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK 0xd6
  759. >;
  760. };
  761. pinctrl_spi2: spi2grp {
  762. fsl,pins = <
  763. MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x82
  764. MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x82
  765. MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x82
  766. MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x140
  767. >;
  768. };
  769. pinctrl_uart1: uart1grp {
  770. fsl,pins = <
  771. MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x140
  772. MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x140
  773. >;
  774. };
  775. pinctrl_uart2: uart2grp {
  776. fsl,pins = <
  777. MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140
  778. MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140
  779. >;
  780. };
  781. pinctrl_uart3: uart3grp {
  782. fsl,pins = <
  783. MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x140
  784. MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x140
  785. MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0x140
  786. MX8MP_IOMUXC_SAI5_RXD1__GPIO3_IO22 0x140
  787. >;
  788. };
  789. pinctrl_uart3_gpio: uart3gpiogrp {
  790. fsl,pins = <
  791. MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08 0x110
  792. >;
  793. };
  794. pinctrl_uart4: uart4grp {
  795. fsl,pins = <
  796. MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x140
  797. MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140
  798. >;
  799. };
  800. pinctrl_usb1: usb1grp {
  801. fsl,pins = <
  802. MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC 0x140
  803. >;
  804. };
  805. pinctrl_usbcon1: usb1congrp {
  806. fsl,pins = <
  807. MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x140
  808. >;
  809. };
  810. pinctrl_usdhc1: usdhc1grp {
  811. fsl,pins = <
  812. MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x190
  813. MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d0
  814. MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d0
  815. MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d0
  816. MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d0
  817. MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0
  818. >;
  819. };
  820. pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
  821. fsl,pins = <
  822. MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x194
  823. MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d4
  824. MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d4
  825. MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d4
  826. MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d4
  827. MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d4
  828. >;
  829. };
  830. pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
  831. fsl,pins = <
  832. MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x196
  833. MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d6
  834. MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d6
  835. MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d6
  836. MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d6
  837. MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d6
  838. >;
  839. };
  840. pinctrl_usdhc3: usdhc3grp {
  841. fsl,pins = <
  842. MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190
  843. MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0
  844. MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0
  845. MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0
  846. MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0
  847. MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0
  848. MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0
  849. MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0
  850. MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0
  851. MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0
  852. MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190
  853. >;
  854. };
  855. pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
  856. fsl,pins = <
  857. MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194
  858. MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4
  859. MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4
  860. MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4
  861. MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4
  862. MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4
  863. MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4
  864. MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4
  865. MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4
  866. MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4
  867. MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194
  868. >;
  869. };
  870. pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
  871. fsl,pins = <
  872. MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196
  873. MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6
  874. MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d6
  875. MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d6
  876. MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d6
  877. MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d6
  878. MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d6
  879. MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d6
  880. MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d6
  881. MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d6
  882. MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196
  883. >;
  884. };
  885. pinctrl_wdog: wdoggrp {
  886. fsl,pins = <
  887. MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0x166
  888. >;
  889. };
  890. };