imx6qdl-phytec-pfla02.dtsi 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Copyright 2013 Christian Hemp, Phytec Messtechnik GmbH
  4. */
  5. #include <dt-bindings/gpio/gpio.h>
  6. / {
  7. model = "Phytec phyFLEX-i.MX6 Quad";
  8. compatible = "phytec,imx6q-pfla02", "fsl,imx6q";
  9. memory@10000000 {
  10. device_type = "memory";
  11. reg = <0x10000000 0x80000000>;
  12. };
  13. regulators {
  14. compatible = "simple-bus";
  15. #address-cells = <1>;
  16. #size-cells = <0>;
  17. reg_usb_otg_vbus: regulator@0 {
  18. compatible = "regulator-fixed";
  19. reg = <0>;
  20. regulator-name = "usb_otg_vbus";
  21. regulator-min-microvolt = <5000000>;
  22. regulator-max-microvolt = <5000000>;
  23. gpio = <&gpio4 15 0>;
  24. enable-active-high;
  25. };
  26. reg_usb_h1_vbus: regulator@1 {
  27. compatible = "regulator-fixed";
  28. pinctrl-names = "default";
  29. pinctrl-0 = <&pinctrl_usbh1_vbus>;
  30. reg = <1>;
  31. regulator-name = "usb_h1_vbus";
  32. regulator-min-microvolt = <5000000>;
  33. regulator-max-microvolt = <5000000>;
  34. gpio = <&gpio1 0 0>;
  35. enable-active-high;
  36. };
  37. };
  38. gpio_leds: leds {
  39. pinctrl-names = "default";
  40. pinctrl-0 = <&pinctrl_leds>;
  41. compatible = "gpio-leds";
  42. led_green: led-green {
  43. label = "phyflex:green";
  44. gpios = <&gpio1 30 0>;
  45. };
  46. led_red: led-red {
  47. label = "phyflex:red";
  48. gpios = <&gpio2 31 0>;
  49. };
  50. };
  51. };
  52. &audmux {
  53. pinctrl-names = "default";
  54. pinctrl-0 = <&pinctrl_audmux>;
  55. status = "disabled";
  56. };
  57. &can1 {
  58. pinctrl-names = "default";
  59. pinctrl-0 = <&pinctrl_flexcan1>;
  60. status = "disabled";
  61. };
  62. &ecspi3 {
  63. pinctrl-names = "default";
  64. pinctrl-0 = <&pinctrl_ecspi3>;
  65. status = "okay";
  66. cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
  67. som_flash: flash@0 {
  68. compatible = "m25p80", "jedec,spi-nor";
  69. spi-max-frequency = <20000000>;
  70. reg = <0>;
  71. };
  72. };
  73. &fec {
  74. pinctrl-names = "default";
  75. pinctrl-0 = <&pinctrl_enet>;
  76. phy-handle = <&ethphy>;
  77. phy-mode = "rgmii";
  78. phy-reset-duration = <10>; /* in msecs */
  79. phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
  80. phy-supply = <&vdd_eth_io_reg>;
  81. status = "disabled";
  82. fec_mdio: mdio {
  83. #address-cells = <1>;
  84. #size-cells = <0>;
  85. ethphy: ethernet-phy@0 {
  86. compatible = "ethernet-phy-ieee802.3-c22";
  87. reg = <0>;
  88. txc-skew-ps = <1680>;
  89. rxc-skew-ps = <1860>;
  90. };
  91. };
  92. };
  93. &gpmi {
  94. pinctrl-names = "default";
  95. pinctrl-0 = <&pinctrl_gpmi_nand>;
  96. nand-on-flash-bbt;
  97. status = "okay";
  98. };
  99. &i2c1 {
  100. pinctrl-names = "default";
  101. pinctrl-0 = <&pinctrl_i2c1>;
  102. status = "okay";
  103. som_eeprom: eeprom@50 {
  104. compatible = "catalyst,24c32", "atmel,24c32";
  105. pagesize = <32>;
  106. reg = <0x50>;
  107. };
  108. pmic@58 {
  109. pinctrl-names = "default";
  110. pinctrl-0 = <&pinctrl_pmic>;
  111. compatible = "dlg,da9063";
  112. reg = <0x58>;
  113. interrupt-parent = <&gpio2>;
  114. interrupts = <9 IRQ_TYPE_LEVEL_LOW>; /* active-low GPIO2_9 */
  115. interrupt-controller;
  116. regulators {
  117. vddcore_reg: bcore1 {
  118. regulator-min-microvolt = <730000>;
  119. regulator-max-microvolt = <1380000>;
  120. regulator-always-on;
  121. };
  122. vddsoc_reg: bcore2 {
  123. regulator-min-microvolt = <730000>;
  124. regulator-max-microvolt = <1380000>;
  125. regulator-always-on;
  126. };
  127. vdd_ddr3_reg: bpro {
  128. regulator-min-microvolt = <1500000>;
  129. regulator-max-microvolt = <1500000>;
  130. regulator-always-on;
  131. };
  132. vdd_3v3_reg: bperi {
  133. regulator-min-microvolt = <3300000>;
  134. regulator-max-microvolt = <3300000>;
  135. regulator-always-on;
  136. };
  137. vdd_buckmem_reg: bmem {
  138. regulator-min-microvolt = <3300000>;
  139. regulator-max-microvolt = <3300000>;
  140. regulator-always-on;
  141. };
  142. vdd_eth_reg: bio {
  143. regulator-min-microvolt = <1200000>;
  144. regulator-max-microvolt = <1200000>;
  145. regulator-always-on;
  146. };
  147. vdd_eth_io_reg: ldo4 {
  148. regulator-min-microvolt = <2500000>;
  149. regulator-max-microvolt = <2500000>;
  150. regulator-always-on;
  151. };
  152. vdd_mx6_snvs_reg: ldo5 {
  153. regulator-min-microvolt = <3000000>;
  154. regulator-max-microvolt = <3000000>;
  155. regulator-always-on;
  156. };
  157. vdd_3v3_pmic_io_reg: ldo6 {
  158. regulator-min-microvolt = <3300000>;
  159. regulator-max-microvolt = <3300000>;
  160. regulator-always-on;
  161. };
  162. vdd_sd0_reg: ldo9 {
  163. regulator-min-microvolt = <3300000>;
  164. regulator-max-microvolt = <3300000>;
  165. };
  166. vdd_sd1_reg: ldo10 {
  167. regulator-min-microvolt = <3300000>;
  168. regulator-max-microvolt = <3300000>;
  169. };
  170. vdd_mx6_high_reg: ldo11 {
  171. regulator-min-microvolt = <3000000>;
  172. regulator-max-microvolt = <3000000>;
  173. regulator-always-on;
  174. };
  175. };
  176. da9063_rtc: rtc {
  177. compatible = "dlg,da9063-rtc";
  178. };
  179. da9063_wdog: watchdog {
  180. compatible = "dlg,da9063-watchdog";
  181. };
  182. onkey {
  183. compatible = "dlg,da9063-onkey";
  184. status = "disabled";
  185. };
  186. };
  187. };
  188. &i2c2 {
  189. pinctrl-names = "default";
  190. pinctrl-0 = <&pinctrl_i2c2>;
  191. clock-frequency = <100000>;
  192. };
  193. &i2c3 {
  194. pinctrl-names = "default";
  195. pinctrl-0 = <&pinctrl_i2c3>;
  196. clock-frequency = <100000>;
  197. };
  198. &iomuxc {
  199. imx6q-phytec-pfla02 {
  200. pinctrl_ecspi3: ecspi3grp {
  201. fsl,pins = <
  202. MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO 0x100b1
  203. MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI 0x100b1
  204. MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK 0x100b1
  205. MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x80000000 /* CS0 */
  206. >;
  207. };
  208. pinctrl_enet: enetgrp {
  209. fsl,pins = <
  210. MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
  211. MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
  212. MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030
  213. MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030
  214. MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030
  215. MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030
  216. MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030
  217. MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
  218. MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
  219. MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030
  220. MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030
  221. MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030
  222. MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
  223. MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
  224. MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
  225. MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0
  226. MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000 /* Reset GPIO */
  227. >;
  228. };
  229. pinctrl_flexcan1: flexcan1grp {
  230. fsl,pins = <
  231. MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b0b0
  232. MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b0b0
  233. >;
  234. };
  235. pinctrl_gpmi_nand: gpminandgrp {
  236. fsl,pins = <
  237. MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
  238. MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
  239. MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
  240. MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
  241. MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
  242. MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1
  243. MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
  244. MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
  245. MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
  246. MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
  247. MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
  248. MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
  249. MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
  250. MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
  251. MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
  252. MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
  253. MX6QDL_PAD_SD4_DAT0__NAND_DQS 0x00b1
  254. >;
  255. };
  256. pinctrl_i2c1: i2c1grp {
  257. fsl,pins = <
  258. MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
  259. MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
  260. >;
  261. };
  262. pinctrl_i2c2: i2c2grp {
  263. fsl,pins = <
  264. MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
  265. MX6QDL_PAD_EIM_D16__I2C2_SDA 0x4001b8b1
  266. >;
  267. };
  268. pinctrl_i2c3: i2c3grp {
  269. fsl,pins = <
  270. MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
  271. MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
  272. >;
  273. };
  274. pinctrl_leds: ledsgrp {
  275. fsl,pins = <
  276. MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* Green LED */
  277. MX6QDL_PAD_EIM_EB3__GPIO2_IO31 0x80000000 /* Red LED */
  278. >;
  279. };
  280. pinctrl_pcie: pciegrp {
  281. fsl,pins = <MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x80000000>;
  282. };
  283. pinctrl_pmic: pmicgrp {
  284. fsl,pins = <MX6QDL_PAD_SD4_DAT1__GPIO2_IO09 0x80000000>; /* PMIC interrupt */
  285. };
  286. pinctrl_uart3: uart3grp {
  287. fsl,pins = <
  288. MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
  289. MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
  290. MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1
  291. MX6QDL_PAD_EIM_D30__UART3_CTS_B 0x1b0b1
  292. >;
  293. };
  294. pinctrl_uart4: uart4grp {
  295. fsl,pins = <
  296. MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
  297. MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
  298. >;
  299. };
  300. pinctrl_usbh1_vbus: usbh1vbusgrp {
  301. fsl,pins = <
  302. MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0
  303. >;
  304. };
  305. pinctrl_usbotg: usbotggrp {
  306. fsl,pins = <
  307. MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
  308. MX6QDL_PAD_KEY_COL4__USB_OTG_OC 0x1b0b0
  309. MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x80000000
  310. >;
  311. };
  312. pinctrl_usdhc2: usdhc2grp {
  313. fsl,pins = <
  314. MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
  315. MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
  316. MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
  317. MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
  318. MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
  319. MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
  320. >;
  321. };
  322. pinctrl_usdhc3: usdhc3grp {
  323. fsl,pins = <
  324. MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
  325. MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
  326. MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
  327. MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
  328. MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
  329. MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
  330. >;
  331. };
  332. pinctrl_usdhc3_cdwp: usdhc3cdwp {
  333. fsl,pins = <
  334. MX6QDL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000
  335. MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
  336. >;
  337. };
  338. pinctrl_audmux: audmuxgrp {
  339. fsl,pins = <
  340. MX6QDL_PAD_DISP0_DAT16__AUD5_TXC 0x130b0
  341. MX6QDL_PAD_DISP0_DAT17__AUD5_TXD 0x110b0
  342. MX6QDL_PAD_DISP0_DAT18__AUD5_TXFS 0x130b0
  343. MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0
  344. >;
  345. };
  346. };
  347. };
  348. &pcie {
  349. pinctrl-names = "default";
  350. pinctrl-0 = <&pinctrl_pcie>;
  351. reset-gpio = <&gpio4 17 GPIO_ACTIVE_LOW>;
  352. status = "disabled";
  353. };
  354. &reg_arm {
  355. vin-supply = <&vddcore_reg>;
  356. };
  357. &reg_pu {
  358. vin-supply = <&vddsoc_reg>;
  359. };
  360. &reg_soc {
  361. vin-supply = <&vddsoc_reg>;
  362. };
  363. &uart3 {
  364. pinctrl-names = "default";
  365. pinctrl-0 = <&pinctrl_uart3>;
  366. uart-has-rtscts;
  367. status = "disabled";
  368. };
  369. &uart4 {
  370. pinctrl-names = "default";
  371. pinctrl-0 = <&pinctrl_uart4>;
  372. status = "disabled";
  373. };
  374. &usbh1 {
  375. vbus-supply = <&reg_usb_h1_vbus>;
  376. status = "disabled";
  377. };
  378. &usbotg {
  379. vbus-supply = <&reg_usb_otg_vbus>;
  380. pinctrl-names = "default";
  381. pinctrl-0 = <&pinctrl_usbotg>;
  382. disable-over-current;
  383. status = "disabled";
  384. };
  385. &usdhc2 {
  386. pinctrl-names = "default";
  387. pinctrl-0 = <&pinctrl_usdhc2>;
  388. cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
  389. wp-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
  390. vmmc-supply = <&vdd_sd1_reg>;
  391. status = "disabled";
  392. };
  393. &usdhc3 {
  394. pinctrl-names = "default";
  395. pinctrl-0 = <&pinctrl_usdhc3
  396. &pinctrl_usdhc3_cdwp>;
  397. cd-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
  398. wp-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>;
  399. vmmc-supply = <&vdd_sd0_reg>;
  400. status = "disabled";
  401. };