imx8mm-verdin.dtsi 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320
  1. // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. /*
  3. * Copyright 2022 Toradex
  4. */
  5. #include "dt-bindings/phy/phy-imx8-pcie.h"
  6. #include "dt-bindings/pwm/pwm.h"
  7. #include "imx8mm.dtsi"
  8. / {
  9. chosen {
  10. stdout-path = &uart1;
  11. };
  12. aliases {
  13. rtc0 = &rtc_i2c;
  14. rtc1 = &snvs_rtc;
  15. };
  16. backlight: backlight {
  17. compatible = "pwm-backlight";
  18. brightness-levels = <0 45 63 88 119 158 203 255>;
  19. default-brightness-level = <4>;
  20. /* Verdin I2S_2_D_OUT (DSI_1_BKL_EN/DSI_1_BKL_EN_LVDS, SODIMM 46) */
  21. enable-gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>;
  22. pinctrl-names = "default";
  23. pinctrl-0 = <&pinctrl_i2s_2_d_out_dsi_1_bkl_en>;
  24. power-supply = <&reg_3p3v>;
  25. /* Verdin PWM_3_DSI/PWM_3_DSI_LVDS (SODIMM 19) */
  26. pwms = <&pwm1 0 6666667 PWM_POLARITY_INVERTED>;
  27. status = "disabled";
  28. };
  29. /* Fixed clock dedicated to SPI CAN controller */
  30. clk40m: oscillator {
  31. compatible = "fixed-clock";
  32. #clock-cells = <0>;
  33. clock-frequency = <40000000>;
  34. };
  35. gpio-keys {
  36. compatible = "gpio-keys";
  37. pinctrl-names = "default";
  38. pinctrl-0 = <&pinctrl_gpio_keys>;
  39. key-wakeup {
  40. debounce-interval = <10>;
  41. /* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */
  42. gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
  43. label = "Wake-Up";
  44. linux,code = <KEY_WAKEUP>;
  45. wakeup-source;
  46. };
  47. };
  48. hdmi_connector: hdmi-connector {
  49. compatible = "hdmi-connector";
  50. ddc-i2c-bus = <&i2c2>;
  51. label = "hdmi";
  52. type = "a";
  53. status = "disabled";
  54. };
  55. panel_lvds: panel-lvds {
  56. compatible = "panel-lvds";
  57. backlight = <&backlight>;
  58. data-mapping = "vesa-24";
  59. status = "disabled";
  60. };
  61. /* Carrier Board Supplies */
  62. reg_1p8v: regulator-1p8v {
  63. compatible = "regulator-fixed";
  64. regulator-max-microvolt = <1800000>;
  65. regulator-min-microvolt = <1800000>;
  66. regulator-name = "+V1.8_SW";
  67. };
  68. reg_3p3v: regulator-3p3v {
  69. compatible = "regulator-fixed";
  70. regulator-max-microvolt = <3300000>;
  71. regulator-min-microvolt = <3300000>;
  72. regulator-name = "+V3.3_SW";
  73. };
  74. reg_5p0v: regulator-5p0v {
  75. compatible = "regulator-fixed";
  76. regulator-max-microvolt = <5000000>;
  77. regulator-min-microvolt = <5000000>;
  78. regulator-name = "+V5_SW";
  79. };
  80. /* Non PMIC On-module Supplies */
  81. reg_ethphy: regulator-ethphy {
  82. compatible = "regulator-fixed";
  83. enable-active-high;
  84. gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; /* PMIC_EN_ETH */
  85. off-on-delay-us = <500000>;
  86. pinctrl-names = "default";
  87. pinctrl-0 = <&pinctrl_reg_eth>;
  88. regulator-always-on;
  89. regulator-boot-on;
  90. regulator-max-microvolt = <3300000>;
  91. regulator-min-microvolt = <3300000>;
  92. regulator-name = "On-module +V3.3_ETH";
  93. startup-delay-us = <200000>;
  94. };
  95. reg_usb_otg1_vbus: regulator-usb-otg1 {
  96. compatible = "regulator-fixed";
  97. enable-active-high;
  98. /* Verdin USB_1_EN (SODIMM 155) */
  99. gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
  100. pinctrl-names = "default";
  101. pinctrl-0 = <&pinctrl_reg_usb1_en>;
  102. regulator-max-microvolt = <5000000>;
  103. regulator-min-microvolt = <5000000>;
  104. regulator-name = "USB_1_EN";
  105. };
  106. reg_usb_otg2_vbus: regulator-usb-otg2 {
  107. compatible = "regulator-fixed";
  108. enable-active-high;
  109. /* Verdin USB_2_EN (SODIMM 185) */
  110. gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
  111. pinctrl-names = "default";
  112. pinctrl-0 = <&pinctrl_reg_usb2_en>;
  113. regulator-max-microvolt = <5000000>;
  114. regulator-min-microvolt = <5000000>;
  115. regulator-name = "USB_2_EN";
  116. };
  117. reg_usdhc2_vmmc: regulator-usdhc2 {
  118. compatible = "regulator-fixed";
  119. enable-active-high;
  120. /* Verdin SD_1_PWR_EN (SODIMM 76) */
  121. gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>;
  122. off-on-delay-us = <100000>;
  123. pinctrl-names = "default";
  124. pinctrl-0 = <&pinctrl_usdhc2_pwr_en>;
  125. regulator-max-microvolt = <3300000>;
  126. regulator-min-microvolt = <3300000>;
  127. regulator-name = "+V3.3_SD";
  128. startup-delay-us = <2000>;
  129. };
  130. reserved-memory {
  131. #address-cells = <2>;
  132. #size-cells = <2>;
  133. ranges;
  134. /* Use the kernel configuration settings instead */
  135. /delete-node/ linux,cma;
  136. };
  137. };
  138. &A53_0 {
  139. cpu-supply = <&reg_vdd_arm>;
  140. };
  141. &A53_1 {
  142. cpu-supply = <&reg_vdd_arm>;
  143. };
  144. &A53_2 {
  145. cpu-supply = <&reg_vdd_arm>;
  146. };
  147. &A53_3 {
  148. cpu-supply = <&reg_vdd_arm>;
  149. };
  150. &cpu_alert0 {
  151. temperature = <95000>;
  152. };
  153. &cpu_crit0 {
  154. temperature = <105000>;
  155. };
  156. &ddrc {
  157. operating-points-v2 = <&ddrc_opp_table>;
  158. ddrc_opp_table: opp-table {
  159. compatible = "operating-points-v2";
  160. opp-25M {
  161. opp-hz = /bits/ 64 <25000000>;
  162. };
  163. opp-100M {
  164. opp-hz = /bits/ 64 <100000000>;
  165. };
  166. opp-750M {
  167. opp-hz = /bits/ 64 <750000000>;
  168. };
  169. };
  170. };
  171. /* Verdin SPI_1 */
  172. &ecspi2 {
  173. #address-cells = <1>;
  174. #size-cells = <0>;
  175. cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
  176. pinctrl-names = "default";
  177. pinctrl-0 = <&pinctrl_ecspi2>;
  178. };
  179. /* Verdin CAN_1 (On-module) */
  180. &ecspi3 {
  181. #address-cells = <1>;
  182. #size-cells = <0>;
  183. cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
  184. pinctrl-names = "default";
  185. pinctrl-0 = <&pinctrl_ecspi3>;
  186. status = "okay";
  187. can1: can@0 {
  188. compatible = "microchip,mcp251xfd";
  189. clocks = <&clk40m>;
  190. interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_LOW>;
  191. pinctrl-names = "default";
  192. pinctrl-0 = <&pinctrl_can1_int>;
  193. reg = <0>;
  194. spi-max-frequency = <8500000>;
  195. };
  196. };
  197. /* Verdin ETH_1 (On-module PHY) */
  198. &fec1 {
  199. fsl,magic-packet;
  200. phy-handle = <&ethphy0>;
  201. phy-mode = "rgmii-id";
  202. phy-supply = <&reg_ethphy>;
  203. pinctrl-names = "default", "sleep";
  204. pinctrl-0 = <&pinctrl_fec1>;
  205. pinctrl-1 = <&pinctrl_fec1_sleep>;
  206. mdio {
  207. #address-cells = <1>;
  208. #size-cells = <0>;
  209. ethphy0: ethernet-phy@7 {
  210. compatible = "ethernet-phy-ieee802.3-c22";
  211. interrupt-parent = <&gpio1>;
  212. interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
  213. micrel,led-mode = <0>;
  214. reg = <7>;
  215. };
  216. };
  217. };
  218. /* Verdin QSPI_1 */
  219. &flexspi {
  220. pinctrl-names = "default";
  221. pinctrl-0 = <&pinctrl_flexspi0>;
  222. };
  223. &gpio1 {
  224. gpio-line-names = "SODIMM_216",
  225. "SODIMM_19",
  226. "",
  227. "",
  228. "",
  229. "",
  230. "",
  231. "",
  232. "SODIMM_220",
  233. "SODIMM_222",
  234. "",
  235. "SODIMM_218",
  236. "SODIMM_155",
  237. "SODIMM_157",
  238. "SODIMM_185",
  239. "SODIMM_187";
  240. };
  241. &gpio2 {
  242. gpio-line-names = "",
  243. "",
  244. "",
  245. "",
  246. "",
  247. "",
  248. "",
  249. "",
  250. "",
  251. "",
  252. "",
  253. "",
  254. "SODIMM_84",
  255. "SODIMM_78",
  256. "SODIMM_74",
  257. "SODIMM_80",
  258. "SODIMM_82",
  259. "SODIMM_70",
  260. "SODIMM_72";
  261. };
  262. &gpio5 {
  263. gpio-line-names = "SODIMM_131",
  264. "",
  265. "SODIMM_91",
  266. "SODIMM_16",
  267. "SODIMM_15",
  268. "SODIMM_208",
  269. "SODIMM_137",
  270. "SODIMM_139",
  271. "SODIMM_141",
  272. "SODIMM_143",
  273. "SODIMM_196",
  274. "SODIMM_200",
  275. "SODIMM_198",
  276. "SODIMM_202",
  277. "",
  278. "",
  279. "SODIMM_55",
  280. "SODIMM_53",
  281. "SODIMM_95",
  282. "SODIMM_93",
  283. "SODIMM_14",
  284. "SODIMM_12",
  285. "",
  286. "",
  287. "",
  288. "",
  289. "SODIMM_210",
  290. "SODIMM_212",
  291. "SODIMM_151",
  292. "SODIMM_153";
  293. ctrl-sleep-moci-hog {
  294. gpio-hog;
  295. /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
  296. gpios = <1 GPIO_ACTIVE_HIGH>;
  297. line-name = "CTRL_SLEEP_MOCI#";
  298. output-high;
  299. pinctrl-names = "default";
  300. pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
  301. };
  302. };
  303. /* On-module I2C */
  304. &i2c1 {
  305. clock-frequency = <400000>;
  306. pinctrl-names = "default", "gpio";
  307. pinctrl-0 = <&pinctrl_i2c1>;
  308. pinctrl-1 = <&pinctrl_i2c1_gpio>;
  309. scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  310. sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  311. status = "okay";
  312. pca9450: pmic@25 {
  313. compatible = "nxp,pca9450a";
  314. interrupt-parent = <&gpio1>;
  315. /* PMIC PCA9450 PMIC_nINT GPIO1_IO3 */
  316. interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
  317. pinctrl-names = "default";
  318. pinctrl-0 = <&pinctrl_pmic>;
  319. reg = <0x25>;
  320. sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
  321. /*
  322. * The bootloader is expected to switch on the I2C level shifter for the TLA2024 ADC
  323. * behind this PMIC.
  324. */
  325. regulators {
  326. reg_vdd_soc: BUCK1 {
  327. nxp,dvs-run-voltage = <850000>;
  328. nxp,dvs-standby-voltage = <800000>;
  329. regulator-always-on;
  330. regulator-boot-on;
  331. regulator-max-microvolt = <850000>;
  332. regulator-min-microvolt = <800000>;
  333. regulator-name = "On-module +VDD_SOC (BUCK1)";
  334. regulator-ramp-delay = <3125>;
  335. };
  336. reg_vdd_arm: BUCK2 {
  337. nxp,dvs-run-voltage = <950000>;
  338. nxp,dvs-standby-voltage = <850000>;
  339. regulator-always-on;
  340. regulator-boot-on;
  341. regulator-max-microvolt = <1050000>;
  342. regulator-min-microvolt = <805000>;
  343. regulator-name = "On-module +VDD_ARM (BUCK2)";
  344. regulator-ramp-delay = <3125>;
  345. };
  346. reg_vdd_dram: BUCK3 {
  347. regulator-always-on;
  348. regulator-boot-on;
  349. regulator-max-microvolt = <1000000>;
  350. regulator-min-microvolt = <805000>;
  351. regulator-name = "On-module +VDD_GPU_VPU_DDR (BUCK3)";
  352. };
  353. reg_vdd_3v3: BUCK4 {
  354. regulator-always-on;
  355. regulator-boot-on;
  356. regulator-max-microvolt = <3300000>;
  357. regulator-min-microvolt = <3300000>;
  358. regulator-name = "On-module +V3.3 (BUCK4)";
  359. };
  360. reg_vdd_1v8: BUCK5 {
  361. regulator-always-on;
  362. regulator-boot-on;
  363. regulator-max-microvolt = <1800000>;
  364. regulator-min-microvolt = <1800000>;
  365. regulator-name = "PWR_1V8_MOCI (BUCK5)";
  366. };
  367. reg_nvcc_dram: BUCK6 {
  368. regulator-always-on;
  369. regulator-boot-on;
  370. regulator-max-microvolt = <1100000>;
  371. regulator-min-microvolt = <1100000>;
  372. regulator-name = "On-module +VDD_DDR (BUCK6)";
  373. };
  374. reg_nvcc_snvs: LDO1 {
  375. regulator-always-on;
  376. regulator-boot-on;
  377. regulator-max-microvolt = <1800000>;
  378. regulator-min-microvolt = <1800000>;
  379. regulator-name = "On-module +V1.8_SNVS (LDO1)";
  380. };
  381. reg_vdd_snvs: LDO2 {
  382. regulator-always-on;
  383. regulator-boot-on;
  384. regulator-max-microvolt = <800000>;
  385. regulator-min-microvolt = <800000>;
  386. regulator-name = "On-module +V0.8_SNVS (LDO2)";
  387. };
  388. reg_vdda: LDO3 {
  389. regulator-always-on;
  390. regulator-boot-on;
  391. regulator-max-microvolt = <1800000>;
  392. regulator-min-microvolt = <1800000>;
  393. regulator-name = "On-module +V1.8A (LDO3)";
  394. };
  395. reg_vdd_phy: LDO4 {
  396. regulator-always-on;
  397. regulator-boot-on;
  398. regulator-max-microvolt = <900000>;
  399. regulator-min-microvolt = <900000>;
  400. regulator-name = "On-module +V0.9_MIPI (LDO4)";
  401. };
  402. reg_nvcc_sd: LDO5 {
  403. regulator-max-microvolt = <3300000>;
  404. regulator-min-microvolt = <1800000>;
  405. regulator-name = "On-module +V3.3_1.8_SD (LDO5)";
  406. };
  407. };
  408. };
  409. rtc_i2c: rtc@32 {
  410. compatible = "epson,rx8130";
  411. reg = <0x32>;
  412. };
  413. adc@49 {
  414. compatible = "ti,ads1015";
  415. reg = <0x49>;
  416. #address-cells = <1>;
  417. #size-cells = <0>;
  418. /* Verdin I2C_1 (ADC_4 - ADC_3) */
  419. channel@0 {
  420. reg = <0>;
  421. ti,datarate = <4>;
  422. ti,gain = <2>;
  423. };
  424. /* Verdin I2C_1 (ADC_4 - ADC_1) */
  425. channel@1 {
  426. reg = <1>;
  427. ti,datarate = <4>;
  428. ti,gain = <2>;
  429. };
  430. /* Verdin I2C_1 (ADC_3 - ADC_1) */
  431. channel@2 {
  432. reg = <2>;
  433. ti,datarate = <4>;
  434. ti,gain = <2>;
  435. };
  436. /* Verdin I2C_1 (ADC_2 - ADC_1) */
  437. channel@3 {
  438. reg = <3>;
  439. ti,datarate = <4>;
  440. ti,gain = <2>;
  441. };
  442. /* Verdin I2C_1 ADC_4 */
  443. channel@4 {
  444. reg = <4>;
  445. ti,datarate = <4>;
  446. ti,gain = <2>;
  447. };
  448. /* Verdin I2C_1 ADC_3 */
  449. channel@5 {
  450. reg = <5>;
  451. ti,datarate = <4>;
  452. ti,gain = <2>;
  453. };
  454. /* Verdin I2C_1 ADC_2 */
  455. channel@6 {
  456. reg = <6>;
  457. ti,datarate = <4>;
  458. ti,gain = <2>;
  459. };
  460. /* Verdin I2C_1 ADC_1 */
  461. channel@7 {
  462. reg = <7>;
  463. ti,datarate = <4>;
  464. ti,gain = <2>;
  465. };
  466. };
  467. eeprom@50 {
  468. compatible = "st,24c02";
  469. pagesize = <16>;
  470. reg = <0x50>;
  471. };
  472. };
  473. /* Verdin I2C_2_DSI */
  474. &i2c2 {
  475. clock-frequency = <10000>;
  476. pinctrl-names = "default", "gpio";
  477. pinctrl-0 = <&pinctrl_i2c2>;
  478. pinctrl-1 = <&pinctrl_i2c2_gpio>;
  479. scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  480. sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  481. status = "disabled";
  482. };
  483. /* Verdin I2C_3_HDMI N/A */
  484. /* Verdin I2C_4_CSI */
  485. &i2c3 {
  486. clock-frequency = <400000>;
  487. pinctrl-names = "default", "gpio";
  488. pinctrl-0 = <&pinctrl_i2c3>;
  489. pinctrl-1 = <&pinctrl_i2c3_gpio>;
  490. scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  491. sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  492. };
  493. /* Verdin I2C_1 */
  494. &i2c4 {
  495. clock-frequency = <400000>;
  496. pinctrl-names = "default", "gpio";
  497. pinctrl-0 = <&pinctrl_i2c4>;
  498. pinctrl-1 = <&pinctrl_i2c4_gpio>;
  499. scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  500. sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  501. gpio_expander_21: gpio-expander@21 {
  502. compatible = "nxp,pcal6416";
  503. #gpio-cells = <2>;
  504. gpio-controller;
  505. reg = <0x21>;
  506. vcc-supply = <&reg_3p3v>;
  507. status = "disabled";
  508. };
  509. lvds_ti_sn65dsi84: bridge@2c {
  510. compatible = "ti,sn65dsi84";
  511. /* Verdin GPIO_9_DSI (SN65DSI84 IRQ, SODIMM 17, unused) */
  512. /* Verdin GPIO_10_DSI (SODIMM 21) */
  513. enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
  514. pinctrl-names = "default";
  515. pinctrl-0 = <&pinctrl_gpio_10_dsi>;
  516. reg = <0x2c>;
  517. status = "disabled";
  518. };
  519. /* Current measurement into module VCC */
  520. hwmon: hwmon@40 {
  521. compatible = "ti,ina219";
  522. reg = <0x40>;
  523. shunt-resistor = <10000>;
  524. status = "disabled";
  525. };
  526. hdmi_lontium_lt8912: hdmi@48 {
  527. compatible = "lontium,lt8912b";
  528. pinctrl-names = "default";
  529. pinctrl-0 = <&pinctrl_gpio_10_dsi>, <&pinctrl_pwm_3_dsi_hpd_gpio>;
  530. reg = <0x48>;
  531. /* Verdin GPIO_9_DSI (LT8912 INT, SODIMM 17, unused) */
  532. /* Verdin GPIO_10_DSI (SODIMM 21) */
  533. reset-gpios = <&gpio3 3 GPIO_ACTIVE_LOW>;
  534. status = "disabled";
  535. };
  536. atmel_mxt_ts: touch@4a {
  537. compatible = "atmel,maxtouch";
  538. /*
  539. * Verdin GPIO_9_DSI
  540. * (TOUCH_INT#, SODIMM 17, also routed to SN65DSI83 IRQ albeit currently unused)
  541. */
  542. interrupt-parent = <&gpio3>;
  543. interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
  544. pinctrl-names = "default";
  545. pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>;
  546. reg = <0x4a>;
  547. /* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */
  548. reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
  549. status = "disabled";
  550. };
  551. /* Temperature sensor on carrier board */
  552. hwmon_temp: sensor@4f {
  553. compatible = "ti,tmp75c";
  554. reg = <0x4f>;
  555. status = "disabled";
  556. };
  557. /* EEPROM on display adapter (MIPI DSI Display Adapter) */
  558. eeprom_display_adapter: eeprom@50 {
  559. compatible = "st,24c02";
  560. pagesize = <16>;
  561. reg = <0x50>;
  562. status = "disabled";
  563. };
  564. /* EEPROM on carrier board */
  565. eeprom_carrier_board: eeprom@57 {
  566. compatible = "st,24c02";
  567. pagesize = <16>;
  568. reg = <0x57>;
  569. status = "disabled";
  570. };
  571. };
  572. /* Verdin PCIE_1 */
  573. &pcie0 {
  574. assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>,
  575. <&clk IMX8MM_CLK_PCIE1_CTRL>;
  576. assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>,
  577. <&clk IMX8MM_SYS_PLL2_250M>;
  578. assigned-clock-rates = <10000000>, <250000000>;
  579. clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>,
  580. <&clk IMX8MM_CLK_PCIE1_PHY>;
  581. clock-names = "pcie", "pcie_aux", "pcie_bus";
  582. pinctrl-names = "default";
  583. pinctrl-0 = <&pinctrl_pcie0>;
  584. /* PCIE_1_RESET# (SODIMM 244) */
  585. reset-gpio = <&gpio3 19 GPIO_ACTIVE_LOW>;
  586. };
  587. &pcie_phy {
  588. clocks = <&clk IMX8MM_CLK_PCIE1_PHY>;
  589. fsl,clkreq-unsupported;
  590. fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_OUTPUT>;
  591. fsl,tx-deemph-gen1 = <0x2d>;
  592. fsl,tx-deemph-gen2 = <0xf>;
  593. };
  594. /* Verdin PWM_3_DSI */
  595. &pwm1 {
  596. pinctrl-names = "default";
  597. pinctrl-0 = <&pinctrl_pwm_1>;
  598. #pwm-cells = <3>;
  599. };
  600. /* Verdin PWM_1 */
  601. &pwm2 {
  602. pinctrl-names = "default";
  603. pinctrl-0 = <&pinctrl_pwm_2>;
  604. #pwm-cells = <3>;
  605. };
  606. /* Verdin PWM_2 */
  607. &pwm3 {
  608. pinctrl-names = "default";
  609. pinctrl-0 = <&pinctrl_pwm_3>;
  610. #pwm-cells = <3>;
  611. };
  612. /* Verdin I2S_1 */
  613. &sai2 {
  614. #sound-dai-cells = <0>;
  615. assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
  616. assigned-clock-rates = <24576000>;
  617. assigned-clocks = <&clk IMX8MM_CLK_SAI2>;
  618. pinctrl-names = "default";
  619. pinctrl-0 = <&pinctrl_sai2>;
  620. };
  621. &snvs_pwrkey {
  622. status = "okay";
  623. };
  624. /* Verdin UART_3, used as the Linux console */
  625. &uart1 {
  626. pinctrl-names = "default";
  627. pinctrl-0 = <&pinctrl_uart1>;
  628. };
  629. /* Verdin UART_1 */
  630. &uart2 {
  631. pinctrl-names = "default";
  632. pinctrl-0 = <&pinctrl_uart2>;
  633. uart-has-rtscts;
  634. };
  635. /* Verdin UART_2 */
  636. &uart3 {
  637. pinctrl-names = "default";
  638. pinctrl-0 = <&pinctrl_uart3>;
  639. uart-has-rtscts;
  640. };
  641. /*
  642. * Verdin UART_4
  643. * Resource allocated to M4 by default, must not be accessed from Cortex-A35 or you get an OOPS
  644. */
  645. &uart4 {
  646. pinctrl-names = "default";
  647. pinctrl-0 = <&pinctrl_uart4>;
  648. };
  649. /* Verdin USB_1 */
  650. &usbotg1 {
  651. adp-disable;
  652. dr_mode = "otg";
  653. hnp-disable;
  654. over-current-active-low;
  655. samsung,picophy-dc-vol-level-adjust = <7>;
  656. samsung,picophy-pre-emp-curr-control = <3>;
  657. srp-disable;
  658. vbus-supply = <&reg_usb_otg1_vbus>;
  659. };
  660. /* Verdin USB_2 */
  661. &usbotg2 {
  662. dr_mode = "host";
  663. over-current-active-low;
  664. samsung,picophy-dc-vol-level-adjust = <7>;
  665. samsung,picophy-pre-emp-curr-control = <3>;
  666. vbus-supply = <&reg_usb_otg2_vbus>;
  667. };
  668. &usbphynop1 {
  669. vcc-supply = <&reg_vdd_3v3>;
  670. };
  671. &usbphynop2 {
  672. power-domains = <&pgc_otg2>;
  673. vcc-supply = <&reg_vdd_3v3>;
  674. };
  675. /* On-module eMMC */
  676. &usdhc1 {
  677. bus-width = <8>;
  678. keep-power-in-suspend;
  679. non-removable;
  680. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  681. pinctrl-0 = <&pinctrl_usdhc1>;
  682. pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
  683. pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
  684. status = "okay";
  685. };
  686. /* Verdin SD_1 */
  687. &usdhc2 {
  688. bus-width = <4>;
  689. cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
  690. disable-wp;
  691. pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
  692. pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_cd>;
  693. pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_cd>;
  694. pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_cd>;
  695. pinctrl-3 = <&pinctrl_usdhc2_sleep>, <&pinctrl_usdhc2_cd_sleep>;
  696. vmmc-supply = <&reg_usdhc2_vmmc>;
  697. };
  698. &wdog1 {
  699. fsl,ext-reset-output;
  700. pinctrl-names = "default";
  701. pinctrl-0 = <&pinctrl_wdog>;
  702. status = "okay";
  703. };
  704. &iomuxc {
  705. pinctrl-names = "default";
  706. pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio2>,
  707. <&pinctrl_gpio3>, <&pinctrl_gpio4>,
  708. <&pinctrl_gpio7>, <&pinctrl_gpio8>,
  709. <&pinctrl_gpio_hog1>, <&pinctrl_gpio_hog2>, <&pinctrl_gpio_hog3>,
  710. <&pinctrl_pmic_tpm_ena>;
  711. pinctrl_can1_int: can1intgrp {
  712. fsl,pins =
  713. <MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x146>; /* CAN_1_SPI_INT#_1.8V */
  714. };
  715. pinctrl_can2_int: can2intgrp {
  716. fsl,pins =
  717. <MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x106>; /* CAN_2_SPI_INT#_1.8V, unused */
  718. };
  719. pinctrl_ctrl_sleep_moci: ctrlsleepmocigrp {
  720. fsl,pins =
  721. <MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1 0x106>; /* SODIMM 256 */
  722. };
  723. pinctrl_ecspi2: ecspi2grp {
  724. fsl,pins =
  725. <MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x6>, /* SODIMM 198 */
  726. <MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x6>, /* SODIMM 200 */
  727. <MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x6>, /* SODIMM 196 */
  728. <MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x6>; /* SODIMM 202 */
  729. };
  730. pinctrl_ecspi3: ecspi3grp {
  731. fsl,pins =
  732. <MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x146>, /* CAN_2_SPI_CS#_1.8V */
  733. <MX8MM_IOMUXC_UART1_RXD_ECSPI3_SCLK 0x6>, /* CAN_SPI_SCK_1.8V */
  734. <MX8MM_IOMUXC_UART1_TXD_ECSPI3_MOSI 0x6>, /* CAN_SPI_MOSI_1.8V */
  735. <MX8MM_IOMUXC_UART2_RXD_ECSPI3_MISO 0x6>, /* CAN_SPI_MISO_1.8V */
  736. <MX8MM_IOMUXC_UART2_TXD_GPIO5_IO25 0x6>; /* CAN_1_SPI_CS_1.8V# */
  737. };
  738. pinctrl_fec1: fec1grp {
  739. fsl,pins =
  740. <MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3>,
  741. <MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3>,
  742. <MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91>,
  743. <MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91>,
  744. <MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91>,
  745. <MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91>,
  746. <MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91>,
  747. <MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91>,
  748. <MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f>,
  749. <MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f>,
  750. <MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f>,
  751. <MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f>,
  752. <MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f>,
  753. <MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f>,
  754. <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x146>;
  755. };
  756. pinctrl_fec1_sleep: fec1-sleepgrp {
  757. fsl,pins =
  758. <MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3>,
  759. <MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3>,
  760. <MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91>,
  761. <MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91>,
  762. <MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91>,
  763. <MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91>,
  764. <MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91>,
  765. <MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91>,
  766. <MX8MM_IOMUXC_ENET_TD0_GPIO1_IO21 0x1f>,
  767. <MX8MM_IOMUXC_ENET_TD1_GPIO1_IO20 0x1f>,
  768. <MX8MM_IOMUXC_ENET_TD2_GPIO1_IO19 0x1f>,
  769. <MX8MM_IOMUXC_ENET_TD3_GPIO1_IO18 0x1f>,
  770. <MX8MM_IOMUXC_ENET_TXC_GPIO1_IO23 0x1f>,
  771. <MX8MM_IOMUXC_ENET_TX_CTL_GPIO1_IO22 0x1f>,
  772. <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x106>;
  773. };
  774. pinctrl_flexspi0: flexspi0grp {
  775. fsl,pins =
  776. <MX8MM_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x106>, /* SODIMM 52 */
  777. <MX8MM_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x106>, /* SODIMM 54 */
  778. <MX8MM_IOMUXC_NAND_CE1_B_QSPI_A_SS1_B 0x106>, /* SODIMM 64 */
  779. <MX8MM_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x106>, /* SODIMM 56 */
  780. <MX8MM_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x106>, /* SODIMM 58 */
  781. <MX8MM_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x106>, /* SODIMM 60 */
  782. <MX8MM_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x106>, /* SODIMM 62 */
  783. <MX8MM_IOMUXC_NAND_DQS_QSPI_A_DQS 0x106>; /* SODIMM 66 */
  784. };
  785. pinctrl_gpio1: gpio1grp {
  786. fsl,pins =
  787. <MX8MM_IOMUXC_NAND_CE3_B_GPIO3_IO4 0x106>; /* SODIMM 206 */
  788. };
  789. pinctrl_gpio2: gpio2grp {
  790. fsl,pins =
  791. <MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0x106>; /* SODIMM 208 */
  792. };
  793. pinctrl_gpio3: gpio3grp {
  794. fsl,pins =
  795. <MX8MM_IOMUXC_UART3_RXD_GPIO5_IO26 0x106>; /* SODIMM 210 */
  796. };
  797. pinctrl_gpio4: gpio4grp {
  798. fsl,pins =
  799. <MX8MM_IOMUXC_UART3_TXD_GPIO5_IO27 0x106>; /* SODIMM 212 */
  800. };
  801. pinctrl_gpio5: gpio5grp {
  802. fsl,pins =
  803. <MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x106>; /* SODIMM 216 */
  804. };
  805. pinctrl_gpio6: gpio6grp {
  806. fsl,pins =
  807. <MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x106>; /* SODIMM 218 */
  808. };
  809. pinctrl_gpio7: gpio7grp {
  810. fsl,pins =
  811. <MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x106>; /* SODIMM 220 */
  812. };
  813. pinctrl_gpio8: gpio8grp {
  814. fsl,pins =
  815. <MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x106>; /* SODIMM 222 */
  816. };
  817. /* Verdin GPIO_9_DSI (pulled-up as active-low) */
  818. pinctrl_gpio_9_dsi: gpio9dsigrp {
  819. fsl,pins =
  820. <MX8MM_IOMUXC_NAND_RE_B_GPIO3_IO15 0x146>; /* SODIMM 17 */
  821. };
  822. /* Verdin GPIO_10_DSI (pulled-up as active-low) */
  823. pinctrl_gpio_10_dsi: gpio10dsigrp {
  824. fsl,pins =
  825. <MX8MM_IOMUXC_NAND_CE2_B_GPIO3_IO3 0x146>; /* SODIMM 21 */
  826. };
  827. pinctrl_gpio_hog1: gpiohog1grp {
  828. fsl,pins =
  829. <MX8MM_IOMUXC_SAI1_MCLK_GPIO4_IO20 0x106>, /* SODIMM 88 */
  830. <MX8MM_IOMUXC_SAI1_RXC_GPIO4_IO1 0x106>, /* SODIMM 90 */
  831. <MX8MM_IOMUXC_SAI1_RXD0_GPIO4_IO2 0x106>, /* SODIMM 92 */
  832. <MX8MM_IOMUXC_SAI1_RXD1_GPIO4_IO3 0x106>, /* SODIMM 94 */
  833. <MX8MM_IOMUXC_SAI1_RXD2_GPIO4_IO4 0x106>, /* SODIMM 96 */
  834. <MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5 0x106>, /* SODIMM 100 */
  835. <MX8MM_IOMUXC_SAI1_RXFS_GPIO4_IO0 0x106>, /* SODIMM 102 */
  836. <MX8MM_IOMUXC_SAI1_TXC_GPIO4_IO11 0x106>, /* SODIMM 104 */
  837. <MX8MM_IOMUXC_SAI1_TXD0_GPIO4_IO12 0x106>, /* SODIMM 106 */
  838. <MX8MM_IOMUXC_SAI1_TXD1_GPIO4_IO13 0x106>, /* SODIMM 108 */
  839. <MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x106>, /* SODIMM 112 */
  840. <MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x106>, /* SODIMM 114 */
  841. <MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x106>, /* SODIMM 116 */
  842. <MX8MM_IOMUXC_SAI1_TXD6_GPIO4_IO18 0x106>, /* SODIMM 118 */
  843. <MX8MM_IOMUXC_SAI1_TXFS_GPIO4_IO10 0x106>; /* SODIMM 120 */
  844. };
  845. pinctrl_gpio_hog2: gpiohog2grp {
  846. fsl,pins =
  847. <MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x106>; /* SODIMM 91 */
  848. };
  849. pinctrl_gpio_hog3: gpiohog3grp {
  850. fsl,pins =
  851. <MX8MM_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x146>, /* SODIMM 157 */
  852. <MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x146>; /* SODIMM 187 */
  853. };
  854. pinctrl_gpio_keys: gpiokeysgrp {
  855. fsl,pins =
  856. <MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x146>; /* SODIMM 252 */
  857. };
  858. /* On-module I2C */
  859. pinctrl_i2c1: i2c1grp {
  860. fsl,pins =
  861. <MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x40000146>, /* PMIC_I2C_SCL */
  862. <MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x40000146>; /* PMIC_I2C_SDA */
  863. };
  864. pinctrl_i2c1_gpio: i2c1gpiogrp {
  865. fsl,pins =
  866. <MX8MM_IOMUXC_I2C1_SCL_GPIO5_IO14 0x146>, /* PMIC_I2C_SCL */
  867. <MX8MM_IOMUXC_I2C1_SDA_GPIO5_IO15 0x146>; /* PMIC_I2C_SDA */
  868. };
  869. /* Verdin I2C_4_CSI */
  870. pinctrl_i2c2: i2c2grp {
  871. fsl,pins =
  872. <MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x40000146>, /* SODIMM 55 */
  873. <MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x40000146>; /* SODIMM 53 */
  874. };
  875. pinctrl_i2c2_gpio: i2c2gpiogrp {
  876. fsl,pins =
  877. <MX8MM_IOMUXC_I2C2_SCL_GPIO5_IO16 0x146>, /* SODIMM 55 */
  878. <MX8MM_IOMUXC_I2C2_SDA_GPIO5_IO17 0x146>; /* SODIMM 53 */
  879. };
  880. /* Verdin I2C_2_DSI */
  881. pinctrl_i2c3: i2c3grp {
  882. fsl,pins =
  883. <MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x40000146>, /* SODIMM 95 */
  884. <MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x40000146>; /* SODIMM 93 */
  885. };
  886. pinctrl_i2c3_gpio: i2c3gpiogrp {
  887. fsl,pins =
  888. <MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18 0x146>, /* SODIMM 95 */
  889. <MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19 0x146>; /* SODIMM 93 */
  890. };
  891. /* Verdin I2C_1 */
  892. pinctrl_i2c4: i2c4grp {
  893. fsl,pins =
  894. <MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL 0x40000146>, /* SODIMM 14 */
  895. <MX8MM_IOMUXC_I2C4_SDA_I2C4_SDA 0x40000146>; /* SODIMM 12 */
  896. };
  897. pinctrl_i2c4_gpio: i2c4gpiogrp {
  898. fsl,pins =
  899. <MX8MM_IOMUXC_I2C4_SCL_GPIO5_IO20 0x146>, /* SODIMM 14 */
  900. <MX8MM_IOMUXC_I2C4_SDA_GPIO5_IO21 0x146>; /* SODIMM 12 */
  901. };
  902. /* Verdin I2S_2_BCLK (TOUCH_RESET#) */
  903. pinctrl_i2s_2_bclk_touch_reset: i2s2bclktouchresetgrp {
  904. fsl,pins =
  905. <MX8MM_IOMUXC_SAI5_RXD2_GPIO3_IO23 0x6>; /* SODIMM 42 */
  906. };
  907. /* Verdin I2S_2_D_OUT shared with SAI5 */
  908. pinctrl_i2s_2_d_out_dsi_1_bkl_en: i2s2doutdsi1bklengrp {
  909. fsl,pins =
  910. <MX8MM_IOMUXC_SAI5_RXD3_GPIO3_IO24 0x6>; /* SODIMM 46 */
  911. };
  912. pinctrl_pcie0: pcie0grp {
  913. fsl,pins =
  914. <MX8MM_IOMUXC_SAI5_RXFS_GPIO3_IO19 0x6>, /* SODIMM 244 */
  915. /* PMIC_EN_PCIe_CLK, unused */
  916. <MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x6>;
  917. };
  918. pinctrl_pmic: pmicirqgrp {
  919. fsl,pins =
  920. <MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x141>; /* PMIC_INT# */
  921. };
  922. /* Verdin PWM_3_DSI shared with GPIO1_IO1 */
  923. pinctrl_pwm_1: pwm1grp {
  924. fsl,pins =
  925. <MX8MM_IOMUXC_GPIO1_IO01_PWM1_OUT 0x6>; /* SODIMM 19 */
  926. };
  927. pinctrl_pwm_2: pwm2grp {
  928. fsl,pins =
  929. <MX8MM_IOMUXC_SPDIF_RX_PWM2_OUT 0x6>; /* SODIMM 15 */
  930. };
  931. pinctrl_pwm_3: pwm3grp {
  932. fsl,pins =
  933. <MX8MM_IOMUXC_SPDIF_TX_PWM3_OUT 0x6>; /* SODIMM 16 */
  934. };
  935. /* Verdin PWM_3_DSI (pulled-down as active-high) shared with PWM1_OUT */
  936. pinctrl_pwm_3_dsi_hpd_gpio: pwm3dsihpdgpiogrp {
  937. fsl,pins =
  938. <MX8MM_IOMUXC_GPIO1_IO01_GPIO1_IO1 0x106>; /* SODIMM 19 */
  939. };
  940. pinctrl_reg_eth: regethgrp {
  941. fsl,pins =
  942. <MX8MM_IOMUXC_SD2_WP_GPIO2_IO20 0x146>; /* PMIC_EN_ETH */
  943. };
  944. pinctrl_reg_usb1_en: regusb1engrp {
  945. fsl,pins =
  946. <MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x106>; /* SODIMM 155 */
  947. };
  948. pinctrl_reg_usb2_en: regusb2engrp {
  949. fsl,pins =
  950. <MX8MM_IOMUXC_GPIO1_IO14_GPIO1_IO14 0x106>; /* SODIMM 185 */
  951. };
  952. pinctrl_sai2: sai2grp {
  953. fsl,pins =
  954. <MX8MM_IOMUXC_SAI2_MCLK_SAI2_MCLK 0x6>, /* SODIMM 38 */
  955. <MX8MM_IOMUXC_SAI2_TXC_SAI2_TX_BCLK 0x6>, /* SODIMM 30 */
  956. <MX8MM_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC 0x6>, /* SODIMM 32 */
  957. <MX8MM_IOMUXC_SAI2_RXD0_SAI2_RX_DATA0 0x6>, /* SODIMM 36 */
  958. <MX8MM_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0 0x6>; /* SODIMM 34 */
  959. };
  960. pinctrl_sai5: sai5grp {
  961. fsl,pins =
  962. <MX8MM_IOMUXC_SAI5_RXD0_SAI5_RX_DATA0 0x6>, /* SODIMM 48 */
  963. <MX8MM_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC 0x6>, /* SODIMM 44 */
  964. <MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK 0x6>, /* SODIMM 42 */
  965. <MX8MM_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0 0x6>; /* SODIMM 46 */
  966. };
  967. /* control signal for optional ATTPM20P or SE050 */
  968. pinctrl_pmic_tpm_ena: pmictpmenagrp {
  969. fsl,pins =
  970. <MX8MM_IOMUXC_SAI1_TXD7_GPIO4_IO19 0x106>; /* PMIC_TPM_ENA */
  971. };
  972. pinctrl_tsp: tspgrp {
  973. fsl,pins =
  974. <MX8MM_IOMUXC_SAI1_RXD4_GPIO4_IO6 0x6>, /* SODIMM 148 */
  975. <MX8MM_IOMUXC_SAI1_RXD5_GPIO4_IO7 0x6>, /* SODIMM 152 */
  976. <MX8MM_IOMUXC_SAI1_RXD6_GPIO4_IO8 0x6>, /* SODIMM 154 */
  977. <MX8MM_IOMUXC_SAI1_RXD7_GPIO4_IO9 0x146>, /* SODIMM 174 */
  978. <MX8MM_IOMUXC_SAI1_TXD5_GPIO4_IO17 0x6>; /* SODIMM 150 */
  979. };
  980. pinctrl_uart1: uart1grp {
  981. fsl,pins =
  982. <MX8MM_IOMUXC_SAI2_RXC_UART1_DCE_RX 0x146>, /* SODIMM 147 */
  983. <MX8MM_IOMUXC_SAI2_RXFS_UART1_DCE_TX 0x146>; /* SODIMM 149 */
  984. };
  985. pinctrl_uart2: uart2grp {
  986. fsl,pins =
  987. <MX8MM_IOMUXC_SAI3_RXC_UART2_DCE_CTS_B 0x146>, /* SODIMM 133 */
  988. <MX8MM_IOMUXC_SAI3_RXD_UART2_DCE_RTS_B 0x146>, /* SODIMM 135 */
  989. <MX8MM_IOMUXC_SAI3_TXC_UART2_DCE_TX 0x146>, /* SODIMM 131 */
  990. <MX8MM_IOMUXC_SAI3_TXFS_UART2_DCE_RX 0x146>; /* SODIMM 129 */
  991. };
  992. pinctrl_uart3: uart3grp {
  993. fsl,pins =
  994. <MX8MM_IOMUXC_ECSPI1_MISO_UART3_DCE_CTS_B 0x146>, /* SODIMM 141 */
  995. <MX8MM_IOMUXC_ECSPI1_MOSI_UART3_DCE_TX 0x146>, /* SODIMM 139 */
  996. <MX8MM_IOMUXC_ECSPI1_SCLK_UART3_DCE_RX 0x146>, /* SODIMM 137 */
  997. <MX8MM_IOMUXC_ECSPI1_SS0_UART3_DCE_RTS_B 0x146>; /* SODIMM 143 */
  998. };
  999. pinctrl_uart4: uart4grp {
  1000. fsl,pins =
  1001. <MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX 0x146>, /* SODIMM 151 */
  1002. <MX8MM_IOMUXC_UART4_TXD_UART4_DCE_TX 0x146>; /* SODIMM 153 */
  1003. };
  1004. pinctrl_usdhc1: usdhc1grp {
  1005. fsl,pins =
  1006. <MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190>,
  1007. <MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0>,
  1008. <MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0>,
  1009. <MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0>,
  1010. <MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0>,
  1011. <MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0>,
  1012. <MX8MM_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x1d0>,
  1013. <MX8MM_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x1d0>,
  1014. <MX8MM_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x1d0>,
  1015. <MX8MM_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x1d0>,
  1016. <MX8MM_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0x1d1>,
  1017. <MX8MM_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x190>;
  1018. };
  1019. pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
  1020. fsl,pins =
  1021. <MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194>,
  1022. <MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4>,
  1023. <MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4>,
  1024. <MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4>,
  1025. <MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4>,
  1026. <MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4>,
  1027. <MX8MM_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x1d4>,
  1028. <MX8MM_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x1d4>,
  1029. <MX8MM_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x1d4>,
  1030. <MX8MM_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x1d4>,
  1031. <MX8MM_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0x1d1>,
  1032. <MX8MM_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x194>;
  1033. };
  1034. pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
  1035. fsl,pins =
  1036. <MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196>,
  1037. <MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6>,
  1038. <MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6>,
  1039. <MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6>,
  1040. <MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6>,
  1041. <MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6>,
  1042. <MX8MM_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x1d6>,
  1043. <MX8MM_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x1d6>,
  1044. <MX8MM_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x1d6>,
  1045. <MX8MM_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x1d6>,
  1046. <MX8MM_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0x1d1>,
  1047. <MX8MM_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x196>;
  1048. };
  1049. pinctrl_usdhc2_cd: usdhc2cdgrp {
  1050. fsl,pins =
  1051. <MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x6>; /* SODIMM 84 */
  1052. };
  1053. pinctrl_usdhc2_cd_sleep: usdhc2cdslpgrp {
  1054. fsl,pins =
  1055. <MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x0>; /* SODIMM 84 */
  1056. };
  1057. pinctrl_usdhc2_pwr_en: usdhc2pwrengrp {
  1058. fsl,pins =
  1059. <MX8MM_IOMUXC_NAND_CLE_GPIO3_IO5 0x6>; /* SODIMM 76 */
  1060. };
  1061. /*
  1062. * Note: Due to ERR050080 we use discrete external on-module resistors pulling-up to the
  1063. * on-module +V3.3_1.8_SD (LDO5) rail and explicitly disable the internal pull-ups here.
  1064. */
  1065. pinctrl_usdhc2: usdhc2grp {
  1066. fsl,pins =
  1067. <MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x10>,
  1068. <MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x90>, /* SODIMM 78 */
  1069. <MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x90>, /* SODIMM 74 */
  1070. <MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x90>, /* SODIMM 80 */
  1071. <MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x90>, /* SODIMM 82 */
  1072. <MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x90>, /* SODIMM 70 */
  1073. <MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x90>; /* SODIMM 72 */
  1074. };
  1075. pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
  1076. fsl,pins =
  1077. <MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x10>,
  1078. <MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x94>,
  1079. <MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x94>,
  1080. <MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x94>,
  1081. <MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x94>,
  1082. <MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x94>,
  1083. <MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x94>;
  1084. };
  1085. pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
  1086. fsl,pins =
  1087. <MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x10>,
  1088. <MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x96>,
  1089. <MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x96>,
  1090. <MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x96>,
  1091. <MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x96>,
  1092. <MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x96>,
  1093. <MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x96>;
  1094. };
  1095. /* Avoid backfeeding with removed card power */
  1096. pinctrl_usdhc2_sleep: usdhc2slpgrp {
  1097. fsl,pins =
  1098. <MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x0>,
  1099. <MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x0>,
  1100. <MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x0>,
  1101. <MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x0>,
  1102. <MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x0>,
  1103. <MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x0>,
  1104. <MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x0>;
  1105. };
  1106. /*
  1107. * On-module Wi-Fi/BT or type specific SDHC interface
  1108. * (e.g. on X52 extension slot of Verdin Development Board)
  1109. */
  1110. pinctrl_usdhc3: usdhc3grp {
  1111. fsl,pins =
  1112. <MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x150>,
  1113. <MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x150>,
  1114. <MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x150>,
  1115. <MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x150>,
  1116. <MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x150>,
  1117. <MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x150>;
  1118. };
  1119. pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
  1120. fsl,pins =
  1121. <MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x154>,
  1122. <MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x154>,
  1123. <MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x154>,
  1124. <MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x154>,
  1125. <MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x154>,
  1126. <MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x154>;
  1127. };
  1128. pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
  1129. fsl,pins =
  1130. <MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x156>,
  1131. <MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x156>,
  1132. <MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x156>,
  1133. <MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x156>,
  1134. <MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x156>,
  1135. <MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x156>;
  1136. };
  1137. pinctrl_wdog: wdoggrp {
  1138. fsl,pins =
  1139. <MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x166>; /* PMIC_WDI */
  1140. };
  1141. pinctrl_wifi_ctrl: wifictrlgrp {
  1142. fsl,pins =
  1143. <MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x46>, /* WIFI_WKUP_BT */
  1144. <MX8MM_IOMUXC_SAI1_RXD7_GPIO4_IO9 0x146>, /* WIFI_W_WKUP_HOST */
  1145. <MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x46>; /* WIFI_WKUP_WLAN */
  1146. };
  1147. pinctrl_wifi_i2s: bti2sgrp {
  1148. fsl,pins =
  1149. <MX8MM_IOMUXC_SAI1_RXD4_SAI6_TX_BCLK 0x6>, /* WIFI_TX_BCLK */
  1150. <MX8MM_IOMUXC_SAI1_RXD5_SAI6_TX_DATA0 0x6>, /* WIFI_TX_DATA0 */
  1151. <MX8MM_IOMUXC_SAI1_RXD6_SAI6_TX_SYNC 0x6>, /* WIFI_TX_SYNC */
  1152. <MX8MM_IOMUXC_SAI1_TXD5_SAI6_RX_DATA0 0x6>; /* WIFI_RX_DATA0 */
  1153. };
  1154. pinctrl_wifi_pwr_en: wifipwrengrp {
  1155. fsl,pins =
  1156. <MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x6>; /* PMIC_EN_WIFI */
  1157. };
  1158. };