imx6q-gk802.dts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. // Copyright (C) 2013 Philipp Zabel
  3. /dts-v1/;
  4. #include <dt-bindings/gpio/gpio.h>
  5. #include <dt-bindings/input/input.h>
  6. #include "imx6q.dtsi"
  7. / {
  8. model = "Zealz GK802";
  9. compatible = "zealz,imx6q-gk802", "fsl,imx6q";
  10. chosen {
  11. stdout-path = &uart4;
  12. };
  13. memory@10000000 {
  14. device_type = "memory";
  15. reg = <0x10000000 0x40000000>;
  16. };
  17. regulators {
  18. compatible = "simple-bus";
  19. #address-cells = <1>;
  20. #size-cells = <0>;
  21. reg_3p3v: regulator@0 {
  22. compatible = "regulator-fixed";
  23. reg = <0>;
  24. regulator-name = "3P3V";
  25. regulator-min-microvolt = <3300000>;
  26. regulator-max-microvolt = <3300000>;
  27. regulator-always-on;
  28. };
  29. };
  30. gpio-keys {
  31. compatible = "gpio-keys";
  32. recovery-button {
  33. label = "recovery";
  34. gpios = <&gpio3 16 1>;
  35. linux,code = <KEY_RESTART>;
  36. wakeup-source;
  37. };
  38. };
  39. };
  40. &hdmi {
  41. ddc-i2c-bus = <&i2c3>;
  42. status = "okay";
  43. };
  44. /* Internal I2C */
  45. &i2c2 {
  46. pinctrl-names = "default";
  47. pinctrl-0 = <&pinctrl_i2c2>;
  48. clock-frequency = <100000>;
  49. status = "okay";
  50. /* SDMC DM2016 1024 bit EEPROM + 128 bit OTP */
  51. eeprom: dm2016@51 {
  52. compatible = "sdmc,dm2016";
  53. reg = <0x51>;
  54. };
  55. };
  56. /* External I2C via HDMI */
  57. &i2c3 {
  58. pinctrl-names = "default";
  59. pinctrl-0 = <&pinctrl_i2c3>;
  60. clock-frequency = <100000>;
  61. status = "okay";
  62. };
  63. &iomuxc {
  64. pinctrl-names = "default";
  65. pinctrl-0 = <&pinctrl_hog>;
  66. imx6q-gk802 {
  67. pinctrl_hog: hoggrp {
  68. fsl,pins = <
  69. /* Recovery button, active-low */
  70. MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x100b1
  71. /* RTL8192CU enable GPIO, active-low */
  72. MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
  73. >;
  74. };
  75. pinctrl_i2c2: i2c2grp {
  76. fsl,pins = <
  77. MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
  78. MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
  79. >;
  80. };
  81. pinctrl_i2c3: i2c3grp {
  82. fsl,pins = <
  83. MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
  84. MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1
  85. >;
  86. };
  87. pinctrl_uart4: uart4grp {
  88. fsl,pins = <
  89. MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
  90. MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
  91. >;
  92. };
  93. pinctrl_usdhc3: usdhc3grp {
  94. fsl,pins = <
  95. MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
  96. MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
  97. MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
  98. MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
  99. MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
  100. MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
  101. >;
  102. };
  103. pinctrl_usdhc4: usdhc4grp {
  104. fsl,pins = <
  105. MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
  106. MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
  107. MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
  108. MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
  109. MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
  110. MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
  111. >;
  112. };
  113. };
  114. };
  115. &uart2 {
  116. status = "okay";
  117. };
  118. &uart4 {
  119. pinctrl-names = "default";
  120. pinctrl-0 = <&pinctrl_uart4>;
  121. status = "okay";
  122. };
  123. /* External USB-A port (USBOTG) */
  124. &usbotg {
  125. disable-over-current;
  126. status = "okay";
  127. };
  128. /* Internal USB port (USBH1), connected to RTL8192CU */
  129. &usbh1 {
  130. disable-over-current;
  131. status = "okay";
  132. };
  133. /* External microSD */
  134. &usdhc3 {
  135. pinctrl-names = "default";
  136. pinctrl-0 = <&pinctrl_usdhc3>;
  137. bus-width = <4>;
  138. cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
  139. vmmc-supply = <&reg_3p3v>;
  140. status = "okay";
  141. };
  142. /* Internal microSD */
  143. &usdhc4 {
  144. pinctrl-names = "default";
  145. pinctrl-0 = <&pinctrl_usdhc4>;
  146. bus-width = <4>;
  147. vmmc-supply = <&reg_3p3v>;
  148. status = "okay";
  149. };