/* * Copyright (C) 2013 Philipp Zabel * * This file is licensed under the terms of the GNU General Public License * version 2. This program is licensed "as is" without any warranty of any * kind, whether express or implied. */ /dts-v1/; #include #include #include "imx6q.dtsi" / { model = "Zealz GK802"; compatible = "zealz,imx6q-gk802", "fsl,imx6q"; chosen { stdout-path = &uart4; }; memory@10000000 { reg = <0x10000000 0x40000000>; }; regulators { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <0>; reg_3p3v: regulator@0 { compatible = "regulator-fixed"; reg = <0>; regulator-name = "3P3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; gpio-keys { compatible = "gpio-keys"; recovery-button { label = "recovery"; gpios = <&gpio3 16 1>; linux,code = ; wakeup-source; }; }; }; &hdmi { ddc-i2c-bus = <&i2c3>; status = "okay"; }; /* Internal I2C */ &i2c2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2>; clock-frequency = <100000>; status = "okay"; /* SDMC DM2016 1024 bit EEPROM + 128 bit OTP */ eeprom: dm2016@51 { compatible = "sdmc,dm2016"; reg = <0x51>; }; }; /* External I2C via HDMI */ &i2c3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c3>; clock-frequency = <100000>; status = "okay"; }; &iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_hog>; imx6q-gk802 { pinctrl_hog: hoggrp { fsl,pins = < /* Recovery button, active-low */ MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x100b1 /* RTL8192CU enable GPIO, active-low */ MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0 >; }; pinctrl_i2c2: i2c2grp { fsl,pins = < MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 >; }; pinctrl_i2c3: i2c3grp { fsl,pins = < MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1 MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1 >; }; pinctrl_uart4: uart4grp { fsl,pins = < MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1 >; }; pinctrl_usdhc3: usdhc3grp { fsl,pins = < MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 >; }; pinctrl_usdhc4: usdhc4grp { fsl,pins = < MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 >; }; }; }; &uart2 { status = "okay"; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart4>; status = "okay"; }; /* External USB-A port (USBOTG) */ &usbotg { disable-over-current; status = "okay"; }; /* Internal USB port (USBH1), connected to RTL8192CU */ &usbh1 { disable-over-current; status = "okay"; }; /* External microSD */ &usdhc3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc3>; bus-width = <4>; cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; vmmc-supply = <®_3p3v>; status = "okay"; }; /* Internal microSD */ &usdhc4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc4>; bus-width = <4>; vmmc-supply = <®_3p3v>; status = "okay"; };