Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 // Copyright (C) 2013 Philipp Zabel
0003 
0004 /dts-v1/;
0005 #include <dt-bindings/gpio/gpio.h>
0006 #include <dt-bindings/input/input.h>
0007 #include "imx6q.dtsi"
0008 
0009 / {
0010         model = "Zealz GK802";
0011         compatible = "zealz,imx6q-gk802", "fsl,imx6q";
0012 
0013         chosen {
0014                 stdout-path = &uart4;
0015         };
0016 
0017         memory@10000000 {
0018                 device_type = "memory";
0019                 reg = <0x10000000 0x40000000>;
0020         };
0021 
0022         regulators {
0023                 compatible = "simple-bus";
0024                 #address-cells = <1>;
0025                 #size-cells = <0>;
0026 
0027                 reg_3p3v: regulator@0 {
0028                         compatible = "regulator-fixed";
0029                         reg = <0>;
0030                         regulator-name = "3P3V";
0031                         regulator-min-microvolt = <3300000>;
0032                         regulator-max-microvolt = <3300000>;
0033                         regulator-always-on;
0034                 };
0035         };
0036 
0037         gpio-keys {
0038                 compatible = "gpio-keys";
0039 
0040                 recovery-button {
0041                         label = "recovery";
0042                         gpios = <&gpio3 16 1>;
0043                         linux,code = <KEY_RESTART>;
0044                         wakeup-source;
0045                 };
0046         };
0047 };
0048 
0049 &hdmi {
0050         ddc-i2c-bus = <&i2c3>;
0051         status = "okay";
0052 };
0053 
0054 /* Internal I2C */
0055 &i2c2 {
0056         pinctrl-names = "default";
0057         pinctrl-0 = <&pinctrl_i2c2>;
0058         clock-frequency = <100000>;
0059         status = "okay";
0060 
0061         /* SDMC DM2016 1024 bit EEPROM + 128 bit OTP */
0062         eeprom: dm2016@51 {
0063                 compatible = "sdmc,dm2016";
0064                 reg = <0x51>;
0065         };
0066 };
0067 
0068 /* External I2C via HDMI */
0069 &i2c3 {
0070         pinctrl-names = "default";
0071         pinctrl-0 = <&pinctrl_i2c3>;
0072         clock-frequency = <100000>;
0073         status = "okay";
0074 };
0075 
0076 &iomuxc {
0077         pinctrl-names = "default";
0078         pinctrl-0 = <&pinctrl_hog>;
0079 
0080         imx6q-gk802 {
0081                 pinctrl_hog: hoggrp {
0082                         fsl,pins = <
0083                                 /* Recovery button, active-low */
0084                                 MX6QDL_PAD_EIM_D16__GPIO3_IO16  0x100b1
0085                                 /* RTL8192CU enable GPIO, active-low */
0086                                 MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
0087                         >;
0088                 };
0089 
0090                 pinctrl_i2c2: i2c2grp {
0091                         fsl,pins = <
0092                                 MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
0093                                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
0094                         >;
0095                 };
0096 
0097                 pinctrl_i2c3: i2c3grp {
0098                         fsl,pins = <
0099                                 MX6QDL_PAD_GPIO_5__I2C3_SCL             0x4001b8b1
0100                                 MX6QDL_PAD_GPIO_16__I2C3_SDA            0x4001b8b1
0101                         >;
0102                 };
0103 
0104                 pinctrl_uart4: uart4grp {
0105                         fsl,pins = <
0106                                 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA      0x1b0b1
0107                                 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA      0x1b0b1
0108                         >;
0109                 };
0110 
0111                 pinctrl_usdhc3: usdhc3grp {
0112                         fsl,pins = <
0113                                 MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
0114                                 MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
0115                                 MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
0116                                 MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
0117                                 MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
0118                                 MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
0119                         >;
0120                 };
0121 
0122                 pinctrl_usdhc4: usdhc4grp {
0123                         fsl,pins = <
0124                                 MX6QDL_PAD_SD4_CMD__SD4_CMD             0x17059
0125                                 MX6QDL_PAD_SD4_CLK__SD4_CLK             0x10059
0126                                 MX6QDL_PAD_SD4_DAT0__SD4_DATA0          0x17059
0127                                 MX6QDL_PAD_SD4_DAT1__SD4_DATA1          0x17059
0128                                 MX6QDL_PAD_SD4_DAT2__SD4_DATA2          0x17059
0129                                 MX6QDL_PAD_SD4_DAT3__SD4_DATA3          0x17059
0130                         >;
0131                 };
0132         };
0133 };
0134 
0135 &uart2 {
0136         status = "okay";
0137 };
0138 
0139 &uart4 {
0140         pinctrl-names = "default";
0141         pinctrl-0 = <&pinctrl_uart4>;
0142         status = "okay";
0143 };
0144 
0145 /* External USB-A port (USBOTG) */
0146 &usbotg {
0147         disable-over-current;
0148         status = "okay";
0149 };
0150 
0151 /* Internal USB port (USBH1), connected to RTL8192CU */
0152 &usbh1 {
0153         disable-over-current;
0154         status = "okay";
0155 };
0156 
0157 /* External microSD */
0158 &usdhc3 {
0159         pinctrl-names = "default";
0160         pinctrl-0 = <&pinctrl_usdhc3>;
0161         bus-width = <4>;
0162         cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
0163         vmmc-supply = <&reg_3p3v>;
0164         status = "okay";
0165 };
0166 
0167 /* Internal microSD */
0168 &usdhc4 {
0169         pinctrl-names = "default";
0170         pinctrl-0 = <&pinctrl_usdhc4>;
0171         bus-width = <4>;
0172         vmmc-supply = <&reg_3p3v>;
0173         status = "okay";
0174 };