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 = <®_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 = <®_3p3v>; 176 status = "okay"; 177}; 178