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