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=41b8eae3304cf3ef1e80d7d9ab5492551928cb60;hp=d37b14c79b539e93159878db535c4bc558c4912c;hb=54be7ce59bf2114a90d2cc215efae026af9c6437;hpb=534c1ca9c257a81dd1b456f9244c1a1bfa0f7af7;ds=sidebyside diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi index d37b14c79b53..41b8eae3304c 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,13 +311,6 @@ 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>; @@ -276,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"; }; @@ -301,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 { @@ -328,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>; @@ -340,6 +425,10 @@ }; }; +&hevc_service { + status = "okay"; +}; + &i2c0 { status = "okay"; }; @@ -358,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 { @@ -367,6 +466,13 @@ status = "okay"; }; +&io_domains { + status = "okay"; + + sdcard-supply = <&vccio_sd>; + wifi-supply = <&vcc_18>; +}; + &wdt { status = "okay"; }; @@ -375,6 +481,10 @@ status = "okay"; }; +&rga { + status = "okay"; +}; + &sdio0 { status = "okay"; @@ -401,29 +511,67 @@ status = "okay"; }; -&uart1 { +&uart2 { status = "okay"; }; -&uart2 { +&vpu_service { status = "okay"; }; -&uart3 { +&tsadc { + rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ + rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ status = "okay"; }; -&uart4 { +&usbphy { status = "okay"; }; -&vpu { +&usb_host0_ehci { 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 */ +&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"; }; @@ -514,39 +662,3 @@ }; }; }; - -&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"; -};