ARM: dts: rk3288: enable usb otg for evb-board
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3288-evb.dtsi
index f6d2e7894b051bbde8333b41427c613d8a560aff..cb649b69465593f6a049afcd8caeebe113fb527e 100644 (file)
@@ -47,7 +47,7 @@
                reg = <0x0 0x80000000>;
        };
 
-       backlight {
+       backlight: backlight {
                compatible = "pwm-backlight";
                brightness-levels = <
                          0   1   2   3   4   5   6   7
                pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>;
        };
 
+       panel: panel {
+               compatible ="lg,lp079qx1-sp0v", "simple-panel";
+               backlight = <&backlight>;
+               enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&lcd_cs>;
+               ports {
+                       panel_in: port {
+                               panel_in_edp: endpoint {
+                                       remote-endpoint = <&edp_out_panel>;
+                               };
+                       };
+               };
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,name = "rockchip,rt5640-codec";
+               simple-audio-card,mclk-fs = <512>;
+               simple-audio-card,widgets =
+                       "Microphone", "Microphone Jack",
+                       "Headphone", "Headphone Jack";
+               simple-audio-card,routing =
+                       "MIC1", "Microphone Jack",
+                       "MIC2", "Microphone Jack",
+                       "Microphone Jack", "micbias1",
+                       "Headphone Jack", "HPOL",
+                       "Headphone Jack", "HPOR";
+
+               simple-audio-card,dai-link@0 {
+                       format = "i2s";
+                       cpu {
+                               sound-dai = <&i2s>;
+                       };
+
+                       codec {
+                               sound-dai = <&rt5640>;
+                       };
+               };
+
+               simple-audio-card,dai-link@1 {
+                       format = "i2s";
+                       cpu {
+                               sound-dai = <&i2s>;
+                       };
+
+                       codec {
+                               sound-dai = <&hdmi>;
+                       };
+               };
+       };
+
+       lvds_panel: lvds_panel {
+               compatible ="auo,b101ew05","simple-panel";
+               backlight = <&backlight>;
+               enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&lcd_cs>;
+               status = "disabled";
+       };
+
+       ext_gmac: external-gmac-clock {
+               compatible = "fixed-clock";
+               clock-frequency = <125000000>;
+               clock-output-names = "ext_gmac";
+               #clock-cells = <0>;
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
                #address-cells = <1>;
                regulator-boot-on;
        };
 
+       /* This switch DIO3222 HOST_DP_HOST to host2 (dwc2) */
+       vcc_3g: vcc-3g-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwr_3g>;
+               regulator-name = "vcc_3g";
+       };
+
        /*
         * NOTE: vcc_sd isn't hooked up on v1.0 boards where power comes from
         * vcc_io directly.  Those boards won't be able to power cycle SD cards
                startup-delay-us = <100000>;
                vin-supply = <&vcc_io>;
        };
+
+       io-domains {
+               compatible = "rockchip,rk3288-io-voltage-domain";
+               rockchip,grf = <&grf>;
+               sdcard-supply = <&vccio_sd>;
+               wifi-supply = <&vcc_18>;
+       };
+
+       wireless-bluetooth {
+               compatible = "bluetooth-platdata";
+               uart_rts_gpios = <&gpio4 19 GPIO_ACTIVE_LOW>;
+               pinctrl-names = "default", "rts_gpio";
+               pinctrl-0 = <&uart0_rts>;
+               pinctrl-1 = <&uart0_gpios>;
+               BT,reset_gpio    = <&gpio4 29 GPIO_ACTIVE_HIGH>;
+               BT,wake_gpio     = <&gpio4 26 GPIO_ACTIVE_HIGH>;
+               BT,wake_host_irq = <&gpio4 31 GPIO_ACTIVE_HIGH>;
+               status = "okay";
+       };
+
+       wireless-wlan {
+               compatible = "wlan-platdata";
+               rockchip,grf = <&grf>;
+               wifi_chip_type = "ap6335";
+               sdio_vref = <1800>;
+               WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>;
+               status = "okay";
+       };
 };
 
 &emmc {
-       broken-cd;
        bus-width = <8>;
        cap-mmc-highspeed;
        disable-wp;
 };
 
 &hdmi {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       #sound-dai-cells = <0>;
        ddc-i2c-bus = <&i2c5>;
        status = "okay";
 };
 
 &sdmmc {
+       supports-sd;
        bus-width = <4>;
        cap-mmc-highspeed;
+       sd-uhs-sdr12;
+       sd-uhs-sdr25;
+       sd-uhs-sdr50;
+       sd-uhs-sdr104;
        cap-sd-highspeed;
        card-detect-delay = <200>;
        disable-wp;                     /* wp not hooked up */
        vqmmc-supply = <&vccio_sd>;
 };
 
