]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/imx6q-gk802.dts
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[karo-tx-linux.git] / arch / arm / boot / dts / imx6q-gk802.dts
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 "imx6q.dtsi"
12
13 / {
14         model = "Zealz GK802";
15         compatible = "zealz,imx6q-gk802", "fsl,imx6q";
16
17         chosen {
18                 stdout-path = &uart4;
19         };
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 */
47                         gpio-key,wakeup;
48                 };
49         };
50 };
51
52 &hdmi {
53         ddc-i2c-bus = <&i2c3>;
54         status = "okay";
55 };
56
57 /* 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>;
165         cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
166         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 };