imx8mm-emcon.dtsi 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627
  1. // SPDX-License-Identifier: (GPL-2.0 or MIT)
  2. //
  3. // Copyright 2018 NXP
  4. // Copyright (C) 2021 emtrion GmbH
  5. //
  6. /dts-v1/;
  7. #include "imx8mm.dtsi"
  8. / {
  9. chosen {
  10. stdout-path = &uart1;
  11. };
  12. som_leds: leds {
  13. compatible = "gpio-leds";
  14. pinctrl-names = "default";
  15. pinctrl-0 = <&pinctrl_gpio_led>;
  16. green {
  17. label = "som:green";
  18. gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
  19. default-state = "on";
  20. linux,default-trigger = "heartbeat";
  21. };
  22. red {
  23. label = "som:red";
  24. gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>;
  25. default-state = "off";
  26. };
  27. };
  28. lvds_backlight: lvds-backlight {
  29. compatible = "pwm-backlight";
  30. enable-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
  31. pwms = <&pwm1 0 50000 0>;
  32. brightness-levels = <
  33. 0 4 8 16 32 64 80 96 112
  34. 128 144 160 176 250
  35. >;
  36. default-brightness-level = <9>;
  37. status = "disabled";
  38. };
  39. reg_usdhc1_vmmc: regulator-emmc {
  40. compatible = "regulator-fixed";
  41. regulator-name = "eMMC";
  42. regulator-min-microvolt = <3300000>;
  43. regulator-max-microvolt = <3300000>;
  44. };
  45. reg_usdhc2_vmmc: regulator-usdhc2 {
  46. compatible = "regulator-fixed";
  47. regulator-name = "sdcard_3V3";
  48. regulator-min-microvolt = <3300000>;
  49. regulator-max-microvolt = <3300000>;
  50. };
  51. };
  52. &A53_0 {
  53. cpu-supply = <&buck2_reg>;
  54. };
  55. &ecspi1 {
  56. pinctrl-names = "default";
  57. pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>;
  58. cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>,
  59. <&gpio5 13 GPIO_ACTIVE_LOW>;
  60. status = "okay";
  61. };
  62. &fec1 {
  63. pinctrl-names = "default";
  64. pinctrl-0 = <&pinctrl_fec1>;
  65. phy-mode = "rgmii-id";
  66. phy-handle = <&ethphy0>;
  67. fsl,magic-packet;
  68. status = "okay";
  69. mdio {
  70. #address-cells = <1>;
  71. #size-cells = <0>;
  72. ethphy0: ethernet-phy@0 {
  73. compatible = "ethernet-phy-ieee802.3-c22";
  74. reg = <0>;
  75. reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
  76. reset-assert-us = <10000>;
  77. };
  78. };
  79. };
  80. &flexspi {
  81. pinctrl-names = "default";
  82. pinctrl-0 = <&pinctrl_flexspi0>;
  83. pinctrl-1 = <&pinctrl_flexspi1>;
  84. status = "okay";
  85. flash0: flash@0 {
  86. reg = <0>;
  87. #address-cells = <1>;
  88. #size-cells = <1>;
  89. compatible = "jedec,spi-nor";
  90. spi-max-frequency = <40000000>;
  91. };
  92. };
  93. &iomuxc {
  94. pinctrl-names = "default";
  95. pinctrl_csi_pwn: csi-pwn-grp {
  96. fsl,pins = <
  97. MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x19
  98. >;
  99. };
  100. pinctrl_ecspi1: ecspi1-grp {
  101. fsl,pins = <
  102. MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x82
  103. MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x82
  104. MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x82
  105. >;
  106. };
  107. pinctrl_ecspi1_cs: ecspi1-cs {
  108. fsl,pins = <
  109. MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x40000
  110. MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x40000
  111. >;
  112. };
  113. pinctrl_fec1: fec1-grp {
  114. fsl,pins = <
  115. MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3
  116. MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3
  117. MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
  118. MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
  119. MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
  120. MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
  121. MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
  122. MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
  123. MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
  124. MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
  125. MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
  126. MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
  127. MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
  128. MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
  129. MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19
  130. >;
  131. };
  132. pinctrl_flexspi0: flexspi0-grp {
  133. fsl,pins = <
  134. MX8MM_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x1c2
  135. MX8MM_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x82
  136. MX8MM_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x82
  137. MX8MM_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x82
  138. MX8MM_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x82
  139. MX8MM_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x82
  140. MX8MM_IOMUXC_NAND_DQS_QSPI_A_DQS 0x82
  141. >;
  142. };
  143. pinctrl_flexspi1: flexspi1-grp {
  144. fsl,pins = <
  145. MX8MM_IOMUXC_NAND_CLE_QSPI_B_SCLK 0x1c2
  146. MX8MM_IOMUXC_NAND_CE2_B_QSPI_B_SS0_B 0x82
  147. MX8MM_IOMUXC_NAND_DATA04_QSPI_B_DATA0 0x82
  148. MX8MM_IOMUXC_NAND_DATA05_QSPI_B_DATA1 0x82
  149. MX8MM_IOMUXC_NAND_DATA06_QSPI_B_DATA2 0x82
  150. MX8MM_IOMUXC_NAND_DATA07_QSPI_B_DATA3 0x82
  151. >;
  152. };
  153. pinctrl_gpio_led: gpio-led-grp {
  154. fsl,pins = <
  155. MX8MM_IOMUXC_ECSPI2_SCLK_GPIO5_IO10 0x19
  156. MX8MM_IOMUXC_NAND_CE3_B_GPIO3_IO4 0x19
  157. >;
  158. };
  159. pinctrl_i2c1: i2c1-grp {
  160. fsl,pins = <
  161. MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3
  162. MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3
  163. >;
  164. };
  165. pinctrl_i2c2: i2c2grp {
  166. fsl,pins = <
  167. MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3
  168. MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3
  169. >;
  170. };
  171. pinctrl_i2c3: i2c3-grp {
  172. fsl,pins = <
  173. MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
  174. MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
  175. >;
  176. };
  177. pinctrl_lvds: lvds-grp {
  178. fsl,pins = <
  179. MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x06
  180. >;
  181. };
  182. pinctrl_pcie0: pcie0-grp {
  183. fsl,pins = <
  184. MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x41
  185. MX8MM_IOMUXC_SAI5_RXFS_GPIO3_IO19 0x41
  186. >;
  187. };
  188. pinctrl_pmic: pmic-irq {
  189. fsl,pins = <
  190. MX8MM_IOMUXC_NAND_CE1_B_GPIO3_IO2 0x41
  191. >;
  192. };
  193. pinctrl_pwm1: pwm1-grp {
  194. fsl,pins = <
  195. MX8MM_IOMUXC_GPIO1_IO01_PWM1_OUT 0x06
  196. >;
  197. };
  198. pinctrl_sai2: sai2-grp {
  199. fsl,pins = <
  200. MX8MM_IOMUXC_SAI2_MCLK_SAI2_MCLK 0xd6
  201. MX8MM_IOMUXC_SAI2_RXC_SAI2_RX_BCLK 0xd6
  202. MX8MM_IOMUXC_SAI2_RXD0_SAI2_RX_DATA0 0xd6
  203. MX8MM_IOMUXC_SAI2_RXFS_SAI2_RX_SYNC 0xd6
  204. MX8MM_IOMUXC_SAI2_TXC_SAI2_TX_BCLK 0xd6
  205. MX8MM_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0 0xd6
  206. MX8MM_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC 0xd6
  207. >;
  208. };
  209. pinctrl_spdif1: spdif1-grp {
  210. fsl,pins = <
  211. MX8MM_IOMUXC_SPDIF_TX_SPDIF1_OUT 0xd6
  212. MX8MM_IOMUXC_SPDIF_RX_SPDIF1_IN 0xd6
  213. >;
  214. };
  215. pinctrl_uart1: uart1-grp {
  216. fsl,pins = <
  217. MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
  218. MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140
  219. >;
  220. };
  221. pinctrl_uart2: uart2-grp {
  222. fsl,pins = <
  223. MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140
  224. MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140
  225. /* rts and cts */
  226. MX8MM_IOMUXC_SAI3_RXC_UART2_DCE_CTS_B 0x140
  227. MX8MM_IOMUXC_SAI3_RXD_UART2_DCE_RTS_B 0x140
  228. >;
  229. };
  230. pinctrl_uart3: uart3-grp {
  231. fsl,pins = <
  232. MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX 0x140
  233. MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX 0x140
  234. >;
  235. };
  236. pinctrl_uart4: uart4-grp {
  237. fsl,pins = <
  238. MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX 0x140
  239. MX8MM_IOMUXC_UART4_TXD_UART4_DCE_TX 0x140
  240. >;
  241. };
  242. pinctrl_usdhc1: usdhc1-grp {
  243. fsl,pins = <
  244. MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190
  245. MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0
  246. MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0
  247. MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0
  248. MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0
  249. MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0
  250. MX8MM_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x1d0
  251. MX8MM_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x1d0
  252. MX8MM_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x1d0
  253. MX8MM_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x1d0
  254. >;
  255. };
  256. pinctrl_usdhc1_100mhz: usdhc1-100mhz-grp {
  257. fsl,pins = <
  258. MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194
  259. MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4
  260. MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4
  261. MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4
  262. MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4
  263. MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4
  264. MX8MM_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x1d4
  265. MX8MM_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x1d4
  266. MX8MM_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x1d4
  267. MX8MM_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x1d4
  268. >;
  269. };
  270. pinctrl_usdhc1_200mhz: usdhc1-200mhz-grp {
  271. fsl,pins = <
  272. MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196
  273. MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6
  274. MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6
  275. MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6
  276. MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6
  277. MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6
  278. MX8MM_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x1d6
  279. MX8MM_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x1d6
  280. MX8MM_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x1d6
  281. MX8MM_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x1d6
  282. >;
  283. };
  284. pinctrl_usdhc1_gpio: usdhc1-gpio-grp {
  285. fsl,pins = <
  286. MX8MM_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0x41
  287. MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x1c4
  288. >;
  289. };
  290. pinctrl_usdhc2: usdhc2-grp {
  291. fsl,pins = <
  292. MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190
  293. MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0
  294. MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0
  295. MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0
  296. MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0
  297. MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0
  298. MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
  299. >;
  300. };
  301. pinctrl_usdhc2_100mhz: usdhc2-100mhz-grp {
  302. fsl,pins = <
  303. MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194
  304. MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4
  305. MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4
  306. MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4
  307. MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4
  308. MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4
  309. MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
  310. >;
  311. };
  312. pinctrl_usdhc2_200mhz: usdhc2-200mhz-grp {
  313. fsl,pins = <
  314. MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196
  315. MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6
  316. MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6
  317. MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6
  318. MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6
  319. MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6
  320. MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
  321. >;
  322. };
  323. /* no reset for sdhc2 interface */
  324. pinctrl_usdhc2_gpio: usdhc2-gpio-grp {
  325. fsl,pins = <
  326. MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x1c4
  327. MX8MM_IOMUXC_SD2_WP_USDHC2_WP 0x1c4
  328. >;
  329. };
  330. pinctrl_wdog: wdog-grp {
  331. fsl,pins = <
  332. MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
  333. >;
  334. };
  335. };
  336. &i2c1 {
  337. clock-frequency = <400000>;
  338. pinctrl-names = "default";
  339. pinctrl-0 = <&pinctrl_i2c1>;
  340. status = "okay";
  341. };
  342. &i2c2 {
  343. clock-frequency = <400000>;
  344. pinctrl-names = "default";
  345. pinctrl-0 = <&pinctrl_i2c2>;
  346. status = "okay";
  347. };
  348. &i2c3 {
  349. clock-frequency = <400000>;
  350. pinctrl-names = "default";
  351. pinctrl-0 = <&pinctrl_i2c3>;
  352. status = "okay";
  353. bd71847: pmic@4b {
  354. compatible = "rohm,bd71847";
  355. reg = <0x4b>;
  356. pinctrl-0 = <&pinctrl_pmic>;
  357. interrupt-parent = <&gpio3>;
  358. interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
  359. rohm,reset-snvs-powered;
  360. regulators {
  361. buck1_reg: BUCK1 {
  362. regulator-name = "BUCK1";
  363. regulator-min-microvolt = <700000>;
  364. regulator-max-microvolt = <1300000>;
  365. regulator-boot-on;
  366. regulator-always-on;
  367. regulator-ramp-delay = <1250>;
  368. };
  369. buck2_reg: BUCK2 {
  370. regulator-name = "BUCK2";
  371. regulator-min-microvolt = <700000>;
  372. regulator-max-microvolt = <1300000>;
  373. regulator-boot-on;
  374. regulator-always-on;
  375. regulator-ramp-delay = <1250>;
  376. rohm,dvs-run-voltage = <1000000>;
  377. rohm,dvs-idle-voltage = <900000>;
  378. };
  379. buck3_reg: BUCK3 {
  380. // BUCK5 in datasheet
  381. regulator-name = "BUCK3";
  382. regulator-min-microvolt = <700000>;
  383. regulator-max-microvolt = <1350000>;
  384. regulator-boot-on;
  385. regulator-always-on;
  386. };
  387. buck4_reg: BUCK4 {
  388. // BUCK6 in datasheet
  389. regulator-name = "BUCK4";
  390. regulator-min-microvolt = <3000000>;
  391. regulator-max-microvolt = <3300000>;
  392. regulator-boot-on;
  393. regulator-always-on;
  394. };
  395. buck5_reg: BUCK5 {
  396. // BUCK7 in datasheet
  397. regulator-name = "BUCK5";
  398. regulator-min-microvolt = <1605000>;
  399. regulator-max-microvolt = <1995000>;
  400. regulator-boot-on;
  401. regulator-always-on;
  402. };
  403. buck6_reg: BUCK6 {
  404. // BUCK8 in datasheet
  405. regulator-name = "BUCK6";
  406. regulator-min-microvolt = <800000>;
  407. regulator-max-microvolt = <1400000>;
  408. regulator-boot-on;
  409. regulator-always-on;
  410. };
  411. ldo1_reg: LDO1 {
  412. regulator-name = "LDO1";
  413. regulator-min-microvolt = <1600000>;
  414. regulator-max-microvolt = <1900000>;
  415. regulator-boot-on;
  416. regulator-always-on;
  417. };
  418. ldo2_reg: LDO2 {
  419. regulator-name = "LDO2";
  420. regulator-min-microvolt = <800000>;
  421. regulator-max-microvolt = <900000>;
  422. regulator-boot-on;
  423. regulator-always-on;
  424. };
  425. ldo3_reg: LDO3 {
  426. regulator-name = "LDO3";
  427. regulator-min-microvolt = <1800000>;
  428. regulator-max-microvolt = <3300000>;
  429. regulator-boot-on;
  430. regulator-always-on;
  431. };
  432. ldo4_reg: LDO4 {
  433. regulator-name = "LDO4";
  434. regulator-min-microvolt = <900000>;
  435. regulator-max-microvolt = <1800000>;
  436. regulator-boot-on;
  437. regulator-always-on;
  438. };
  439. ldo6_reg: LDO6 {
  440. regulator-name = "LDO6";
  441. regulator-min-microvolt = <900000>;
  442. regulator-max-microvolt = <1800000>;
  443. regulator-boot-on;
  444. regulator-always-on;
  445. };
  446. };
  447. };
  448. rv1805: rtc@69 {
  449. compatible = "abracon,ab1805";
  450. reg = <0x69>;
  451. };
  452. };
  453. &mu {
  454. status = "okay";
  455. };
  456. &pwm1 {
  457. pinctrl-names = "default";
  458. pinctrl-0 = <&pinctrl_pwm1>;
  459. };
  460. &sai2 {
  461. #sound-dai-cells = <0>;
  462. pinctrl-names = "default";
  463. pinctrl-0 = <&pinctrl_sai2>;
  464. assigned-clocks = <&clk IMX8MM_CLK_SAI2>;
  465. assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
  466. assigned-clock-rates = <12000000>;
  467. status = "disabled";
  468. };
  469. &spdif1 {
  470. pinctrl-names = "default";
  471. pinctrl-0 = <&pinctrl_spdif1>;
  472. assigned-clocks = <&clk IMX8MM_CLK_SPDIF1>;
  473. assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
  474. assigned-clock-rates = <24576000>;
  475. clocks = <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_24M>,
  476. <&clk IMX8MM_CLK_SPDIF1>, <&clk IMX8MM_CLK_DUMMY>,
  477. <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>,
  478. <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_DUMMY>,
  479. <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>,
  480. <&clk IMX8MM_AUDIO_PLL1_OUT>, <&clk IMX8MM_AUDIO_PLL2_OUT>;
  481. clock-names = "core", "rxtx0", "rxtx1", "rxtx2", "rxtx3",
  482. "rxtx4", "rxtx5", "rxtx6", "rxtx7", "spba", "pll8k", "pll11k";
  483. status = "disabled";
  484. };
  485. &uart1 { /* console */
  486. pinctrl-names = "default";
  487. pinctrl-0 = <&pinctrl_uart1>;
  488. assigned-clocks = <&clk IMX8MM_CLK_UART1>;
  489. assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>;
  490. status = "okay";
  491. };
  492. &uart2 {
  493. pinctrl-names = "default";
  494. pinctrl-0 = <&pinctrl_uart2>;
  495. assigned-clocks = <&clk IMX8MM_CLK_UART2>;
  496. assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>;
  497. status = "okay";
  498. };
  499. &uart3 {
  500. pinctrl-names = "default";
  501. pinctrl-0 = <&pinctrl_uart3>;
  502. assigned-clocks = <&clk IMX8MM_CLK_UART3>;
  503. assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>;
  504. status = "okay";
  505. };
  506. &uart4 {
  507. pinctrl-names = "default";
  508. pinctrl-0 = <&pinctrl_uart4>;
  509. assigned-clocks = <&clk IMX8MM_CLK_UART4>;
  510. assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>;
  511. status = "okay";
  512. };
  513. &usbotg1 {
  514. dr_mode = "otg";
  515. over-current-active-low;
  516. status = "okay";
  517. };
  518. &usbotg2 {
  519. dr_mode = "host";
  520. disable-over-current;
  521. status = "disabled";
  522. };
  523. &usdhc1 {
  524. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  525. pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>;
  526. pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_gpio>;
  527. pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_gpio>;
  528. bus-width = <8>;
  529. vmmc-supply = <&reg_usdhc1_vmmc>;
  530. keep-power-in-suspend;
  531. non-removable;
  532. status = "okay";
  533. };
  534. &usdhc2 {
  535. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  536. pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
  537. pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
  538. pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
  539. cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
  540. wp-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
  541. bus-width = <4>;
  542. vmmc-supply = <&reg_usdhc2_vmmc>;
  543. no-1-8-v;
  544. status = "okay";
  545. };
  546. &wdog1 {
  547. pinctrl-names = "default";
  548. pinctrl-0 = <&pinctrl_wdog>;
  549. fsl,ext-reset-output;
  550. status = "okay";
  551. };