imx8mn-beacon-som.dtsi 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright 2020 Compass Electronics Group, LLC
  4. */
  5. / {
  6. aliases {
  7. rtc0 = &rtc;
  8. rtc1 = &snvs_rtc;
  9. spi0 = &flexspi;
  10. };
  11. usdhc1_pwrseq: usdhc1_pwrseq {
  12. compatible = "mmc-pwrseq-simple";
  13. pinctrl-names = "default";
  14. pinctrl-0 = <&pinctrl_usdhc1_gpio>;
  15. reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
  16. clocks = <&osc_32k>;
  17. clock-names = "ext_clock";
  18. post-power-on-delay-ms = <80>;
  19. };
  20. memory@40000000 {
  21. device_type = "memory";
  22. reg = <0x0 0x40000000 0 0x80000000>;
  23. };
  24. };
  25. &A53_0 {
  26. cpu-supply = <&buck2_reg>;
  27. };
  28. &A53_1 {
  29. cpu-supply = <&buck2_reg>;
  30. };
  31. &A53_2 {
  32. cpu-supply = <&buck2_reg>;
  33. };
  34. &A53_3 {
  35. cpu-supply = <&buck2_reg>;
  36. };
  37. /* DDR controller is running LPDDR at 800MHz which requires 0.95V */
  38. &a53_opp_table {
  39. opp-1200000000 {
  40. opp-microvolt = <950000>;
  41. };
  42. };
  43. &ddrc {
  44. operating-points-v2 = <&ddrc_opp_table>;
  45. ddrc_opp_table: opp-table {
  46. compatible = "operating-points-v2";
  47. opp-25M {
  48. opp-hz = /bits/ 64 <25000000>;
  49. };
  50. opp-100M {
  51. opp-hz = /bits/ 64 <100000000>;
  52. };
  53. opp-800M {
  54. opp-hz = /bits/ 64 <800000000>;
  55. };
  56. };
  57. };
  58. &fec1 {
  59. pinctrl-names = "default";
  60. pinctrl-0 = <&pinctrl_fec1>;
  61. phy-mode = "rgmii-id";
  62. phy-handle = <&ethphy0>;
  63. phy-supply = <&buck6_reg>;
  64. phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
  65. fsl,magic-packet;
  66. status = "okay";
  67. mdio {
  68. #address-cells = <1>;
  69. #size-cells = <0>;
  70. ethphy0: ethernet-phy@0 {
  71. compatible = "ethernet-phy-ieee802.3-c22";
  72. reg = <0>;
  73. };
  74. };
  75. };
  76. &flexspi {
  77. pinctrl-names = "default";
  78. pinctrl-0 = <&pinctrl_flexspi>;
  79. status = "okay";
  80. flash@0 {
  81. reg = <0>;
  82. #address-cells = <1>;
  83. #size-cells = <1>;
  84. compatible = "jedec,spi-nor";
  85. spi-max-frequency = <80000000>;
  86. spi-tx-bus-width = <1>;
  87. spi-rx-bus-width = <4>;
  88. };
  89. };
  90. &i2c1 {
  91. clock-frequency = <400000>;
  92. pinctrl-names = "default";
  93. pinctrl-0 = <&pinctrl_i2c1>;
  94. status = "okay";
  95. pmic@4b {
  96. compatible = "rohm,bd71847";
  97. reg = <0x4b>;
  98. pinctrl-names = "default";
  99. pinctrl-0 = <&pinctrl_pmic>;
  100. interrupt-parent = <&gpio1>;
  101. interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
  102. rohm,reset-snvs-powered;
  103. #clock-cells = <0>;
  104. clocks = <&osc_32k 0>;
  105. clock-output-names = "clk-32k-out";
  106. regulators {
  107. buck1_reg: BUCK1 {
  108. regulator-name = "buck1";
  109. regulator-min-microvolt = <700000>;
  110. regulator-max-microvolt = <1300000>;
  111. regulator-boot-on;
  112. regulator-always-on;
  113. regulator-ramp-delay = <1250>;
  114. };
  115. buck2_reg: BUCK2 {
  116. regulator-name = "buck2";
  117. regulator-min-microvolt = <700000>;
  118. regulator-max-microvolt = <1300000>;
  119. regulator-boot-on;
  120. regulator-always-on;
  121. regulator-ramp-delay = <1250>;
  122. rohm,dvs-run-voltage = <1000000>;
  123. rohm,dvs-idle-voltage = <900000>;
  124. };
  125. buck3_reg: BUCK3 {
  126. // BUCK5 in datasheet
  127. regulator-name = "buck3";
  128. regulator-min-microvolt = <700000>;
  129. regulator-max-microvolt = <1350000>;
  130. regulator-boot-on;
  131. regulator-always-on;
  132. };
  133. buck4_reg: BUCK4 {
  134. // BUCK6 in datasheet
  135. regulator-name = "buck4";
  136. regulator-min-microvolt = <3000000>;
  137. regulator-max-microvolt = <3300000>;
  138. regulator-boot-on;
  139. regulator-always-on;
  140. };
  141. buck5_reg: BUCK5 {
  142. // BUCK7 in datasheet
  143. regulator-name = "buck5";
  144. regulator-min-microvolt = <1605000>;
  145. regulator-max-microvolt = <1995000>;
  146. regulator-boot-on;
  147. regulator-always-on;
  148. };
  149. buck6_reg: BUCK6 {
  150. // BUCK8 in datasheet
  151. regulator-name = "buck6";
  152. regulator-min-microvolt = <800000>;
  153. regulator-max-microvolt = <1400000>;
  154. regulator-boot-on;
  155. regulator-always-on;
  156. };
  157. ldo1_reg: LDO1 {
  158. regulator-name = "ldo1";
  159. regulator-min-microvolt = <1600000>;
  160. regulator-max-microvolt = <3300000>;
  161. regulator-boot-on;
  162. regulator-always-on;
  163. };
  164. ldo2_reg: LDO2 {
  165. regulator-name = "ldo2";
  166. regulator-min-microvolt = <800000>;
  167. regulator-max-microvolt = <900000>;
  168. regulator-boot-on;
  169. regulator-always-on;
  170. };
  171. ldo3_reg: LDO3 {
  172. regulator-name = "ldo3";
  173. regulator-min-microvolt = <1800000>;
  174. regulator-max-microvolt = <3300000>;
  175. regulator-boot-on;
  176. regulator-always-on;
  177. };
  178. ldo4_reg: LDO4 {
  179. regulator-name = "ldo4";
  180. regulator-min-microvolt = <900000>;
  181. regulator-max-microvolt = <1800000>;
  182. regulator-boot-on;
  183. regulator-always-on;
  184. };
  185. ldo6_reg: LDO6 {
  186. regulator-name = "ldo6";
  187. regulator-min-microvolt = <900000>;
  188. regulator-max-microvolt = <1800000>;
  189. regulator-boot-on;
  190. regulator-always-on;
  191. };
  192. };
  193. };
  194. };
  195. &i2c3 {
  196. clock-frequency = <400000>;
  197. pinctrl-names = "default";
  198. pinctrl-0 = <&pinctrl_i2c3>;
  199. status = "okay";
  200. eeprom@50 {
  201. compatible = "microchip,24c64", "atmel,24c64";
  202. pagesize = <32>;
  203. read-only; /* Manufacturing EEPROM programmed at factory */
  204. reg = <0x50>;
  205. };
  206. rtc: rtc@51 {
  207. compatible = "nxp,pcf85263";
  208. reg = <0x51>;
  209. };
  210. };
  211. &uart1 {
  212. pinctrl-names = "default";
  213. pinctrl-0 = <&pinctrl_uart1>;
  214. assigned-clocks = <&clk IMX8MN_CLK_UART1>;
  215. assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_80M>;
  216. uart-has-rtscts;
  217. status = "okay";
  218. bluetooth {
  219. compatible = "brcm,bcm43438-bt";
  220. shutdown-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
  221. host-wakeup-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
  222. device-wakeup-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
  223. clocks = <&osc_32k>;
  224. max-speed = <4000000>;
  225. clock-names = "extclk";
  226. };
  227. };
  228. &usdhc1 {
  229. #address-cells = <1>;
  230. #size-cells = <0>;
  231. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  232. pinctrl-0 = <&pinctrl_usdhc1>;
  233. pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
  234. pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
  235. vmmc-supply = <&buck4_reg>;
  236. vqmmc-supply = <&buck5_reg>;
  237. bus-width = <4>;
  238. non-removable;
  239. cap-power-off-card;
  240. keep-power-in-suspend;
  241. mmc-pwrseq = <&usdhc1_pwrseq>;
  242. status = "okay";
  243. brcmf: bcrmf@1 {
  244. reg = <1>;
  245. compatible = "brcm,bcm4329-fmac";
  246. pinctrl-names = "default";
  247. pinctrl-0 = <&pinctrl_wlan>;
  248. interrupt-parent = <&gpio2>;
  249. interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
  250. interrupt-names = "host-wake";
  251. };
  252. };
  253. &usdhc3 {
  254. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  255. pinctrl-0 = <&pinctrl_usdhc3>;
  256. pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
  257. pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
  258. bus-width = <8>;
  259. non-removable;
  260. status = "okay";
  261. };
  262. &wdog1 {
  263. pinctrl-names = "default";
  264. pinctrl-0 = <&pinctrl_wdog>;
  265. fsl,ext-reset-output;
  266. status = "okay";
  267. };
  268. &iomuxc {
  269. pinctrl_fec1: fec1grp {
  270. fsl,pins = <
  271. MX8MN_IOMUXC_ENET_MDC_ENET1_MDC 0x3
  272. MX8MN_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3
  273. MX8MN_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
  274. MX8MN_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
  275. MX8MN_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
  276. MX8MN_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
  277. MX8MN_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
  278. MX8MN_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
  279. MX8MN_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
  280. MX8MN_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
  281. MX8MN_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
  282. MX8MN_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
  283. MX8MN_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
  284. MX8MN_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
  285. MX8MN_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19
  286. >;
  287. };
  288. pinctrl_i2c1: i2c1grp {
  289. fsl,pins = <
  290. MX8MN_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3
  291. MX8MN_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3
  292. >;
  293. };
  294. pinctrl_i2c3: i2c3grp {
  295. fsl,pins = <
  296. MX8MN_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
  297. MX8MN_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
  298. >;
  299. };
  300. pinctrl_flexspi: flexspigrp {
  301. fsl,pins = <
  302. MX8MN_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x1c2
  303. MX8MN_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x82
  304. MX8MN_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x82
  305. MX8MN_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x82
  306. MX8MN_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x82
  307. MX8MN_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x82
  308. >;
  309. };
  310. pinctrl_pmic: pmicirqgrp {
  311. fsl,pins = <
  312. MX8MN_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x141
  313. >;
  314. };
  315. pinctrl_uart1: uart1grp {
  316. fsl,pins = <
  317. MX8MN_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
  318. MX8MN_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140
  319. MX8MN_IOMUXC_UART3_RXD_UART1_DCE_CTS_B 0x140
  320. MX8MN_IOMUXC_UART3_TXD_UART1_DCE_RTS_B 0x140
  321. MX8MN_IOMUXC_SD1_DATA4_GPIO2_IO6 0x19
  322. MX8MN_IOMUXC_SD1_DATA5_GPIO2_IO7 0x19
  323. MX8MN_IOMUXC_SD1_DATA6_GPIO2_IO8 0x19
  324. MX8MN_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x141
  325. >;
  326. };
  327. pinctrl_usdhc1_gpio: usdhc1gpiogrp {
  328. fsl,pins = <
  329. MX8MN_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41
  330. >;
  331. };
  332. pinctrl_usdhc1: usdhc1grp {
  333. fsl,pins = <
  334. MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x190
  335. MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0
  336. MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0
  337. MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0
  338. MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0
  339. MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0
  340. >;
  341. };
  342. pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
  343. fsl,pins = <
  344. MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x194
  345. MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4
  346. MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4
  347. MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4
  348. MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4
  349. MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4
  350. >;
  351. };
  352. pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
  353. fsl,pins = <
  354. MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x196
  355. MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6
  356. MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6
  357. MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6
  358. MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6
  359. MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6
  360. >;
  361. };
  362. pinctrl_usdhc3: usdhc3grp {
  363. fsl,pins = <
  364. MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190
  365. MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0
  366. MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0
  367. MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0
  368. MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0
  369. MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0
  370. MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0
  371. MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0
  372. MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0
  373. MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0
  374. MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190
  375. >;
  376. };
  377. pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
  378. fsl,pins = <
  379. MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194
  380. MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4
  381. MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4
  382. MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4
  383. MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4
  384. MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4
  385. MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4
  386. MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4
  387. MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4
  388. MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4
  389. MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x194
  390. >;
  391. };
  392. pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
  393. fsl,pins = <
  394. MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196
  395. MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6
  396. MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d6
  397. MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d6
  398. MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d6
  399. MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d6
  400. MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d6
  401. MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d6
  402. MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d6
  403. MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d6
  404. MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x196
  405. >;
  406. };
  407. pinctrl_wdog: wdoggrp {
  408. fsl,pins = <
  409. MX8MN_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
  410. >;
  411. };
  412. pinctrl_wlan: wlangrp {
  413. fsl,pins = <
  414. MX8MN_IOMUXC_SD1_DATA7_GPIO2_IO9 0x111
  415. >;
  416. };
  417. };