imx8mq-sr-som.dtsi 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright (C) 2018 Jon Nettleton <[email protected]>
  4. */
  5. #include "imx8mq.dtsi"
  6. / {
  7. reg_vdd_3v3: regulator-vdd-3v3 {
  8. compatible = "regulator-fixed";
  9. regulator-always-on;
  10. regulator-name = "vdd_3v3";
  11. regulator-min-microvolt = <3300000>;
  12. regulator-max-microvolt = <3300000>;
  13. };
  14. };
  15. &fec1 {
  16. pinctrl-names = "default";
  17. pinctrl-0 = <&pinctrl_fec1>;
  18. phy-mode = "rgmii-id";
  19. phy-handle = <&ethphy0>;
  20. fsl,magic-packet;
  21. status = "okay";
  22. mdio {
  23. #address-cells = <1>;
  24. #size-cells = <0>;
  25. ethphy0: ethernet-phy@4 {
  26. compatible = "ethernet-phy-ieee802.3-c22";
  27. reg = <4>;
  28. reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
  29. reset-assert-us = <2000>;
  30. };
  31. };
  32. };
  33. &i2c1 {
  34. pinctrl-names = "default";
  35. pinctrl-0 = <&pinctrl_i2c1>;
  36. clock-frequency = <400000>;
  37. status = "okay";
  38. pmic: pmic@8 {
  39. compatible = "fsl,pfuze100";
  40. reg = <0x08>;
  41. regulators {
  42. sw1a_reg: sw1ab {
  43. regulator-min-microvolt = <300000>;
  44. regulator-max-microvolt = <1875000>;
  45. };
  46. sw1c_reg: sw1c {
  47. regulator-min-microvolt = <300000>;
  48. regulator-max-microvolt = <1875000>;
  49. };
  50. sw2_reg: sw2 {
  51. regulator-min-microvolt = <800000>;
  52. regulator-max-microvolt = <3300000>;
  53. regulator-always-on;
  54. };
  55. sw3a_reg: sw3ab {
  56. regulator-min-microvolt = <400000>;
  57. regulator-max-microvolt = <1975000>;
  58. regulator-always-on;
  59. };
  60. sw4_reg: sw4 {
  61. regulator-min-microvolt = <800000>;
  62. regulator-max-microvolt = <3300000>;
  63. regulator-always-on;
  64. };
  65. swbst_reg: swbst {
  66. regulator-min-microvolt = <5000000>;
  67. regulator-max-microvolt = <5150000>;
  68. };
  69. snvs_reg: vsnvs {
  70. regulator-min-microvolt = <1000000>;
  71. regulator-max-microvolt = <3000000>;
  72. regulator-always-on;
  73. };
  74. vref_reg: vrefddr {
  75. regulator-always-on;
  76. };
  77. vgen1_reg: vgen1 {
  78. regulator-min-microvolt = <800000>;
  79. regulator-max-microvolt = <1550000>;
  80. };
  81. vgen2_reg: vgen2 {
  82. regulator-min-microvolt = <800000>;
  83. regulator-max-microvolt = <1550000>;
  84. regulator-always-on;
  85. };
  86. vgen3_reg: vgen3 {
  87. regulator-min-microvolt = <1800000>;
  88. regulator-max-microvolt = <3300000>;
  89. regulator-always-on;
  90. };
  91. vgen4_reg: vgen4 {
  92. regulator-min-microvolt = <1800000>;
  93. regulator-max-microvolt = <3300000>;
  94. regulator-always-on;
  95. };
  96. vgen5_reg: vgen5 {
  97. regulator-min-microvolt = <1800000>;
  98. regulator-max-microvolt = <3300000>;
  99. regulator-always-on;
  100. };
  101. vgen6_reg: vgen6 {
  102. regulator-min-microvolt = <1800000>;
  103. regulator-max-microvolt = <3300000>;
  104. };
  105. };
  106. };
  107. eeprom@50 {
  108. compatible = "atmel,24c01";
  109. reg = <0x50>;
  110. status = "okay";
  111. };
  112. };
  113. &pgc_gpu{
  114. power-supply = <&sw1a_reg>;
  115. };
  116. &pgc_vpu {
  117. power-supply = <&sw1c_reg>;
  118. };
  119. &qspi0 {
  120. pinctrl-names = "default";
  121. pinctrl-0 = <&pinctrl_qspi>;
  122. status = "okay";
  123. /* SPI flash; not assembled by default */
  124. spi_flash: flash@0 {
  125. #address-cells = <1>;
  126. #size-cells = <1>;
  127. reg = <0>;
  128. compatible = "micron,n25q256a", "jedec,spi-nor";
  129. spi-max-frequency = <29000000>;
  130. status = "disabled";
  131. };
  132. };
  133. &uart1 { /* console */
  134. pinctrl-names = "default";
  135. pinctrl-0 = <&pinctrl_uart1>;
  136. assigned-clocks = <&clk IMX8MQ_CLK_UART1>;
  137. assigned-clock-parents = <&clk IMX8MQ_CLK_25M>;
  138. assigned-clock-rates = <25000000>;
  139. status = "okay";
  140. };
  141. &uart4 { /* ublox BT */
  142. pinctrl-names = "default";
  143. pinctrl-0 = <&pinctrl_uart4>;
  144. assigned-clocks = <&clk IMX8MQ_CLK_UART4>;
  145. assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>;
  146. assigned-clock-rates = <80000000>;
  147. status = "okay";
  148. };
  149. &usdhc1 {
  150. assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
  151. assigned-clock-rates = <400000000>;
  152. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  153. pinctrl-0 = <&pinctrl_usdhc1>;
  154. pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
  155. pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
  156. bus-width = <8>;
  157. non-removable;
  158. status = "okay";
  159. };
  160. &wdog1 {
  161. pinctrl-names = "default";
  162. pinctrl-0 = <&pinctrl_wdog>;
  163. fsl,ext-reset-output;
  164. status = "okay";
  165. };
  166. &iomuxc {
  167. pinctrl_fec1: fec1grp {
  168. fsl,pins = <
  169. MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3
  170. MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23
  171. MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
  172. MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
  173. MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
  174. MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
  175. MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
  176. MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
  177. MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
  178. MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
  179. MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
  180. MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
  181. MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
  182. MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
  183. MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19
  184. >;
  185. };
  186. pinctrl_i2c1: i2c1grp {
  187. fsl,pins = <
  188. MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f
  189. MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x4000007f
  190. >;
  191. };
  192. pinctrl_pcie0: pcie0grp {
  193. fsl,pins = <
  194. MX8MQ_IOMUXC_I2C4_SCL_PCIE1_CLKREQ_B 0x74
  195. MX8MQ_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0x16
  196. MX8MQ_IOMUXC_SAI2_RXFS_GPIO4_IO21 0x16
  197. >;
  198. };
  199. pinctrl_qspi: qspigrp {
  200. fsl,pins = <
  201. MX8MQ_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x82
  202. MX8MQ_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x82
  203. MX8MQ_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x82
  204. MX8MQ_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x82
  205. MX8MQ_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x82
  206. MX8MQ_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x82
  207. >;
  208. };
  209. pinctrl_uart1: uart1grp {
  210. fsl,pins = <
  211. MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX 0x49
  212. MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX 0x49
  213. MX8MQ_IOMUXC_NAND_CE1_B_GPIO3_IO2 0x19
  214. >;
  215. };
  216. pinctrl_uart4: uart4grp {
  217. fsl,pins = <
  218. MX8MQ_IOMUXC_UART4_TXD_UART4_DCE_TX 0x49
  219. MX8MQ_IOMUXC_UART4_RXD_UART4_DCE_RX 0x49
  220. MX8MQ_IOMUXC_SAI3_TXD_GPIO5_IO1 0x19
  221. >;
  222. };
  223. pinctrl_usdhc1: usdhc1grp {
  224. fsl,pins = <
  225. MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x83
  226. MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xc3
  227. MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xc3
  228. MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xc3
  229. MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xc3
  230. MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xc3
  231. MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xc3
  232. MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc3
  233. MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc3
  234. MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc3
  235. MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x83
  236. MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1
  237. >;
  238. };
  239. pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
  240. fsl,pins = <
  241. MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x8d
  242. MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xcd
  243. MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xcd
  244. MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xcd
  245. MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xcd
  246. MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xcd
  247. MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xcd
  248. MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xcd
  249. MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xcd
  250. MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xcd
  251. MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x8d
  252. MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1
  253. >;
  254. };
  255. pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
  256. fsl,pins = <
  257. MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x9f
  258. MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xdf
  259. MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xdf
  260. MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xdf
  261. MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xdf
  262. MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xdf
  263. MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xdf
  264. MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xdf
  265. MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xdf
  266. MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xdf
  267. MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x9f
  268. MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1
  269. >;
  270. };
  271. pinctrl_wdog: wdoggrp {
  272. fsl,pins = <
  273. MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
  274. >;
  275. };
  276. };