xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx6q-gk802.dts (revision ec20d468d05f4cd5a489d232f3d98745e11e948e)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2724ba675SRob Herring// Copyright (C) 2013 Philipp Zabel
3724ba675SRob Herring
4724ba675SRob Herring/dts-v1/;
5724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
6724ba675SRob Herring#include <dt-bindings/input/input.h>
7724ba675SRob Herring#include "imx6q.dtsi"
8724ba675SRob Herring
9724ba675SRob Herring/ {
10724ba675SRob Herring	model = "Zealz GK802";
11724ba675SRob Herring	compatible = "zealz,imx6q-gk802", "fsl,imx6q";
12724ba675SRob Herring
13724ba675SRob Herring	chosen {
14724ba675SRob Herring		stdout-path = &uart4;
15724ba675SRob Herring	};
16724ba675SRob Herring
17724ba675SRob Herring	memory@10000000 {
18724ba675SRob Herring		device_type = "memory";
19724ba675SRob Herring		reg = <0x10000000 0x40000000>;
20724ba675SRob Herring	};
21724ba675SRob Herring
22*ec20d468SFabio Estevam	reg_3p3v: regulator-3p3v {
23724ba675SRob Herring		compatible = "regulator-fixed";
24724ba675SRob Herring		regulator-name = "3P3V";
25724ba675SRob Herring		regulator-min-microvolt = <3300000>;
26724ba675SRob Herring		regulator-max-microvolt = <3300000>;
27724ba675SRob Herring		regulator-always-on;
28724ba675SRob Herring	};
29724ba675SRob Herring
30724ba675SRob Herring	gpio-keys {
31724ba675SRob Herring		compatible = "gpio-keys";
32724ba675SRob Herring
33724ba675SRob Herring		recovery-button {
34724ba675SRob Herring			label = "recovery";
35724ba675SRob Herring			gpios = <&gpio3 16 1>;
36724ba675SRob Herring			linux,code = <KEY_RESTART>;
37724ba675SRob Herring			wakeup-source;
38724ba675SRob Herring		};
39724ba675SRob Herring	};
40724ba675SRob Herring};
41724ba675SRob Herring
42724ba675SRob Herring&hdmi {
43724ba675SRob Herring	ddc-i2c-bus = <&i2c3>;
44724ba675SRob Herring	status = "okay";
45724ba675SRob Herring};
46724ba675SRob Herring
47724ba675SRob Herring/* Internal I2C */
48724ba675SRob Herring&i2c2 {
49724ba675SRob Herring	pinctrl-names = "default";
50724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
51724ba675SRob Herring	clock-frequency = <100000>;
52724ba675SRob Herring	status = "okay";
53724ba675SRob Herring
54724ba675SRob Herring	/* SDMC DM2016 1024 bit EEPROM + 128 bit OTP */
55724ba675SRob Herring	eeprom: dm2016@51 {
56724ba675SRob Herring		compatible = "sdmc,dm2016";
57724ba675SRob Herring		reg = <0x51>;
58724ba675SRob Herring	};
59724ba675SRob Herring};
60724ba675SRob Herring
61724ba675SRob Herring/* External I2C via HDMI */
62724ba675SRob Herring&i2c3 {
63724ba675SRob Herring	pinctrl-names = "default";
64724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c3>;
65724ba675SRob Herring	clock-frequency = <100000>;
66724ba675SRob Herring	status = "okay";
67724ba675SRob Herring};
68724ba675SRob Herring
69724ba675SRob Herring&iomuxc {
70724ba675SRob Herring	pinctrl-names = "default";
71724ba675SRob Herring	pinctrl-0 = <&pinctrl_hog>;
72724ba675SRob Herring
73724ba675SRob Herring	imx6q-gk802 {
74724ba675SRob Herring		pinctrl_hog: hoggrp {
75724ba675SRob Herring			fsl,pins = <
76724ba675SRob Herring				/* Recovery button, active-low */
77724ba675SRob Herring				MX6QDL_PAD_EIM_D16__GPIO3_IO16  0x100b1
78724ba675SRob Herring				/* RTL8192CU enable GPIO, active-low */
79724ba675SRob Herring				MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
80724ba675SRob Herring			>;
81724ba675SRob Herring		};
82724ba675SRob Herring
83724ba675SRob Herring		pinctrl_i2c2: i2c2grp {
84724ba675SRob Herring			fsl,pins = <
85724ba675SRob Herring				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
86724ba675SRob Herring				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
87724ba675SRob Herring			>;
88724ba675SRob Herring		};
89724ba675SRob Herring
90724ba675SRob Herring		pinctrl_i2c3: i2c3grp {
91724ba675SRob Herring			fsl,pins = <
92724ba675SRob Herring				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001b8b1
93724ba675SRob Herring				MX6QDL_PAD_GPIO_16__I2C3_SDA		0x4001b8b1
94724ba675SRob Herring			>;
95724ba675SRob Herring		};
96724ba675SRob Herring
97724ba675SRob Herring		pinctrl_uart4: uart4grp {
98724ba675SRob Herring			fsl,pins = <
99724ba675SRob Herring				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
100724ba675SRob Herring				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
101724ba675SRob Herring			>;
102724ba675SRob Herring		};
103724ba675SRob Herring
104724ba675SRob Herring		pinctrl_usdhc3: usdhc3grp {
105724ba675SRob Herring			fsl,pins = <
106724ba675SRob Herring				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
107724ba675SRob Herring				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
108724ba675SRob Herring				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
109724ba675SRob Herring				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
110724ba675SRob Herring				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
111724ba675SRob Herring				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
112724ba675SRob Herring			>;
113724ba675SRob Herring		};
114724ba675SRob Herring
115724ba675SRob Herring		pinctrl_usdhc4: usdhc4grp {
116724ba675SRob Herring			fsl,pins = <
117724ba675SRob Herring				MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
118724ba675SRob Herring				MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
119724ba675SRob Herring				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
120724ba675SRob Herring				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
121724ba675SRob Herring				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
122724ba675SRob Herring				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
123724ba675SRob Herring			>;
124724ba675SRob Herring		};
125724ba675SRob Herring	};
126724ba675SRob Herring};
127724ba675SRob Herring
128724ba675SRob Herring&uart2 {
129724ba675SRob Herring	status = "okay";
130724ba675SRob Herring};
131724ba675SRob Herring
132724ba675SRob Herring&uart4 {
133724ba675SRob Herring	pinctrl-names = "default";
134724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart4>;
135724ba675SRob Herring	status = "okay";
136724ba675SRob Herring};
137724ba675SRob Herring
138724ba675SRob Herring/* External USB-A port (USBOTG) */
139724ba675SRob Herring&usbotg {
140724ba675SRob Herring	disable-over-current;
141724ba675SRob Herring	status = "okay";
142724ba675SRob Herring};
143724ba675SRob Herring
144724ba675SRob Herring/* Internal USB port (USBH1), connected to RTL8192CU */
145724ba675SRob Herring&usbh1 {
146724ba675SRob Herring	disable-over-current;
147724ba675SRob Herring	status = "okay";
148724ba675SRob Herring};
149724ba675SRob Herring
150724ba675SRob Herring/* External microSD */
151724ba675SRob Herring&usdhc3 {
152724ba675SRob Herring	pinctrl-names = "default";
153724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc3>;
154724ba675SRob Herring	bus-width = <4>;
155724ba675SRob Herring	cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
156724ba675SRob Herring	vmmc-supply = <&reg_3p3v>;
157724ba675SRob Herring	status = "okay";
158724ba675SRob Herring};
159724ba675SRob Herring
160724ba675SRob Herring/* Internal microSD */
161724ba675SRob Herring&usdhc4 {
162724ba675SRob Herring	pinctrl-names = "default";
163724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc4>;
164724ba675SRob Herring	bus-width = <4>;
165724ba675SRob Herring	vmmc-supply = <&reg_3p3v>;
166724ba675SRob Herring	status = "okay";
167724ba675SRob Herring};
168