Linux Audio

Check our new training course

Loading...
v4.17
  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@10000000 {
 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			wakeup-source;
 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};
v3.15
  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 "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};