arm: dts: rk3288-evb: modify panel to edp_panel
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3288-evb.dtsi
index 5f503b0b13101fbfb3e599995cdc8ea9a7e581b1..948227e452b414213fdfa3776be6b98f6351ee1a 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * Copyright (c) 2015~2017 Fuzhou Rockchip Electronics Co., Ltd
+ *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
  * licensing only applies to this file, and not this project as a
  */
 
 #include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/input/input.h>
 #include "rk3288.dtsi"
 
 / {
-       memory {
-               device_type = "memory";
-               reg = <0x0 0x80000000>;
-       };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               brightness-levels = <
-                         0   1   2   3   4   5   6   7
-                         8   9  10  11  12  13  14  15
-                        16  17  18  19  20  21  22  23
-                        24  25  26  27  28  29  30  31
-                        32  33  34  35  36  37  38  39
-                        40  41  42  43  44  45  46  47
-                        48  49  50  51  52  53  54  55
-                        56  57  58  59  60  61  62  63
-                        64  65  66  67  68  69  70  71
-                        72  73  74  75  76  77  78  79
-                        80  81  82  83  84  85  86  87
-                        88  89  90  91  92  93  94  95
-                        96  97  98  99 100 101 102 103
-                       104 105 106 107 108 109 110 111
-                       112 113 114 115 116 117 118 119
-                       120 121 122 123 124 125 126 127
-                       128 129 130 131 132 133 134 135
-                       136 137 138 139 140 141 142 143
-                       144 145 146 147 148 149 150 151
-                       152 153 154 155 156 157 158 159
-                       160 161 162 163 164 165 166 167
-                       168 169 170 171 172 173 174 175
-                       176 177 178 179 180 181 182 183
-                       184 185 186 187 188 189 190 191
-                       192 193 194 195 196 197 198 199
-                       200 201 202 203 204 205 206 207
-                       208 209 210 211 212 213 214 215
-                       216 217 218 219 220 221 222 223
-                       224 225 226 227 228 229 230 231
-                       232 233 234 235 236 237 238 239
-                       240 241 242 243 244 245 246 247
-                       248 249 250 251 252 253 254 255>;
-               default-brightness-level = <128>;
-               enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&bl_en>;
-               pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>;
+       chosen {
+               bootargs = "earlycon=uart8250,mmio32,0xff690000 swiotlb=1";
        };
 
-       panel: panel {
+       edp_panel: edp-panel {
                compatible ="lg,lp079qx1-sp0v", "simple-panel";
-               backlight = <&backlight>;
                enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
                pinctrl-0 = <&lcd_cs>;
+               status = "disabled";
+
                ports {
                        panel_in: port {
                                panel_in_edp: endpoint {
                };
        };
 
-       hdmi-sound {
+       sound {
                compatible = "simple-audio-card";
                simple-audio-card,format = "i2s";
-               simple-audio-card,name = "DW-HDMI";
+               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>;
+                       };
 
-               simple-audio-card,cpu {
-                       sound-dai = <&i2s>;
+                       codec {
+                               sound-dai = <&rt5640>;
+                       };
                };
 
-               simple-audio-card,codec {
-                       sound-dai = <&hdmi>;
+               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";
                #clock-cells = <0>;
        };
 
-       gpio-keys {
-               compatible = "gpio-keys";
-               #address-cells = <1>;
-               #size-cells = <0>;
-               autorepeat;
-
-               pinctrl-names = "default";
-               pinctrl-0 = <&pwrbtn>;
-
-               button@0 {
-                       gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
-                       linux,code = <116>;
-                       label = "GPIO Key Power";
-                       linux,input-type = <1>;
-                       gpio-key,wakeup = <1>;
-                       debounce-interval = <100>;
-               };
+       vccadc_ref: vccadc-ref {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc1v8_sys";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
        };
 
        /* This turns on USB vbus for both host0 (ehci) and host1 (dwc2) */
         */
        vcc_sd: sdmmc-regulator {
                compatible = "regulator-fixed";
-               gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
                pinctrl-names = "default";
                pinctrl-0 = <&sdmmc_pwr>;
                regulator-name = "vcc_sd";
                startup-delay-us = <100000>;
                vin-supply = <&vcc_io>;
        };
+
+       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 {
        status = "okay";
 };
 
+&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>;
+       max-speed = <100>;
+       status = "okay";
+};
+
 &hdmi {
        #address-cells = <1>;
        #size-cells = <0>;
        #sound-dai-cells = <0>;
-       ddc-i2c-bus = <&i2c5>;
+       status = "okay";
+
+       /* Don't use vopl for HDMI */
+       ports {
+               hdmi_in: port {
+                       /delete-node/ endpoint@1;
+               };
+       };
+};
+
+&saradc {
+       vref-supply = <&vccadc_ref>;
        status = "okay";
 };
 
        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 */
        status = "okay";
        vmmc-supply = <&vcc_sd>;
        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";
+       supports-sd;
 };
 
 &edp_phy {
        status = "okay";
 
        ports {
+               /* Don't use vopb for eDP */
+               edp_in: port@0 {
+                       /delete-node/ endpoint@0;
+               };
+
                edp_out: port@1 {
                        reg = <1>;
                        #address-cells = <1>;
        };
 };
 
+&hevc_service {
+       status = "okay";
+};
+
 &i2c0 {
        status = "okay";
 };
 
-&i2c5 {
+&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>;
+       };
+};
+
+&i2c4 {
+       status = "okay";
+
+       gsl3673@40 {
+               compatible = "GSL,GSL3673";
+               reg = <0x40>;
+               screen_max_x = <1536>;
+               screen_max_y = <2048>;
+               irq_gpio_number = <&gpio7 6 IRQ_TYPE_LEVEL_LOW>;
+               rst_gpio_number = <&gpio7 5 GPIO_ACTIVE_HIGH>;
+               status = "okay";
+       };
 };
 
 &i2s {
        status = "okay";
 };
 
-&wdt {
+&io_domains {
        status = "okay";
+
+       sdcard-supply = <&vccio_sd>;
+       wifi-supply = <&vcc_18>;
 };
 
-&pwm0 {
+&wdt {
        status = "okay";
 };
 
-&uart0 {
+&pwm0 {
        status = "okay";
 };
 
-&uart1 {
+&rga {
        status = "okay";
 };
 
-&uart2 {
+&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;
 };
 
-&uart3 {
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_xfer &uart0_cts>;
        status = "okay";
 };
 
-&uart4 {
+&uart2 {
        status = "okay";
 };
 
-&vpu {
+&vpu_service {
        status = "okay";
 };
 
        status = "okay";
 };
 
+&usbphy {
+       status = "okay";
+};
+
+&usb_host0_ehci {
+       rockchip-relinquish-port;
+       status = "okay";
+};
+
+&usb_host1 {
+       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";
+
+       /* Don't use vopb for eDP, save it for HDMI */
+       vopb_out: port {
+               /delete-node/ endpoint@1;
+       };
+};
+
+&vopb_mmu {
+       status = "okay";
+};
+
+&vopl {
+       status = "okay";
+
+       /* Don't use vopb for HDMI, save it for eDP */
+       vopl_out: port {
+               /delete-node/ endpoint@0;
+       };
+};
+
+&vopl_mmu {
+       status = "okay";
+};
+
 &pinctrl {
        pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
                drive-strength = <8>;
                drive-strength = <8>;
        };
 
-       backlight {
-               bl_en: bl-en {
-                       rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
-
-       buttons {
-               pwrbtn: pwrbtn {
-                       rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
-               };
-       };
-
        pmic {
                pmic_int: pmic-int {
                        rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
+       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
                        rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
-};
-
-&usbphy {
-       status = "okay";
-};
-
-&usb_host0_ehci {
-       status = "okay";
-};
-
-&usb_host1 {
-       status = "okay";
-};
-
-&lvds {
-       rockchip,data-mapping = "jeida";
-       rockchip,data-width = <24>;
-       rockchip,output = "lvds";
-       rockchip,panel = <&lvds_panel>;
-       status = "disabled";
-};
-
-&vopb {
-       status = "okay";
-};
-
-&vopb_mmu {
-       status = "okay";
-};
 
-&vopl {
-       status = "okay";
-};
-
-&vopl_mmu {
-       status = "okay";
+       wireless-bluetooth {
+               uart0_gpios: uart0-gpios {
+                       rockchip,pins = <4 19 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };