diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts index 02b8ba7dcc946..a7e51cf1c5c5b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts @@ -8,17 +8,13 @@ #include #include #include "rk3399.dtsi" +#include "rk3399-linux.dtsi" #include "rk3399-opp.dtsi" / { model = "Pine64 RockPro64"; compatible = "pine64,rockpro64", "rockchip,rk3399"; - chosen { - bootargs = "earlyprintk=uart8250,mmio32,0xff1a0000 swiotlb=1"; - stdout-path = "serial2:1500000n8"; - }; - /* first 64k(0xff8c0000~0xff8d0000) for ddr and suspend */ iram: sram@ff8d0000 { compatible = "mmio-sram"; @@ -92,6 +88,7 @@ vdd_log: vdd-log { compatible = "pwm-regulator"; pwms = <&pwm2 0 25000 1>; + pwm-supply = <&vcc_sys>; regulator-name = "vdd_log"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1400000>; @@ -101,8 +98,6 @@ /* for rockchip boot on */ rockchip,pwm_id= <2>; rockchip,pwm_voltage = <900000>; - - vin-supply = <&vcc_sys>; }; clkin_gmac: external-gmac-clock { @@ -112,20 +107,20 @@ #clock-cells = <0>; }; - spdif-sound { - status = "disabled"; + hdmi-sound { compatible = "simple-audio-card"; - simple-audio-card,name = "ROCKCHIP,SPDIF"; + simple-audio-card,format = "i2s"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,name = "HDMI"; simple-audio-card,cpu { - sound-dai = <&spdif>; + sound-dai = <&i2s2>; }; simple-audio-card,codec { - sound-dai = <&spdif_out>; + sound-dai = <&hdmi>; }; }; spdif_out: spdif-out { - status = "disabled"; compatible = "linux,spdif-dit"; #sound-dai-cells = <0>; }; @@ -146,11 +141,41 @@ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; }; + xin32k: xin32k { + compatible = "fixed-clock"; + clock-frequency = <32768>; + clock-output-names = "xin32k"; + #clock-cells = <0>; + }; + + wireless-wlan { + compatible = "wlan-platdata"; + rockchip,grf = <&grf>; + wifi_chip_type = "ap6354"; + sdio_vref = <1800>; + WIFI,host_wake_irq = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + + wireless-bluetooth { + compatible = "bluetooth-platdata"; + clocks = <&rk808 1>; + clock-names = "ext_clock"; + uart_rts_gpios = <&gpio2 RK_PC3 GPIO_ACTIVE_LOW>; + pinctrl-names = "default", "rts_gpio"; + pinctrl-0 = <&uart0_rts>; + pinctrl-1 = <&uart0_gpios>; + BT,reset_gpio = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; + BT,wake_gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; + BT,wake_host_irq = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + es8316-sound { status = "okay"; compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; - simple-audio-card,name = "rockchip,es8316-codec"; + simple-audio-card,name = "ES8316"; simple-audio-card,mclk-fs = <256>; simple-audio-card,widgets = "Microphone", "Mic Jack", @@ -168,6 +193,17 @@ }; }; + spdif-sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "SPDIF"; + simple-audio-card,cpu { + sound-dai = <&spdif>; + }; + simple-audio-card,codec { + sound-dai = <&spdif_out>; + }; + }; + leds { status = "okay"; compatible = "gpio-leds"; @@ -183,30 +219,13 @@ }; }; - rk_key: rockchip-key { - compatible = "rockchip,key"; + test-power { status = "okay"; - - io-channels = <&saradc 1>; - - power-key { - gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; - linux,code = <116>; - label = "power"; - gpio-key,wakeup; - }; - }; - - hdmi_dp_sound: hdmi-dp-sound { - status = "okay"; - compatible = "rockchip,rk3399-hdmi-dp"; - rockchip,cpu = <&i2s2>; - rockchip,codec = <&hdmi>, <&cdn_dp>; }; }; &cdn_dp { - status = "okay"; + status = "disabled"; extcon = <&fusb0>; }; @@ -247,11 +266,11 @@ }; &dfi { - status = "okay"; + status = "disabled"; }; &dmc { - status = "okay"; + status = "disabled"; center-supply = <&vdd_center>; upthreshold = <40>; downdifferential = <20>; @@ -260,11 +279,11 @@ SYS_STATUS_NORMAL 800000 SYS_STATUS_REBOOT 400000 SYS_STATUS_SUSPEND 400000 - SYS_STATUS_VIDEO_1080P 400000 + SYS_STATUS_VIDEO_1080P 800000 SYS_STATUS_VIDEO_4K 800000 SYS_STATUS_VIDEO_4K_10B 800000 SYS_STATUS_PERFORMANCE 800000 - SYS_STATUS_BOOST 400000 + SYS_STATUS_BOOST 800000 SYS_STATUS_DUALVIEW 800000 SYS_STATUS_ISP 800000 >; @@ -276,7 +295,6 @@ >; auto-min-freq = <400000>; auto-freq-en = <0>; - }; &dmc_opp_table { @@ -324,33 +342,6 @@ &display_subsystem { status = "okay"; - - ports = <&vopb_out>; - - route { - route_hdmi: route-hdmi { - status = "okay"; - connect = <&vopb_out_hdmi>; - }; - - route_dsi: route-dsi { - status = "disabled"; - connect = <&vopb_out_dsi>; - }; - - route_edp: route-edp { - status = "disabled"; - connect = <&vopb_out_edp>; - }; - }; -}; - -&dp_in_vopb { - status = "disabled"; -}; - -&edp { - /delete-node/ pinctrl-0; }; &emmc_phy { @@ -359,8 +350,8 @@ &i2c0 { status = "okay"; - i2c-scl-rising-time-ns = <168>; - i2c-scl-falling-time-ns = <4>; + i2c-scl-rising-time-ns = <180>; + i2c-scl-falling-time-ns = <30>; clock-frequency = <400000>; vdd_cpu_b: syr827@40 { @@ -393,6 +384,7 @@ regulator-max-microvolt = <1500000>; regulator-ramp-delay = <1000>; fcs,suspend-voltage-selector = <1>; + regulator-always-on; regulator-boot-on; vin-supply = <&vcc_sys>; regulator-initial-mode = <1>; /* 1:force PWM 2:auto */ @@ -429,8 +421,8 @@ regulators { vdd_center: DCDC_REG1 { regulator-name = "vdd_center"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <1350000>; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; regulator-ramp-delay = <6001>; regulator-always-on; regulator-boot-on; @@ -476,6 +468,7 @@ regulator-name = "vcc1v8_dvp"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; @@ -487,6 +480,7 @@ regulator-name = "vcc3v0_touch"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; + regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; @@ -510,6 +504,7 @@ regulator-name = "vcc_sd"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; + regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; @@ -586,14 +581,6 @@ }; }; -&i2s0 { - status = "okay"; - rockchip,i2s-broken-burst-len; - rockchip,playback-channels = <8>; - rockchip,capture-channels = <8>; - #sound-dai-cells = <0>; -}; - &i2c1 { status = "okay"; i2c-scl-rising-time-ns = <168>; @@ -624,6 +611,14 @@ }; }; +&i2s0 { + status = "okay"; + rockchip,i2s-broken-burst-len; + rockchip,playback-channels = <8>; + rockchip,capture-channels = <8>; + #sound-dai-cells = <0>; +}; + &i2s1 { status = "okay"; rockchip,i2s-broken-burst-len; @@ -634,6 +629,7 @@ &i2s2 { #sound-dai-cells = <0>; + rockchip,bclk-fs = <128>; status = "okay"; }; @@ -650,7 +646,7 @@ pinctrl-0 = <&rgmii_pins>; pinctrl-1 = <&rgmii_sleep_pins>; tx_delay = <0x28>; - rx_delay = <0x20>; + rx_delay = <0x11>; status = "okay"; }; @@ -660,6 +656,17 @@ }; &hdmi { + #address-cells = <1>; + #size-cells = <0>; + #sound-dai-cells = <0>; + status = "okay"; +}; + +&iep { + status = "okay"; +}; + +&iep_mmu { status = "okay"; }; @@ -678,13 +685,17 @@ &sdmmc { clock-frequency = <50000000>; - clock-freq-min-max = <400000 150000000>; + max-frequency = <150000000>; supports-sd; bus-width = <4>; cap-mmc-highspeed; cap-sd-highspeed; disable-wp; num-slots = <1>; + sd-uhs-sdr12; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-sdr104; vqmmc-supply = <&vcc_sd>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; @@ -693,8 +704,8 @@ }; &sdio0 { - clock-frequency = <50000000>; - clock-freq-min-max = <200000 50000000>; + clock-frequency = <100000000>; + max-frequency = <100000000>; supports-sdio; bus-width = <4>; disable-wp; @@ -707,35 +718,51 @@ pinctrl-names = "default"; pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; sd-uhs-sdr104; - status = "okay"; + status = "disabled"; }; &sdhci { bus-width = <8>; mmc-hs200-1_8v; mmc-hs400-1_8v; + mmc-hs400-enhanced-strobe; + supports-emmc; + non-removable; keep-power-in-suspend; status = "okay"; }; &spdif { - status = "disabled"; + status = "okay"; pinctrl-0 = <&spdif_bus_1>; #sound-dai-cells = <0>; }; &spi1 { status = "okay"; + max-freq = <10000000>; + flash@0 { - compatible = "gigadevice,gd25q128", "jedec,spi-nor"; + compatible = "jedec,spi-nor"; #address-cells = <1>; #size-cells = <1>; reg = <0>; - m25p,fast-read; - spi-max-frequency = <24000000>; + spi-max-frequency = <10000000>; }; }; +&threshold { + temperature = <80000>; +}; + +&target { + temperature = <95000>; +}; + +&soc_crit { + temperature = <100000>; +}; + &tcphy0 { extcon = <&fusb0>; status = "okay"; @@ -826,114 +853,15 @@ status = "okay"; }; -&pwm2 { +&pwm1 { status = "okay"; pinctrl-names = "active"; - pinctrl-0 = <&pwm2_pin_pull_down>; }; -&pwm3 { +&pwm2 { status = "okay"; - - interrupts = ; - compatible = "rockchip,remotectl-pwm"; - remote_pwm_id = <3>; - handle_cpu_id = <1>; - remote_support_psci = <1>; - - ir_key1 { - rockchip,usercode = <0x4040>; - rockchip,key_table = - <0xf2 KEY_REPLY>, - <0xba KEY_BACK>, - <0xf4 KEY_UP>, - <0xf1 KEY_DOWN>, - <0xef KEY_LEFT>, - <0xee KEY_RIGHT>, - <0xbd KEY_HOME>, - <0xea KEY_VOLUMEUP>, - <0xe3 KEY_VOLUMEDOWN>, - <0xe2 KEY_SEARCH>, - <0xb2 KEY_POWER>, - <0xbc KEY_MUTE>, - <0xec KEY_MENU>, - <0xbf 0x190>, - <0xe0 0x191>, - <0xe1 0x192>, - <0xe9 183>, - <0xe6 248>, - <0xe8 185>, - <0xe7 186>, - <0xf0 388>, - <0xbe 0x175>; - }; - - ir_key2 { - rockchip,usercode = <0xff00>; - rockchip,key_table = - <0xf9 KEY_HOME>, - <0xbf KEY_BACK>, - <0xfb KEY_MENU>, - <0xaa KEY_REPLY>, - <0xb9 KEY_UP>, - <0xe9 KEY_DOWN>, - <0xb8 KEY_LEFT>, - <0xea KEY_RIGHT>, - <0xeb KEY_VOLUMEDOWN>, - <0xef KEY_VOLUMEUP>, - <0xf7 KEY_MUTE>, - <0xe7 KEY_POWER>, - <0xfc KEY_POWER>, - <0xa9 KEY_VOLUMEDOWN>, - <0xa8 KEY_VOLUMEDOWN>, - <0xe0 KEY_VOLUMEDOWN>, - <0xa5 KEY_VOLUMEDOWN>, - <0xab 183>, - <0xb7 388>, - <0xe8 388>, - <0xf8 184>, - <0xaf 185>, - <0xed KEY_VOLUMEDOWN>, - <0xee 186>, - <0xb3 KEY_VOLUMEDOWN>, - <0xf1 KEY_VOLUMEDOWN>, - <0xf2 KEY_VOLUMEDOWN>, - <0xf3 KEY_SEARCH>, - <0xb4 KEY_VOLUMEDOWN>, - <0xbe KEY_SEARCH>; - }; - - ir_key3 { - rockchip,usercode = <0x1dcc>; - rockchip,key_table = - <0xee KEY_REPLY>, - <0xf0 KEY_BACK>, - <0xf8 KEY_UP>, - <0xbb KEY_DOWN>, - <0xef KEY_LEFT>, - <0xed KEY_RIGHT>, - <0xfc KEY_HOME>, - <0xf1 KEY_VOLUMEUP>, - <0xfd KEY_VOLUMEDOWN>, - <0xb7 KEY_SEARCH>, - <0xff KEY_POWER>, - <0xf3 KEY_MUTE>, - <0xbf KEY_MENU>, - <0xf9 0x191>, - <0xf5 0x192>, - <0xb3 388>, - <0xbe KEY_1>, - <0xba KEY_2>, - <0xb2 KEY_3>, - <0xbd KEY_4>, - <0xf9 KEY_5>, - <0xb1 KEY_6>, - <0xfc KEY_7>, - <0xf8 KEY_8>, - <0xb0 KEY_9>, - <0xb6 KEY_0>, - <0xb5 KEY_BACKSPACE>; - }; + pinctrl-names = "active"; + pinctrl-0 = <&pwm2_pin_pull_down>; }; &pinctrl { @@ -982,6 +910,7 @@ sdio-pwrseq { wifi_enable_h: wifi-enable-h { rockchip,pins = + <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>, <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; }; };