X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=arch%2Farm64%2Fboot%2Fdts%2Frockchip%2Frk3366-tb.dts;h=3544b15db73f8931c642b247cf589d094085d32d;hb=a9f2203134f778355a76d9b5803853169039a677;hp=85b1fee3a54ebfd7e99ec8a9eaf216297cbb8eab;hpb=c2f7badd39e3219b5e04a545ea9b150a43e5bcae;p=firefly-linux-kernel-4.4.55.git diff --git a/arch/arm64/boot/dts/rockchip/rk3366-tb.dts b/arch/arm64/boot/dts/rockchip/rk3366-tb.dts index 85b1fee3a54e..3544b15db73f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3366-tb.dts +++ b/arch/arm64/boot/dts/rockchip/rk3366-tb.dts @@ -49,7 +49,7 @@ compatible = "rockchip,tb", "rockchip,rk3366"; chosen { - bootargs = "console=uart,mmio32,0xff690000 clk_ignore_unused"; + bootargs = "console=uart,mmio32,0xff690000"; }; ion { @@ -65,6 +65,20 @@ }; }; + ramoops_mem: ramoops_mem { + reg = <0x0 0x100000 0x0 0x100000>; + reg-names = "ramoops_mem"; + }; + + ramoops { + compatible = "ramoops"; + record-size = <0x0 0x10000>; + console-size = <0x0 0x80000>; + ftrace-size = <0x0 0x10000>; + pmsg-size = <0x0 0x50000>; + memory-region = <&ramoops_mem>; + }; + backlight: backlight { compatible = "pwm-backlight"; pwms = <&pwm0 0 25000 PWM_POLARITY_INVERTED>; @@ -155,7 +169,7 @@ }; }; - sound { + rt5640-sound { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; simple-audio-card,name = "rockchip,rt5640-codec"; @@ -176,6 +190,22 @@ }; }; + spdif-sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "rockchip,spdif"; + simple-audio-card,cpu { + sound-dai = <&spdif>; + }; + simple-audio-card,codec { + sound-dai = <&spdif_out>; + }; + }; + + spdif_out: spdif-out { + compatible = "linux,spdif-dit"; + #sound-dai-cells = <0>; + }; + vcc_sys: vcc-sys { compatible = "regulator-fixed"; regulator-name = "vcc_sys"; @@ -195,7 +225,7 @@ vcc_phy: vcc-phy-regulator { compatible = "regulator-fixed"; enable-active-high; - gpio = <&gpio0 24 GPIO_ACTIVE_HIGH>; + gpio = <&gpio0 25 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <ð_phy_pwr>; regulator-name = "vcc_phy"; @@ -244,6 +274,89 @@ rk_usb,dcpattach = <0x498 29 1>; }; }; + + i2c@2 { + compatible = "i2c-gpio"; + gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>, /* sda */ + <&gpio5 16 GPIO_ACTIVE_HIGH>; /* scl */ + i2c-gpio,delay-us = <2>; /* ~100 kHz */ + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_gpio>; + status = "disabled"; + }; + + i2c@4 { + compatible = "i2c-gpio"; + gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>, /* sda */ + <&gpio5 8 GPIO_ACTIVE_HIGH>; /* scl */ + i2c-gpio,delay-us = <2>; /* ~100 kHz */ + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c4_gpio>; + status = "okay"; + + gt9xx: gt9xx@14 { + compatible = "goodix,gt9xx"; + reg = <0x14>; + touch-gpio = <&gpio5 11 IRQ_TYPE_LEVEL_LOW>; + reset-gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>; + max-x = <1200>; + max-y = <1900>; + tp-size = <911>; + tp-supply = <&vcc_tp>; + status = "okay"; + }; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rk818 1>; + clock-names = "ext_clock"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_enable_h>; + + /* + * On the module itself this is one of these (depending + * on the actual card populated): + * - SDIO_RESET_L_WL_REG_ON + * - PDN (power down when low) + */ + reset-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; /* GPIO0_B6 */ + }; + + wireless-wlan { + compatible = "wlan-platdata"; + rockchip,grf = <&grf>; + wifi_chip_type = "ap6335"; + sdio_vref = <1800>; + WIFI,host_wake_irq = <&gpio3 20 GPIO_ACTIVE_HIGH>; /* GPIO3_c4 */ + status = "okay"; + }; + + wireless-bluetooth { + compatible = "bluetooth-platdata"; + //wifi-bt-power-toggle; + uart_rts_gpios = <&gpio3 11 GPIO_ACTIVE_LOW>; /* GPIO3_b3 */ + pinctrl-names = "default","rts_gpio"; + pinctrl-0 = <&uart0_rts>; + pinctrl-1 = <&uart0_rts_gpio>; + //BT,power_gpio = <&gpio3 19 GPIO_ACTIVE_HIGH>; /* GPIO3_c3 */ + BT,reset_gpio = <&gpio3 19 GPIO_ACTIVE_HIGH>; /* GPIO3_c3 */ + BT,wake_gpio = <&gpio3 18 GPIO_ACTIVE_HIGH>; /* GPIO3_c2 */ + BT,wake_host_irq = <&gpio3 21 GPIO_ACTIVE_HIGH>; /* GPIO3_c5 */ + status = "okay"; + }; +}; + +&tsadc { + status = "okay"; +}; + +&nandc0 { + status = "okay"; /* enable both for emmc and nand */ }; &emmc { @@ -276,16 +389,26 @@ }; &sdio { - clock-frequency = <50000000>; - clock-freq-min-max = <200000 50000000>; + clock-frequency = <37500000>; + clock-freq-min-max = <200000 37500000>; supports-sdio; bus-width = <4>; disable-wp; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + mmc-pwrseq = <&sdio_pwrseq>; non-removable; num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&sdio_bus4 &sdio_cmd &sdio_clk>; - status = "disabled"; + sd-uhs-sdr104; + status = "okay"; +}; + +&uart0 { + status = "okay"; + pinctrl-0 = <&uart0_xfer &uart0_cts>; }; &saradc { @@ -294,6 +417,8 @@ &i2c0 { status = "okay"; + i2c-scl-rising-time-ns = <250>; + i2c-scl-falling-time-ns = <20>; syr827: syr827@40 { regulator-name = "vdd_arm"; @@ -307,8 +432,9 @@ regulator-always-on; regulator-boot-on; regulator-initial-state = <3>; + regulator-ramp-delay = <2000>; regulator-state-mem { - regulator-on-in-suspend; + regulator-off-in-suspend; regulator-suspend-microvolt = <900000>; }; }; @@ -505,6 +631,8 @@ &i2c1 { status = "okay"; + i2c-scl-rising-time-ns = <460>; + i2c-scl-falling-time-ns = <15>; rt5640: rt5640@1c { #sound-dai-cells = <0>; @@ -524,10 +652,19 @@ #sound-dai-cells = <0>; }; +&spdif { + status = "okay"; + #sound-dai-cells = <0>; +}; + &pwm0 { status = "okay"; }; +&rga { + status = "okay"; +}; + &uart2 { status = "okay"; }; @@ -555,6 +692,15 @@ status = "okay"; }; +&hdmi { + status = "okay"; + rockchip,hdmi_video_source = ; + rockchip,phy_table = + <148500000 0 0 17 18 18 18>, + <297000000 1 1 17 14 14 14>, + <594000000 1 1 16 5 5 5>; +}; + &vop_lite { status = "okay"; rockchip,prop = ; @@ -567,6 +713,30 @@ status = "okay"; }; +&iep_mmu { + status = "okay"; +}; + +&vpu_mmu { + status = "okay"; +}; + +&vdec_mmu { + status = "okay"; +}; + +&iep { + status = "okay"; +}; + +&vpu { + status = "okay"; +}; + +&rkvdec { + status = "okay"; +}; + &vop_big { status = "okay"; rockchip,prop = ; @@ -602,37 +772,62 @@ }; &pinctrl { - pmic { - pmic_int_l: pmic-int-l { - rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_up>; - }; - }; + pmic { + pmic_int_l: pmic-int-l { + rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + sdio-pwrseq { + wifi_enable_h: wifienable-h { + rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + wireless-bluetooth { + uart0_rts_gpio: uart0-rts-gpios { + rockchip,pins = <3 11 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; }; &gmac { - phy_regulator = "vcc_phy"; + phy-supply = <&vcc_phy>; phy-mode = "rgmii"; clock_in_out = "input"; - snps,reset-gpio = <&gpio2 15 0>; + snps,reset-gpio = <&gpio2 15 GPIO_ACTIVE_LOW>; snps,reset-active-low; - snps,reset-delays-us = <0 10000 1000000>; + snps,reset-delays-us = <0 10000 50000>; assigned-clocks = <&cru SCLK_MAC>; assigned-clock-parents = <&ext_gmac>; pinctrl-names = "default"; pinctrl-0 = <&rgmii_pins>; - tx_delay = <0x30>; - rx_delay = <0x10>; + tx_delay = <0x25>; + rx_delay = <0x1d>; status = "okay"; }; +&u2phy { + vbus_host-gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>; +}; + &dwc_control_usb { - host_drv_gpio = <&gpio0 16 GPIO_ACTIVE_LOW>; /* GPIO_C0 = 16 */ otg_drv_gpio = <&gpio0 10 GPIO_ACTIVE_LOW>; /* GPIO_B2 = 10 */ rockchip,remote_wakeup; rockchip,usb_irq_wakeup; }; +&usb_host0_ehci { + assigned-clocks = <&cru SCLK_USBPHY480M>; + assigned-clock-parents = <&u2phy>; + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + &usb_otg { clocks = <&cru SCLK_OTG_PHY0>, <&cru HCLK_OTG>; clock-names = "sclk_otgphy0", "otg"; @@ -645,6 +840,15 @@ status = "okay"; }; +&scr { + status = "disabled"; +}; + &cpu0 { cpu-supply = <&syr827>; -}; \ No newline at end of file +}; + +&gpu { + mali-supply = <&vdd_logic>; + status = "okay"; +};