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