blob: 4a9b4dc9afc0ab85801ad0acb94e45d209be6922 [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 {
17 linux,stdout-path = &uart4;
18 };
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
51/* Internal I2C */
52&i2c2 {
53 pinctrl-names = "default";
54 pinctrl-0 = <&pinctrl_i2c2>;
55 clock-frequency = <100000>;
56 status = "okay";
57
58 /* SDMC DM2016 1024 bit EEPROM + 128 bit OTP */
59 eeprom: dm2016@51 {
60 compatible = "sdmc,dm2016";
61 reg = <0x51>;
62 };
63};
64
65/* External I2C via HDMI */
66&i2c3 {
67 pinctrl-names = "default";
68 pinctrl-0 = <&pinctrl_i2c3>;
69 clock-frequency = <100000>;
70 status = "okay";
71};
72
73&iomuxc {
74 pinctrl-names = "default";
75 pinctrl-0 = <&pinctrl_hog>;
76
77 imx6q-gk802 {
78 pinctrl_hog: hoggrp {
79 fsl,pins = <
80 /* Recovery button, active-low */
81 MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x100b1
82 /* RTL8192CU enable GPIO, active-low */
83 MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
84 >;
85 };
86
87 pinctrl_i2c2: i2c2grp {
88 fsl,pins = <
89 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
90 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
91 >;
92 };
93
94 pinctrl_i2c3: i2c3grp {
95 fsl,pins = <
96 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
97 MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1
98 >;
99 };
100
101 pinctrl_uart4: uart4grp {
102 fsl,pins = <
103 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
104 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
105 >;
106 };
107
108 pinctrl_usdhc3: usdhc3grp {
109 fsl,pins = <
110 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
111 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
112 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
113 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
114 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
115 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
116 >;
117 };
118
119 pinctrl_usdhc4: usdhc4grp {
120 fsl,pins = <
121 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
122 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
123 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
124 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
125 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
126 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
127 >;
128 };
129 };
130};
131
132&uart2 {
133 status = "okay";
134};
135
136&uart4 {
137 pinctrl-names = "default";
138 pinctrl-0 = <&pinctrl_uart4>;
139 status = "okay";
140};
141
142/* External USB-A port (USBOTG) */
143&usbotg {
144 disable-over-current;
145 status = "okay";
146};
147
148/* Internal USB port (USBH1), connected to RTL8192CU */
149&usbh1 {
150 disable-over-current;
151 status = "okay";
152};
153
154/* External microSD */
155&usdhc3 {
156 pinctrl-names = "default";
157 pinctrl-0 = <&pinctrl_usdhc3>;
158 bus-width = <4>;
159 cd-gpios = <&gpio6 11 0>;
160 vmmc-supply = <&reg_3p3v>;
161 status = "okay";
162};
163
164/* Internal microSD */
165&usdhc4 {
166 pinctrl-names = "default";
167 pinctrl-0 = <&pinctrl_usdhc4>;
168 bus-width = <4>;
169 vmmc-supply = <&reg_3p3v>;
170 status = "okay";
171};