+&gmac {
+       phy-supply = <&vcc_phy>;
+       phy-mode = "rgmii";
+       clock_in_out = "input";
+       snps,reset-gpio = <&gpio4 7 0>;
+       snps,reset-active-low;
+       snps,reset-delays-us = <0 10000 1000000>;
+       assigned-clocks = <&cru SCLK_MAC>;
+       assigned-clock-parents = <&ext_gmac>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&rgmii_pins>;
+       tx_delay = <0x30>;
+       rx_delay = <0x10>;
+       status = "ok";
+};
+
+&edp_phy {
+       status = "okay";
+};
+
+&edp {
+       force-hpd;
+       status = "okay";
+
+       ports {
+               edp_out: port@1 {
+                       reg = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       edp_out_panel: endpoint {
+                               reg = <0>;
+                               remote-endpoint = <&panel_in_edp>;
+                       };
+               };
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
 
+&i2c2 {
+       status = "okay";
+
+       rt5640: rt5640@1c {
+               #sound-dai-cells = <0>;
+               compatible = "realtek,rt5640";
+               reg = <0x1c>;
+               clocks = <&cru SCLK_I2S0_OUT>;
+               clock-names = "mclk";
+               interrupt-parent = <&gpio6>;
+               interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
+       };
+};
+
 &i2c5 {
        status = "okay";
 };
 
+&i2s {
+       #sound-dai-cells = <0>;
+       status = "okay";
+};
+
 &wdt {
        status = "okay";
 };
        status = "okay";
 };
 
+&sdio0 {
+       status = "okay";
+
+       clock-frequency = <50000000>;
+       clock-freq-min-max = <200000 50000000>;
+
+       bus-width = <4>;
+       cap-sd-highspeed;
+       cap-sdio-irq;
+       disable-wp;
+       keep-power-in-suspend;
+       mmc-pwrseq = <&sdio_pwrseq>;
+       non-removable;
+       num-slots = <1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk &sdio0_int>;
+       sd-uhs-sdr104;
+       supports-sdio;
+};
+
 &uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_xfer &uart0_cts>;
        status = "okay";
 };
 
        status = "okay";
 };
 
+&vpu {
+       status = "okay";
+};
+
 &tsadc {
        rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
        rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
                };
        };
 
+       sdio-pwrseq {
+               wifi_enable_h: wifi-enable-h {
+                       rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        sdmmc {
                /*
                 * Default drive strength isn't enough to achieve even
                host_vbus_drv: host-vbus-drv {
                        rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
                };
+
+               pwr_3g: pwr-3g {
+                       rockchip,pins = <7 8 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
        };
 
        eth_phy {
                        rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
+
+       lcd {
+               lcd_cs: lcd-cs {
+                       rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       wireless-bluetooth {
+               uart0_gpios: uart0-gpios {
+                       rockchip,pins = <4 19 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };
 
 &usbphy {
        status = "okay";
 };
 
+&usb_otg {
+       status = "okay";
+};
+
+&lvds {
+       rockchip,data-mapping = "jeida";
+       rockchip,data-width = <24>;
+       rockchip,output = "lvds";
+       rockchip,panel = <&lvds_panel>;
+       status = "disabled";
+};
+
 &vopb {
        status = "okay";
 };