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