X-Git-Url: http://plrg.eecs.uci.edu/git/?p=firefly-linux-kernel-4.4.55.git;a=blobdiff_plain;f=arch%2Farm%2Fboot%2Fdts%2Frk3288-evb.dtsi;h=948227e452b414213fdfa3776be6b98f6351ee1a;hp=f6d2e7894b051bbde8333b41427c613d8a560aff;hb=6a83e7f14032eced131bdee261c8adafeb252fa8;hpb=2dab48ef2b2e8b53373acbe354e7c635b03115e1 diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi index f6d2e7894b05..948227e452b4 100644 --- a/arch/arm/boot/dts/rk3288-evb.dtsi +++ b/arch/arm/boot/dts/rk3288-evb.dtsi @@ -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 @@ -39,75 +41,90 @@ */ #include +#include #include "rk3288.dtsi" / { - memory { - device_type = "memory"; - reg = <0x0 0x80000000>; + chosen { + bootargs = "earlycon=uart8250,mmio32,0xff690000 swiotlb=1"; }; - 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>; + edp_panel: edp-panel { + compatible ="lg,lp079qx1-sp0v", "simple-panel"; + enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&lcd_cs>; + status = "disabled"; + + ports { + panel_in: port { + panel_in_edp: endpoint { + remote-endpoint = <&edp_out_panel>; + }; + }; + }; }; - gpio-keys { - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; - autorepeat; + 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>; + }; + }; - 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>; + 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"; + 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>; + }; + + 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_host: vcc-host-regulator { compatible = "regulator-fixed"; @@ -142,6 +159,16 @@ 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 @@ -149,7 +176,6 @@ */ vcc_sd: sdmmc-regulator { compatible = "regulator-fixed"; - gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_pwr>; regulator-name = "vcc_sd"; @@ -158,10 +184,30 @@ 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 { - broken-cd; bus-width = <8>; cap-mmc-highspeed; disable-wp; @@ -172,14 +218,50 @@ 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 { - ddc-i2c-bus = <&i2c5>; + #address-cells = <1>; + #size-cells = <0>; + #sound-dai-cells = <0>; + status = "okay"; + + /* Don't use vopl for HDMI */ + ports { + hdmi_in: port { + /delete-node/ endpoint@1; + }; + }; +}; + +&saradc { + vref-supply = <&vccadc_ref>; 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 */ @@ -189,14 +271,81 @@ status = "okay"; vmmc-supply = <&vcc_sd>; vqmmc-supply = <&vccio_sd>; + supports-sd; +}; + +&edp_phy { + status = "okay"; +}; + +&edp { + force-hpd; + 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>; + #size-cells = <0>; + edp_out_panel: endpoint { + reg = <0>; + remote-endpoint = <&panel_in_edp>; + }; + }; + }; +}; + +&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 { + #sound-dai-cells = <0>; + status = "okay"; +}; + +&io_domains { status = "okay"; + + sdcard-supply = <&vccio_sd>; + wifi-supply = <&vcc_18>; }; &wdt { @@ -207,23 +356,41 @@ status = "okay"; }; -&uart0 { +&rga { status = "okay"; }; -&uart1 { +&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; }; -&uart2 { +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_xfer &uart0_cts>; status = "okay"; }; -&uart3 { +&uart2 { status = "okay"; }; -&uart4 { +&vpu_service { status = "okay"; }; @@ -233,6 +400,57 @@ 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>; @@ -243,24 +461,18 @@ 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 = ; }; }; + 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 @@ -290,6 +502,10 @@ 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 { @@ -297,32 +513,16 @@ rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_none>; }; }; -}; - -&usbphy { - status = "okay"; -}; - -&usb_host0_ehci { - status = "okay"; -}; - -&usb_host1 { - status = "okay"; -}; - -&vopb { - status = "okay"; -}; - -&vopb_mmu { - status = "okay"; -}; -&vopl { - status = "okay"; -}; + lcd { + lcd_cs: lcd-cs { + rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; -&vopl_mmu { - status = "okay"; + wireless-bluetooth { + uart0_gpios: uart0-gpios { + rockchip,pins = <4 19 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; };