imx8mm-var-som-symphony.dts 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (C) 2020 Krzysztof Kozlowski <[email protected]>
  4. */
  5. /dts-v1/;
  6. #include "imx8mm-var-som.dtsi"
  7. / {
  8. model = "Variscite VAR-SOM-MX8MM Symphony evaluation board";
  9. compatible = "variscite,var-som-mx8mm-symphony", "variscite,var-som-mx8mm", "fsl,imx8mm";
  10. reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
  11. compatible = "regulator-fixed";
  12. pinctrl-names = "default";
  13. pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
  14. regulator-name = "VSD_3V3";
  15. regulator-min-microvolt = <3300000>;
  16. regulator-max-microvolt = <3300000>;
  17. gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
  18. enable-active-high;
  19. };
  20. reg_usb_otg2_vbus: regulator-usb-otg2-vbus {
  21. compatible = "regulator-fixed";
  22. pinctrl-names = "default";
  23. pinctrl-0 = <&pinctrl_reg_usb_otg2_vbus>;
  24. regulator-name = "usb_otg2_vbus";
  25. regulator-min-microvolt = <5000000>;
  26. regulator-max-microvolt = <5000000>;
  27. gpio = <&gpio5 1 GPIO_ACTIVE_HIGH>;
  28. enable-active-high;
  29. };
  30. gpio-keys {
  31. compatible = "gpio-keys";
  32. key-back {
  33. label = "Back";
  34. gpios = <&pca9534 1 GPIO_ACTIVE_LOW>;
  35. linux,code = <KEY_BACK>;
  36. };
  37. key-home {
  38. label = "Home";
  39. gpios = <&pca9534 2 GPIO_ACTIVE_LOW>;
  40. linux,code = <KEY_HOME>;
  41. };
  42. key-menu {
  43. label = "Menu";
  44. gpios = <&pca9534 3 GPIO_ACTIVE_LOW>;
  45. linux,code = <KEY_MENU>;
  46. };
  47. };
  48. leds {
  49. compatible = "gpio-leds";
  50. led {
  51. label = "Heartbeat";
  52. gpios = <&pca9534 0 GPIO_ACTIVE_LOW>;
  53. linux,default-trigger = "heartbeat";
  54. };
  55. };
  56. };
  57. &ethphy {
  58. reset-gpios = <&pca9534 5 GPIO_ACTIVE_HIGH>;
  59. };
  60. &i2c2 {
  61. clock-frequency = <400000>;
  62. pinctrl-names = "default";
  63. pinctrl-0 = <&pinctrl_i2c2>;
  64. status = "okay";
  65. pca9534: gpio@20 {
  66. compatible = "nxp,pca9534";
  67. reg = <0x20>;
  68. gpio-controller;
  69. pinctrl-names = "default";
  70. pinctrl-0 = <&pinctrl_pca9534>;
  71. interrupt-parent = <&gpio1>;
  72. interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
  73. #gpio-cells = <2>;
  74. wakeup-source;
  75. /* USB 3.0 OTG (usbotg1) / SATA port switch, set to USB 3.0 */
  76. usb3-sata-sel-hog {
  77. gpio-hog;
  78. gpios = <4 GPIO_ACTIVE_HIGH>;
  79. output-low;
  80. line-name = "usb3_sata_sel";
  81. };
  82. som-vselect-hog {
  83. gpio-hog;
  84. gpios = <6 GPIO_ACTIVE_HIGH>;
  85. output-low;
  86. line-name = "som_vselect";
  87. };
  88. enet-sel-hog {
  89. gpio-hog;
  90. gpios = <7 GPIO_ACTIVE_HIGH>;
  91. output-low;
  92. line-name = "enet_sel";
  93. };
  94. };
  95. extcon_usbotg1: typec@3d {
  96. compatible = "nxp,ptn5150";
  97. reg = <0x3d>;
  98. interrupt-parent = <&gpio1>;
  99. interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
  100. pinctrl-names = "default";
  101. pinctrl-0 = <&pinctrl_ptn5150>;
  102. status = "okay";
  103. };
  104. };
  105. &i2c3 {
  106. /* Capacitive touch controller */
  107. ft5x06_ts: touchscreen@38 {
  108. compatible = "edt,edt-ft5406";
  109. reg = <0x38>;
  110. pinctrl-names = "default";
  111. pinctrl-0 = <&pinctrl_captouch>;
  112. interrupt-parent = <&gpio5>;
  113. interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
  114. touchscreen-size-x = <800>;
  115. touchscreen-size-y = <480>;
  116. touchscreen-inverted-x;
  117. touchscreen-inverted-y;
  118. };
  119. rtc@68 {
  120. compatible = "dallas,ds1337";
  121. reg = <0x68>;
  122. };
  123. };
  124. /* Header */
  125. &uart1 {
  126. pinctrl-names = "default";
  127. pinctrl-0 = <&pinctrl_uart1>;
  128. status = "okay";
  129. };
  130. /* Header */
  131. &uart3 {
  132. pinctrl-names = "default";
  133. pinctrl-0 = <&pinctrl_uart3>;
  134. status = "okay";
  135. };
  136. &usbotg1 {
  137. disable-over-current;
  138. extcon = <&extcon_usbotg1>, <&extcon_usbotg1>;
  139. };
  140. &usbotg2 {
  141. dr_mode = "host";
  142. vbus-supply = <&reg_usb_otg2_vbus>;
  143. srp-disable;
  144. hnp-disable;
  145. adp-disable;
  146. disable-over-current;
  147. /delete-property/ usb-role-switch;
  148. /*
  149. * FIXME: having USB2 enabled hangs the boot just after:
  150. * [ 1.943365] ci_hdrc ci_hdrc.1: EHCI Host Controller
  151. * [ 1.948287] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
  152. * [ 1.971006] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
  153. * [ 1.977203] hub 1-0:1.0: USB hub found
  154. * [ 1.980987] hub 1-0:1.0: 1 port detected
  155. */
  156. status = "disabled";
  157. };
  158. &pinctrl_fec1 {
  159. fsl,pins = <
  160. MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3
  161. MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3
  162. MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
  163. MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
  164. MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
  165. MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
  166. MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
  167. MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
  168. MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
  169. MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
  170. MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
  171. MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
  172. MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
  173. MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
  174. /* Remove the MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 as not used */
  175. >;
  176. };
  177. &iomuxc {
  178. pinctrl_captouch: captouchgrp {
  179. fsl,pins = <
  180. MX8MM_IOMUXC_SPDIF_RX_GPIO5_IO4 0x16
  181. >;
  182. };
  183. pinctrl_i2c2: i2c2grp {
  184. fsl,pins = <
  185. MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3
  186. MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3
  187. >;
  188. };
  189. pinctrl_pca9534: pca9534grp {
  190. fsl,pins = <
  191. MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x16
  192. >;
  193. };
  194. pinctrl_ptn5150: ptn5150grp {
  195. fsl,pins = <
  196. MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x16
  197. >;
  198. };
  199. pinctrl_reg_usb_otg2_vbus: regusbotg2vbusgrp {
  200. fsl,pins = <
  201. MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1 0x16
  202. >;
  203. };
  204. pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
  205. fsl,pins = <
  206. MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41
  207. >;
  208. };
  209. pinctrl_uart1: uart1grp {
  210. fsl,pins = <
  211. MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
  212. MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140
  213. >;
  214. };
  215. pinctrl_uart3: uart3grp {
  216. fsl,pins = <
  217. MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX 0x140
  218. MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX 0x140
  219. >;
  220. };
  221. };