imx6q-gk802.dts revision 270866
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 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&hdmi { 52 ddc-i2c-bus = <&i2c3>; 53 status = "okay"; 54}; 55 56/* Internal I2C */ 57&i2c2 { 58 pinctrl-names = "default"; 59 pinctrl-0 = <&pinctrl_i2c2>; 60 clock-frequency = <100000>; 61 status = "okay"; 62 63 /* SDMC DM2016 1024 bit EEPROM + 128 bit OTP */ 64 eeprom: dm2016@51 { 65 compatible = "sdmc,dm2016"; 66 reg = <0x51>; 67 }; 68}; 69 70/* External I2C via HDMI */ 71&i2c3 { 72 pinctrl-names = "default"; 73 pinctrl-0 = <&pinctrl_i2c3>; 74 clock-frequency = <100000>; 75 status = "okay"; 76}; 77 78&iomuxc { 79 pinctrl-names = "default"; 80 pinctrl-0 = <&pinctrl_hog>; 81 82 imx6q-gk802 { 83 pinctrl_hog: hoggrp { 84 fsl,pins = < 85 /* Recovery button, active-low */ 86 MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x100b1 87 /* RTL8192CU enable GPIO, active-low */ 88 MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0 89 >; 90 }; 91 92 pinctrl_i2c2: i2c2grp { 93 fsl,pins = < 94 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 95 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 96 >; 97 }; 98 99 pinctrl_i2c3: i2c3grp { 100 fsl,pins = < 101 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1 102 MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1 103 >; 104 }; 105 106 pinctrl_uart4: uart4grp { 107 fsl,pins = < 108 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 109 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1 110 >; 111 }; 112 113 pinctrl_usdhc3: usdhc3grp { 114 fsl,pins = < 115 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 116 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 117 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 118 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 119 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 120 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 121 >; 122 }; 123 124 pinctrl_usdhc4: usdhc4grp { 125 fsl,pins = < 126 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059 127 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059 128 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059 129 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 130 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 131 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 132 >; 133 }; 134 }; 135}; 136 137&uart2 { 138 status = "okay"; 139}; 140 141&uart4 { 142 pinctrl-names = "default"; 143 pinctrl-0 = <&pinctrl_uart4>; 144 status = "okay"; 145}; 146 147/* External USB-A port (USBOTG) */ 148&usbotg { 149 disable-over-current; 150 status = "okay"; 151}; 152 153/* Internal USB port (USBH1), connected to RTL8192CU */ 154&usbh1 { 155 disable-over-current; 156 status = "okay"; 157}; 158 159/* External microSD */ 160&usdhc3 { 161 pinctrl-names = "default"; 162 pinctrl-0 = <&pinctrl_usdhc3>; 163 bus-width = <4>; 164 cd-gpios = <&gpio6 11 0>; 165 vmmc-supply = <®_3p3v>; 166 status = "okay"; 167}; 168 169/* Internal microSD */ 170&usdhc4 { 171 pinctrl-names = "default"; 172 pinctrl-0 = <&pinctrl_usdhc4>; 173 bus-width = <4>; 174 vmmc-supply = <®_3p3v>; 175 status = "okay"; 176}; 177