imx6q-gk802.dts (3540B)
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 <dt-bindings/input/input.h> 12#include "imx6q.dtsi" 13 14/ { 15 model = "Zealz GK802"; 16 compatible = "zealz,imx6q-gk802", "fsl,imx6q"; 17 18 chosen { 19 stdout-path = &uart4; 20 }; 21 22 memory@10000000 { 23 device_type = "memory"; 24 reg = <0x10000000 0x40000000>; 25 }; 26 27 regulators { 28 compatible = "simple-bus"; 29 #address-cells = <1>; 30 #size-cells = <0>; 31 32 reg_3p3v: regulator@0 { 33 compatible = "regulator-fixed"; 34 reg = <0>; 35 regulator-name = "3P3V"; 36 regulator-min-microvolt = <3300000>; 37 regulator-max-microvolt = <3300000>; 38 regulator-always-on; 39 }; 40 }; 41 42 gpio-keys { 43 compatible = "gpio-keys"; 44 45 recovery-button { 46 label = "recovery"; 47 gpios = <&gpio3 16 1>; 48 linux,code = <KEY_RESTART>; 49 wakeup-source; 50 }; 51 }; 52}; 53 54&hdmi { 55 ddc-i2c-bus = <&i2c3>; 56 status = "okay"; 57}; 58 59/* Internal I2C */ 60&i2c2 { 61 pinctrl-names = "default"; 62 pinctrl-0 = <&pinctrl_i2c2>; 63 clock-frequency = <100000>; 64 status = "okay"; 65 66 /* SDMC DM2016 1024 bit EEPROM + 128 bit OTP */ 67 eeprom: dm2016@51 { 68 compatible = "sdmc,dm2016"; 69 reg = <0x51>; 70 }; 71}; 72 73/* External I2C via HDMI */ 74&i2c3 { 75 pinctrl-names = "default"; 76 pinctrl-0 = <&pinctrl_i2c3>; 77 clock-frequency = <100000>; 78 status = "okay"; 79}; 80 81&iomuxc { 82 pinctrl-names = "default"; 83 pinctrl-0 = <&pinctrl_hog>; 84 85 imx6q-gk802 { 86 pinctrl_hog: hoggrp { 87 fsl,pins = < 88 /* Recovery button, active-low */ 89 MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x100b1 90 /* RTL8192CU enable GPIO, active-low */ 91 MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0 92 >; 93 }; 94 95 pinctrl_i2c2: i2c2grp { 96 fsl,pins = < 97 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 98 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 99 >; 100 }; 101 102 pinctrl_i2c3: i2c3grp { 103 fsl,pins = < 104 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1 105 MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1 106 >; 107 }; 108 109 pinctrl_uart4: uart4grp { 110 fsl,pins = < 111 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 112 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1 113 >; 114 }; 115 116 pinctrl_usdhc3: usdhc3grp { 117 fsl,pins = < 118 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 119 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 120 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 121 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 122 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 123 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 124 >; 125 }; 126 127 pinctrl_usdhc4: usdhc4grp { 128 fsl,pins = < 129 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059 130 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059 131 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059 132 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 133 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 134 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 135 >; 136 }; 137 }; 138}; 139 140&uart2 { 141 status = "okay"; 142}; 143 144&uart4 { 145 pinctrl-names = "default"; 146 pinctrl-0 = <&pinctrl_uart4>; 147 status = "okay"; 148}; 149 150/* External USB-A port (USBOTG) */ 151&usbotg { 152 disable-over-current; 153 status = "okay"; 154}; 155 156/* Internal USB port (USBH1), connected to RTL8192CU */ 157&usbh1 { 158 disable-over-current; 159 status = "okay"; 160}; 161 162/* External microSD */ 163&usdhc3 { 164 pinctrl-names = "default"; 165 pinctrl-0 = <&pinctrl_usdhc3>; 166 bus-width = <4>; 167 cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; 168 vmmc-supply = <®_3p3v>; 169 status = "okay"; 170}; 171 172/* Internal microSD */ 173&usdhc4 { 174 pinctrl-names = "default"; 175 pinctrl-0 = <&pinctrl_usdhc4>; 176 bus-width = <4>; 177 vmmc-supply = <®_3p3v>; 178 status = "okay"; 179};