imx8mp-tqma8mpql-mba8mpxl.dts 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756
  1. // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. /*
  3. * Copyright 2021-2022 TQ-Systems GmbH
  4. * Author: Alexander Stein <[email protected]>
  5. */
  6. /dts-v1/;
  7. #include <dt-bindings/leds/common.h>
  8. #include <dt-bindings/net/ti-dp83867.h>
  9. #include <dt-bindings/pwm/pwm.h>
  10. #include "imx8mp-tqma8mpql.dtsi"
  11. / {
  12. model = "TQ-Systems i.MX8MPlus TQMa8MPxL on MBa8MPxL";
  13. compatible = "tq,imx8mp-tqma8mpql-mba8mpxl", "tq,imx8mp-tqma8mpql", "fsl,imx8mp";
  14. chosen {
  15. stdout-path = &uart4;
  16. };
  17. iio-hwmon {
  18. compatible = "iio-hwmon";
  19. io-channels = <&adc 0>, <&adc 1>;
  20. };
  21. aliases {
  22. mmc0 = &usdhc3;
  23. mmc1 = &usdhc2;
  24. mmc2 = &usdhc1;
  25. rtc0 = &pcf85063;
  26. rtc1 = &snvs_rtc;
  27. spi0 = &flexspi;
  28. spi1 = &ecspi1;
  29. spi2 = &ecspi2;
  30. spi3 = &ecspi3;
  31. };
  32. backlight_lvds: backlight {
  33. compatible = "pwm-backlight";
  34. pinctrl-names = "default";
  35. pinctrl-0 = <&pinctrl_backlight>;
  36. pwms = <&pwm2 0 5000000 0>;
  37. brightness-levels = <0 4 8 16 32 64 128 255>;
  38. default-brightness-level = <7>;
  39. power-supply = <&reg_vcc_12v0>;
  40. enable-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
  41. status = "disabled";
  42. };
  43. gpio-keys {
  44. compatible = "gpio-keys";
  45. pinctrl-names = "default";
  46. pinctrl-0 = <&pinctrl_gpiobutton>;
  47. autorepeat;
  48. switch-1 {
  49. label = "S12";
  50. linux,code = <BTN_0>;
  51. gpios = <&gpio5 27 GPIO_ACTIVE_LOW>;
  52. };
  53. switch-2 {
  54. label = "S13";
  55. linux,code = <BTN_1>;
  56. gpios = <&gpio5 26 GPIO_ACTIVE_LOW>;
  57. };
  58. };
  59. gpio-leds {
  60. compatible = "gpio-leds";
  61. pinctrl-names = "default";
  62. pinctrl-0 = <&pinctrl_gpioled>;
  63. led-0 {
  64. color = <LED_COLOR_ID_GREEN>;
  65. function = LED_FUNCTION_STATUS;
  66. function-enumerator = <0>;
  67. gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
  68. linux,default-trigger = "default-on";
  69. };
  70. led-1 {
  71. color = <LED_COLOR_ID_GREEN>;
  72. function = LED_FUNCTION_HEARTBEAT;
  73. gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
  74. linux,default-trigger = "heartbeat";
  75. };
  76. led-2 {
  77. color = <LED_COLOR_ID_YELLOW>;
  78. function = LED_FUNCTION_STATUS;
  79. function-enumerator = <1>;
  80. gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>;
  81. };
  82. };
  83. display: display {
  84. /*
  85. * Display is not fixed, so compatible has to be added from
  86. * DT overlay
  87. */
  88. pinctrl-names = "default";
  89. pinctrl-0 = <&pinctrl_lvdsdisplay>;
  90. power-supply = <&reg_vcc_3v3>;
  91. enable-gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
  92. backlight = <&backlight_lvds>;
  93. status = "disabled";
  94. };
  95. reg_usdhc2_vmmc: regulator-usdhc2 {
  96. compatible = "regulator-fixed";
  97. pinctrl-names = "default";
  98. pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
  99. regulator-name = "VSD_3V3";
  100. regulator-min-microvolt = <3300000>;
  101. regulator-max-microvolt = <3300000>;
  102. gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
  103. enable-active-high;
  104. startup-delay-us = <100>;
  105. off-on-delay-us = <12000>;
  106. };
  107. reg_vcc_12v0: regulator-12v0 {
  108. compatible = "regulator-fixed";
  109. pinctrl-names = "default";
  110. pinctrl-0 = <&pinctrl_reg12v0>;
  111. regulator-name = "VCC_12V0";
  112. regulator-min-microvolt = <12000000>;
  113. regulator-max-microvolt = <12000000>;
  114. gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
  115. enable-active-high;
  116. };
  117. reg_vcc_3v3: regulator-3v3 {
  118. compatible = "regulator-fixed";
  119. regulator-name = "VCC_3V3";
  120. regulator-min-microvolt = <3300000>;
  121. regulator-max-microvolt = <3300000>;
  122. };
  123. reg_vcc_5v0: regulator-5v0 {
  124. compatible = "regulator-fixed";
  125. regulator-name = "VCC_5V0";
  126. regulator-min-microvolt = <5000000>;
  127. regulator-max-microvolt = <5000000>;
  128. };
  129. reserved-memory {
  130. #address-cells = <2>;
  131. #size-cells = <2>;
  132. ranges;
  133. ocram: ocram@900000 {
  134. no-map;
  135. reg = <0 0x900000 0 0x70000>;
  136. };
  137. /* global autoconfigured region for contiguous allocations */
  138. linux,cma {
  139. compatible = "shared-dma-pool";
  140. reusable;
  141. size = <0 0x38000000>;
  142. alloc-ranges = <0 0x40000000 0 0xB0000000>;
  143. linux,cma-default;
  144. };
  145. };
  146. };
  147. &ecspi1 {
  148. pinctrl-names = "default";
  149. pinctrl-0 = <&pinctrl_ecspi1>;
  150. cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
  151. status = "okay";
  152. };
  153. &ecspi2 {
  154. pinctrl-names = "default";
  155. pinctrl-0 = <&pinctrl_ecspi2>;
  156. cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
  157. status = "okay";
  158. };
  159. &ecspi3 {
  160. pinctrl-names = "default";
  161. pinctrl-0 = <&pinctrl_ecspi3>;
  162. cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
  163. status = "okay";
  164. adc: adc@0 {
  165. reg = <0>;
  166. compatible = "microchip,mcp3202";
  167. /* 100 ksps * 18 */
  168. spi-max-frequency = <1800000>;
  169. vref-supply = <&reg_vcc_3v3>;
  170. #io-channel-cells = <1>;
  171. };
  172. };
  173. &eqos {
  174. pinctrl-names = "default";
  175. pinctrl-0 = <&pinctrl_eqos>, <&pinctrl_eqos_phy>;
  176. phy-mode = "rgmii-id";
  177. phy-handle = <&ethphy3>;
  178. status = "okay";
  179. mdio {
  180. compatible = "snps,dwmac-mdio";
  181. #address-cells = <1>;
  182. #size-cells = <0>;
  183. ethphy3: ethernet-phy@3 {
  184. compatible = "ethernet-phy-ieee802.3-c22";
  185. reg = <3>;
  186. ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
  187. ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
  188. ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
  189. ti,dp83867-rxctrl-strap-quirk;
  190. ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
  191. reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
  192. reset-assert-us = <500000>;
  193. reset-deassert-us = <50000>;
  194. enet-phy-lane-no-swap;
  195. interrupt-parent = <&gpio4>;
  196. interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
  197. };
  198. };
  199. };
  200. &fec {
  201. pinctrl-names = "default";
  202. pinctrl-0 = <&pinctrl_fec>, <&pinctrl_fec_phy>;
  203. phy-mode = "rgmii-id";
  204. phy-handle = <&ethphy0>;
  205. fsl,magic-packet;
  206. status = "okay";
  207. mdio {
  208. #address-cells = <1>;
  209. #size-cells = <0>;
  210. ethphy0: ethernet-phy@0 {
  211. compatible = "ethernet-phy-ieee802.3-c22";
  212. reg = <0>;
  213. ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
  214. ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
  215. ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
  216. ti,dp83867-rxctrl-strap-quirk;
  217. ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
  218. reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
  219. reset-assert-us = <500000>;
  220. reset-deassert-us = <50000>;
  221. enet-phy-lane-no-swap;
  222. interrupt-parent = <&gpio4>;
  223. interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
  224. };
  225. };
  226. };
  227. &flexcan1 {
  228. pinctrl-names = "default";
  229. pinctrl-0 = <&pinctrl_flexcan1>;
  230. xceiver-supply = <&reg_vcc_3v3>;
  231. status = "okay";
  232. };
  233. &flexcan2 {
  234. pinctrl-names = "default";
  235. pinctrl-0 = <&pinctrl_flexcan2>;
  236. xceiver-supply = <&reg_vcc_3v3>;
  237. status = "okay";
  238. };
  239. &gpio1 {
  240. pinctrl-names = "default";
  241. pinctrl-0 = <&pinctrl_gpio1>;
  242. gpio-line-names = "GPO1", "GPO0", "", "GPO3",
  243. "", "", "GPO2", "GPI0",
  244. "PMIC_IRQ", "GPI1", "OTG_ID", "USB_HUB_RST#",
  245. "OTG_PWR", "", "GPI2", "GPI3",
  246. "", "", "", "",
  247. "", "", "", "",
  248. "", "", "", "",
  249. "", "", "", "";
  250. };
  251. &gpio2 {
  252. pinctrl-names = "default";
  253. pinctrl-0 = <&pinctrl_hoggpio2>;
  254. gpio-line-names = "", "", "", "",
  255. "", "", "VCC12V_EN", "PERST#",
  256. "", "", "CLKREQ#", "PEWAKE#",
  257. "USDHC2_CD", "", "", "",
  258. "", "", "", "V_SD3V3_EN",
  259. "", "", "", "",
  260. "", "", "", "",
  261. "", "", "", "";
  262. perst-hog {
  263. gpio-hog;
  264. gpios = <7 0>;
  265. output-high;
  266. line-name = "PERST#";
  267. };
  268. clkreq-hog {
  269. gpio-hog;
  270. gpios = <10 0>;
  271. input;
  272. line-name = "CLKREQ#";
  273. };
  274. pewake-hog {
  275. gpio-hog;
  276. gpios = <11 0>;
  277. input;
  278. line-name = "PEWAKE#";
  279. };
  280. };
  281. &gpio3 {
  282. gpio-line-names = "", "", "", "",
  283. "", "", "", "",
  284. "", "", "", "",
  285. "", "", "LVDS0_RESET#", "",
  286. "", "", "", "LVDS0_BLT_EN",
  287. "LVDS0_PWR_EN", "", "", "",
  288. "", "", "", "",
  289. "", "", "", "";
  290. };
  291. &gpio4 {
  292. pinctrl-names = "default";
  293. pinctrl-0 = <&pinctrl_gpio4>;
  294. gpio-line-names = "ENET0_RST#", "ENET0_INT#", "ENET1_RST#", "ENET1_INT#",
  295. "", "", "", "",
  296. "", "", "", "",
  297. "", "", "", "",
  298. "", "", "DP_IRQ", "DSI_EN",
  299. "HDMI_OC#", "TEMP_EVENT#", "PCIE_CLK_OE#", "",
  300. "", "", "", "FAN_PWR",
  301. "RTC_EVENT#", "CODEC_RST#", "", "";
  302. };
  303. &gpio5 {
  304. gpio-line-names = "", "", "", "LED2",
  305. "LED1", "LED0", "CSI0_RESET#", "CSI0_SYNC",
  306. "CSI0_TRIGGER", "CSI0_ENABLE", "", "",
  307. "", "ECSPI2_SS0", "", "",
  308. "", "", "", "",
  309. "", "", "", "",
  310. "", "ECSPI3_SS0", "SWITCH_A", "SWITCH_B",
  311. "", "", "", "";
  312. };
  313. &i2c2 {
  314. clock-frequency = <384000>;
  315. pinctrl-names = "default", "gpio";
  316. pinctrl-0 = <&pinctrl_i2c2>;
  317. pinctrl-1 = <&pinctrl_i2c2_gpio>;
  318. scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  319. sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  320. status = "okay";
  321. /* NXP SE97BTP with temperature sensor + eeprom */
  322. se97_1c: temperature-sensor-eeprom@1c {
  323. compatible = "nxp,se97", "jedec,jc-42.4-temp";
  324. reg = <0x1c>;
  325. };
  326. at24c02_54: eeprom@54 {
  327. compatible = "nxp,se97b", "atmel,24c02";
  328. reg = <0x54>;
  329. pagesize = <16>;
  330. vcc-supply = <&reg_vcc_3v3>;
  331. };
  332. };
  333. &i2c4 {
  334. clock-frequency = <384000>;
  335. pinctrl-names = "default", "gpio";
  336. pinctrl-0 = <&pinctrl_i2c4>;
  337. pinctrl-1 = <&pinctrl_i2c4_gpio>;
  338. scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  339. sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  340. status = "okay";
  341. };
  342. &i2c6 {
  343. clock-frequency = <384000>;
  344. pinctrl-names = "default", "gpio";
  345. pinctrl-0 = <&pinctrl_i2c6>;
  346. pinctrl-1 = <&pinctrl_i2c6_gpio>;
  347. scl-gpios = <&gpio2 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  348. sda-gpios = <&gpio2 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  349. status = "okay";
  350. };
  351. &pcf85063 {
  352. /* RTC_EVENT# is connected on MBa8MPxL */
  353. pinctrl-names = "default";
  354. pinctrl-0 = <&pinctrl_pcf85063>;
  355. interrupt-parent = <&gpio4>;
  356. interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
  357. };
  358. &pwm2 {
  359. pinctrl-names = "default";
  360. pinctrl-0 = <&pinctrl_pwm2>;
  361. status = "disabled";
  362. };
  363. &pwm3 {
  364. pinctrl-names = "default";
  365. pinctrl-0 = <&pinctrl_pwm3>;
  366. status = "okay";
  367. };
  368. &snvs_pwrkey {
  369. status = "okay";
  370. };
  371. &uart1 {
  372. pinctrl-names = "default";
  373. pinctrl-0 = <&pinctrl_uart1>;
  374. assigned-clocks = <&clk IMX8MP_CLK_UART1>;
  375. assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
  376. status = "okay";
  377. };
  378. &uart2 {
  379. pinctrl-names = "default";
  380. pinctrl-0 = <&pinctrl_uart2>;
  381. assigned-clocks = <&clk IMX8MP_CLK_UART2>;
  382. assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
  383. status = "okay";
  384. };
  385. &uart3 {
  386. pinctrl-names = "default";
  387. pinctrl-0 = <&pinctrl_uart3>;
  388. assigned-clocks = <&clk IMX8MP_CLK_UART3>;
  389. assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
  390. status = "okay";
  391. };
  392. &uart4 {
  393. /* console */
  394. pinctrl-names = "default";
  395. pinctrl-0 = <&pinctrl_uart4>;
  396. status = "okay";
  397. };
  398. &usb3_0 {
  399. pinctrl-names = "default";
  400. pinctrl-0 = <&pinctrl_usb0>;
  401. fsl,over-current-active-low;
  402. status = "okay";
  403. };
  404. &usb3_phy0 {
  405. vbus-supply = <&reg_vcc_5v0>;
  406. status = "okay";
  407. };
  408. &usb_dwc3_0 {
  409. /* dual role is implemented, but not a full featured OTG */
  410. hnp-disable;
  411. srp-disable;
  412. adp-disable;
  413. dr_mode = "otg";
  414. usb-role-switch;
  415. role-switch-default-mode = "peripheral";
  416. status = "okay";
  417. connector {
  418. compatible = "gpio-usb-b-connector", "usb-b-connector";
  419. type = "micro";
  420. label = "X29";
  421. pinctrl-names = "default";
  422. pinctrl-0 = <&pinctrl_usbcon0>;
  423. id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
  424. };
  425. };
  426. &usdhc2 {
  427. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  428. pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
  429. pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
  430. pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
  431. cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
  432. vmmc-supply = <&reg_usdhc2_vmmc>;
  433. no-mmc;
  434. no-sdio;
  435. disable-wp;
  436. bus-width = <4>;
  437. status = "okay";
  438. };
  439. &iomuxc {
  440. pinctrl_backlight: backlightgrp {
  441. fsl,pins = <MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19 0x14>;
  442. };
  443. pinctrl_flexcan1: flexcan1grp {
  444. fsl,pins = <MX8MP_IOMUXC_SAI5_RXD1__CAN1_TX 0x150>,
  445. <MX8MP_IOMUXC_SAI5_RXD2__CAN1_RX 0x150>;
  446. };
  447. pinctrl_flexcan2: flexcan2grp {
  448. fsl,pins = <MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x150>,
  449. <MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x150>;
  450. };
  451. /* only on X57, primary used as CSI0 control signals */
  452. pinctrl_ecspi1: ecspi1grp {
  453. fsl,pins = <MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO 0x1c0>,
  454. <MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI 0x1c0>,
  455. <MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK 0x1c0>,
  456. <MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x1c0>;
  457. };
  458. /* on X63 and optionally on X57, can also be used as CSI1 control signals */
  459. pinctrl_ecspi2: ecspi2grp {
  460. fsl,pins = <MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x1c0>,
  461. <MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x1c0>,
  462. <MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x1c0>,
  463. <MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x1c0>;
  464. };
  465. pinctrl_ecspi3: ecspi3grp {
  466. fsl,pins = <MX8MP_IOMUXC_UART1_TXD__ECSPI3_MOSI 0x1c0>,
  467. <MX8MP_IOMUXC_UART1_RXD__ECSPI3_SCLK 0x1c0>,
  468. <MX8MP_IOMUXC_UART2_RXD__ECSPI3_MISO 0x1c0>,
  469. <MX8MP_IOMUXC_UART2_TXD__GPIO5_IO25 0x1c0>;
  470. };
  471. pinctrl_eqos: eqosgrp {
  472. fsl,pins = <MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x40000044>,
  473. <MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x40000044>,
  474. <MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x90>,
  475. <MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x90>,
  476. <MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x90>,
  477. <MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x90>,
  478. <MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x90>,
  479. <MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x90>,
  480. <MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x12>,
  481. <MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x12>,
  482. <MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x12>,
  483. <MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x12>,
  484. <MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x12>,
  485. <MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x14>;
  486. };
  487. pinctrl_eqos_event: eqosevtgrp {
  488. fsl,pins = <MX8MP_IOMUXC_SAI2_RXD0__ENET_QOS_1588_EVENT2_OUT 0x100>,
  489. <MX8MP_IOMUXC_SAI2_TXD0__ENET_QOS_1588_EVENT2_IN 0x1c0>;
  490. };
  491. pinctrl_eqos_phy: eqosphygrp {
  492. fsl,pins = <MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x100>,
  493. <MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03 0x1c0>;
  494. };
  495. pinctrl_fec: fecgrp {
  496. fsl,pins = <MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x40000044>,
  497. <MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x40000044>,
  498. <MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90>,
  499. <MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90>,
  500. <MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90>,
  501. <MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90>,
  502. <MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90>,
  503. <MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90>,
  504. <MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x12>,
  505. <MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x12>,
  506. <MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x12>,
  507. <MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x12>,
  508. <MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x12>,
  509. <MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x14>;
  510. };
  511. pinctrl_fec_event: fecevtgrp {
  512. fsl,pins = <MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN 0x100>,
  513. <MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT 0x1c0>;
  514. };
  515. pinctrl_fec_phy: fecphygrp {
  516. fsl,pins = <MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x100>,
  517. <MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0x1c0>;
  518. };
  519. pinctrl_fec_phyalt: fecphyaltgrp {
  520. fsl,pins = <MX8MP_IOMUXC_SAI2_TXFS__GPIO4_IO24 0x180>,
  521. <MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25 0x180>;
  522. };
  523. pinctrl_gpiobutton: gpiobuttongrp {
  524. fsl,pins = <MX8MP_IOMUXC_UART3_RXD__GPIO5_IO26 0x10>,
  525. <MX8MP_IOMUXC_UART3_TXD__GPIO5_IO27 0x10>;
  526. };
  527. pinctrl_gpioled: gpioledgrp {
  528. fsl,pins = <MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x14>,
  529. <MX8MP_IOMUXC_SPDIF_RX__GPIO5_IO04 0x14>,
  530. <MX8MP_IOMUXC_SPDIF_TX__GPIO5_IO03 0x14>;
  531. };
  532. pinctrl_gpio1: gpio1grp {
  533. fsl,pins = <MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00 0x10>,
  534. <MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01 0x10>,
  535. <MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x10>,
  536. <MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x10>,
  537. <MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x80>,
  538. <MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x80>,
  539. <MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 0x80>,
  540. <MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15 0x80>;
  541. };
  542. pinctrl_gpio4: gpio4grp {
  543. fsl,pins = <MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20 0x180>,
  544. <MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22 0x180>;
  545. };
  546. pinctrl_hdmi: hdmigrp {
  547. fsl,pins = <MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c2>,
  548. <MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c2>,
  549. <MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x40000010>,
  550. <MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC 0x40000010>;
  551. };
  552. pinctrl_hoggpio2: hoggpio2grp {
  553. fsl,pins = <MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x140>,
  554. <MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0x140>,
  555. <MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x140>;
  556. };
  557. pinctrl_i2c2: i2c2grp {
  558. fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001e2>,
  559. <MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001e2>;
  560. };
  561. pinctrl_i2c2_gpio: i2c2-gpiogrp {
  562. fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16 0x400001e2>,
  563. <MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17 0x400001e2>;
  564. };
  565. pinctrl_i2c4: i2c4grp {
  566. fsl,pins = <MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001e2>,
  567. <MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001e2>;
  568. };
  569. pinctrl_i2c4_gpio: i2c4-gpiogrp {
  570. fsl,pins = <MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20 0x400001e2>,
  571. <MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21 0x400001e2>;
  572. };
  573. pinctrl_i2c6: i2c6grp {
  574. fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__I2C6_SCL 0x400001e2>,
  575. <MX8MP_IOMUXC_SD1_DATA1__I2C6_SDA 0x400001e2>;
  576. };
  577. pinctrl_i2c6_gpio: i2c6-gpiogrp {
  578. fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__GPIO2_IO02 0x400001e2>,
  579. <MX8MP_IOMUXC_SD1_DATA1__GPIO2_IO03 0x400001e2>;
  580. };
  581. pinctrl_lvdsdisplay: lvdsdisplaygrp {
  582. fsl,pins = <MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20 0x10>; /* Power enable */
  583. };
  584. pinctrl_pcf85063: pcf85063grp {
  585. fsl,pins = <MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x80>;
  586. };
  587. /* LVDS Backlight */
  588. pinctrl_pwm2: pwm2grp {
  589. fsl,pins = <MX8MP_IOMUXC_SAI5_RXD0__PWM2_OUT 0x14>;
  590. };
  591. /* FAN */
  592. pinctrl_pwm3: pwm3grp {
  593. fsl,pins = <MX8MP_IOMUXC_I2C3_SDA__PWM3_OUT 0x14>;
  594. };
  595. pinctrl_reg12v0: reg12v0grp {
  596. fsl,pins = <MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x140>; /* VCC12V enable */
  597. };
  598. /* X61 */
  599. pinctrl_uart1: uart1grp {
  600. fsl,pins = <MX8MP_IOMUXC_SD1_CLK__UART1_DCE_TX 0x140>,
  601. <MX8MP_IOMUXC_SD1_CMD__UART1_DCE_RX 0x140>;
  602. };
  603. /* X61 */
  604. pinctrl_uart2: uart2grp {
  605. fsl,pins = <MX8MP_IOMUXC_SD1_DATA2__UART2_DCE_TX 0x140>,
  606. <MX8MP_IOMUXC_SD1_DATA3__UART2_DCE_RX 0x140>;
  607. };
  608. pinctrl_uart3: uart3grp {
  609. fsl,pins = <MX8MP_IOMUXC_SD1_DATA6__UART3_DCE_TX 0x140>,
  610. <MX8MP_IOMUXC_SD1_DATA7__UART3_DCE_RX 0x140>;
  611. };
  612. pinctrl_uart4: uart4grp {
  613. fsl,pins = <MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x140>,
  614. <MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140>;
  615. };
  616. pinctrl_usb0: usb0grp {
  617. fsl,pins = <MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC 0x1c0>,
  618. <MX8MP_IOMUXC_GPIO1_IO12__USB1_OTG_PWR 0x1c0>;
  619. };
  620. pinctrl_usbcon0: usb0congrp {
  621. fsl,pins = <MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x1c0>;
  622. };
  623. pinctrl_usdhc2: usdhc2grp {
  624. fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x192>,
  625. <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d2>,
  626. <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d2>,
  627. <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d2>,
  628. <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d2>,
  629. <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d2>,
  630. <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0>;
  631. };
  632. pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
  633. fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>,
  634. <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4>,
  635. <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4>,
  636. <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4>,
  637. <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4>,
  638. <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4>,
  639. <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0>;
  640. };
  641. pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
  642. fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>,
  643. <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4>,
  644. <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4>,
  645. <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4>,
  646. <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4>,
  647. <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4>,
  648. <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0>;
  649. };
  650. pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
  651. fsl,pins = <MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c0>;
  652. };
  653. };