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