X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=arch%2Farm%2Fboot%2Fdts%2Frk3288-evb.dtsi;h=1442b6179d5701c8f8df3a12311899c018385c08;hb=d66445638b59a6510158b60d422e81d4b68cdeec;hp=f7db66c7f40be701862c40a43037bda6593689fb;hpb=425dd637bb81aa66033adb93356976c393fa021a;p=firefly-linux-kernel-4.4.55.git diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi index f7db66c7f40b..1442b6179d57 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,12 +41,44 @@ */ #include +#include #include "rk3288.dtsi" / { - memory { - device_type = "memory"; - reg = <0x0 0x80000000>; + chosen { + bootargs = "earlycon=uart8250,mmio32,0xff690000 swiotlb=1"; + }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + drm_logo: drm-logo@00000000 { + compatible = "rockchip,drm-logo"; + reg = <0x0 0x0>; + }; + + /* global autoconfigured region for contiguous allocations */ + linux,cma { + compatible = "shared-dma-pool"; + reusable; + size = <0x0 0x2000000>; + linux,cma-default; + }; + }; + + ion { + compatible = "rockchip,ion"; + #address-cells = <1>; + #size-cells = <0>; + + cma-heap { + reg = <0x00000000 0x2000000>; + }; + + system-heap { + }; }; backlight: backlight { @@ -89,6 +123,58 @@ pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>; }; + rk_key: rockchip-key { + compatible = "rockchip,key"; + status = "okay"; + + io-channels = <&saradc 1>; + + vol-up-key { + linux,code = <115>; + label = "volume up"; + rockchip,adc_value = <1>; + }; + + vol-down-key { + linux,code = <114>; + label = "volume down"; + rockchip,adc_value = <170>; + }; + + power-key { + gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; + linux,code = <116>; + pinctrl-names = "default"; + pinctrl-0 = <&pwrbtn>; + label = "power"; + gpio-key,wakeup; + }; + + menu-key { + linux,code = <59>; + label = "menu"; + rockchip,adc_value = <355>; + }; + + home-key { + linux,code = <102>; + label = "home"; + rockchip,adc_value = <746>; + }; + + back-key { + linux,code = <158>; + label = "back"; + rockchip,adc_value = <560>; + }; + + camera-key { + linux,code = <212>; + label = "camera"; + rockchip,adc_value = <450>; + }; + }; + panel: panel { compatible ="lg,lp079qx1-sp0v", "simple-panel"; backlight = <&backlight>; @@ -156,23 +242,13 @@ #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) */ @@ -226,7 +302,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"; @@ -236,10 +311,25 @@ vin-supply = <&vcc_io>; }; - io-domains { - compatible = "rockchip,rk3288-io-voltage-domain"; + 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>; - sdcard-supply = <&vccio_sd>; + wifi_chip_type = "ap6335"; + sdio_vref = <1800>; + WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>; + status = "okay"; }; }; @@ -254,11 +344,38 @@ 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>; + 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"; }; @@ -279,22 +396,7 @@ 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 { @@ -306,6 +408,11 @@ 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>; @@ -318,6 +425,10 @@ }; }; +&hevc_service { + status = "okay"; +}; + &i2c0 { status = "okay"; }; @@ -336,8 +447,18 @@ }; }; -&i2c5 { +&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 { @@ -345,35 +466,56 @@ 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"; }; @@ -383,6 +525,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>; @@ -411,6 +604,12 @@ }; }; + 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 @@ -457,40 +656,10 @@ 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>; + }; + }; };