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