diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 244272a3..8da63ea9 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -7,7 +7,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ rk3399-nanopi4-rev06.dtb \ rk3399-nanopi4-rev07.dtb \ rk3399-nanopi4-rev21.dtb \ - rk3399-nanopi4-rev22.dtb + rk3399-nanopi4-rev22.dtb \ + rk3399-firefly.dtb else diff --git a/arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts similarity index 85% rename from arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts rename to arch/arm64/boot/dts/rockchip/rk3399-firefly.dts index c3e076f7..5e31d9df 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts @@ -121,17 +121,6 @@ }; }; - fiq_debugger: fiq-debugger { - compatible = "rockchip,fiq-debugger"; - rockchip,serial-id = <2>; - rockchip,signal-irq = <182>; - rockchip,wake-irq = <0>; - rockchip,irq-mode-enable = <1>; /* If enable uart uses irq instead of fiq */ - rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ - pinctrl-names = "default"; - pinctrl-0 = <&uart2c_xfer>; - }; - gpio-keys { compatible = "gpio-keys"; #address-cells = <1>; @@ -247,6 +236,17 @@ regulator-name = "vcc3v3_pcie"; }; + vcc3v3_3g: vcc3v3-3g-regulator { + compatible = "regulator-fixed"; + enable-active-high; + regulator-always-on; + regulator-boot-on; + gpio = <&gpio0 2 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pcie_3g_drv>; + regulator-name = "vcc3v3_3g"; + }; + vcc3v3_sys: vcc3v3-sys { compatible = "regulator-fixed"; regulator-name = "vcc3v3_sys"; @@ -345,8 +345,113 @@ BT,wake_host_irq = <&gpio0 4 GPIO_ACTIVE_HIGH>; /* GPIO0_A4 */ status = "okay"; }; + + leds { + compatible = "gpio-leds"; + power { + label = "firefly:blue:power"; + linux,default-trigger = "ir-power-click"; + default-state = "on"; + gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&led_power>; + }; + user { + label = "firefly:yellow:user"; + linux,default-trigger = "ir-user-click"; + default-state = "off"; + gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&led_user>; + }; + }; }; +&cluster0_opp { + opp-408000000 { + opp-microvolt = <800000>; + }; + opp-600000000 { + opp-microvolt = <800000>; + }; + opp-816000000 { + opp-microvolt = <850000>; + }; + opp-1008000000 { + opp-microvolt = <925000>; + }; + opp-1200000000 { + opp-microvolt = <1000000>; + }; + opp-1416000000 { + opp-microvolt = <1125000>; + }; + opp-1512000000 { + opp-hz = /bits/ 64 <1512000000>; + opp-microvolt = <1200000>; + opp-microvolt-L0 = <1200000>; + opp-microvolt-L1 = <1175000>; + opp-microvolt-L2 = <1150000>; + opp-microvolt-L3 = <1125000>; + clock-latency-ns = <40000>; + }; + opp-18000000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <1350000>; + opp-microvolt-L0 = <1350000>; + opp-microvolt-L1 = <1325000>; + opp-microvolt-L2 = <1300000>; + opp-microvolt-L3 = <1275000>; + clock-latency-ns = <40000>; + }; +}; + +&cluster1_opp { + opp-408000000 { + opp-microvolt = <800000>; + }; + opp-600000000 { + opp-microvolt = <800000>; + }; + opp-816000000 { + opp-microvolt = <825000>; + }; + opp-1008000000 { + opp-microvolt = <875000>; + }; + opp-1200000000 { + opp-microvolt = <950000>; + }; + opp-1416000000 { + opp-microvolt = <1025000>; + }; + opp-1608000000 { + opp-microvolt = <1100000>; + }; + opp-1800000000 { + opp-microvolt = <1200000>; + }; + opp-1992000000 { + opp-hz = /bits/ 64 <1992000000>; + opp-microvolt = <1300000>; + opp-microvolt-L0 = <1300000>; + opp-microvolt-L1 = <1275000>; + opp-microvolt-L2 = <1250000>; + opp-microvolt-L3 = <1225000>; + clock-latency-ns = <40000>; + }; + opp-2208000000 { + opp-hz = /bits/ 64 <2208000000>; + opp-microvolt = <1400000>; + opp-microvolt-L0 = <1400000>; + opp-microvolt-L1 = <1375000>; + opp-microvolt-L2 = <1350000>; + opp-microvolt-L3 = <1325000>; + clock-latency-ns = <40000>; + }; +}; + + &cpu_l0 { cpu-supply = <&vdd_cpu_l>; }; @@ -472,8 +577,10 @@ reg = <0x1b>; interrupt-parent = <&gpio1>; interrupts = <21 IRQ_TYPE_LEVEL_LOW>; + pmic,stby-gpio = <&gpio1 24 GPIO_ACTIVE_LOW>; + pmic,hold-gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; - pinctrl-0 = <&pmic_int_l &pmic_dvs2>; + pinctrl-0 = <&pmic_int_l &pmic_dvs2 &pmic_stby &pmic_hold>; rockchip,system-power-controller; wakeup-source; #clock-cells = <1>; @@ -838,7 +945,17 @@ vsel2_gpio: vsel2-gpio { rockchip,pins = - <1 14 RK_FUNC_GPIO &pcfg_pull_down>; + <1 14 RK_FUNC_GPIO &pcfg_pull_down>; + }; + + pmic_stby: pmic-stby { + rockchip,pins = + <1 24 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + pmic_hold: pmic-hold{ + rockchip,pins = + <1 13 RK_FUNC_GPIO &pcfg_pull_up>; }; }; @@ -856,6 +973,15 @@ }; }; + leds { + led_power: led-power { + rockchip,pins = <2 27 RK_FUNC_GPIO &pcfg_pull_none>; + }; + led_user: led-user { + rockchip,pins = <0 13 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + rt5640 { rt5640_hpcon: rt5640-hpcon { rockchip,pins = <4 21 RK_FUNC_GPIO &pcfg_pull_none>; @@ -912,6 +1038,29 @@ status = "disabled"; }; +&route_hdmi { + status = "okay"; + logo,mode = "center"; +}; + +&cdn_dp { + status = "disabled"; + extcon = <&fusb0>; + phys = <&tcphy0_dp>; +}; + +&dp_in_vopb { + status = "disabled"; +}; + +&hdmi_in_vopb { + status = "okay"; +}; + +&hdmi_in_vopl { + status = "disabled"; +}; + &saradc { status = "okay"; vref-supply = <&vccadc_ref>; @@ -1009,6 +1158,31 @@ }; }; +&pwm3 { + status = "okay"; + interrupts = ; + compatible = "rockchip,remotectl-pwm"; + remote_pwm_id = <3>; + handle_cpu_id = <0>; + + ir_key1 { + rockchip,usercode = <0xff00>; + rockchip,key_table = + <0xeb KEY_POWER>, + <0xec KEY_COMPOSE>, + <0xfe KEY_BACK>, + <0xb7 KEY_HOME>, + <0xa3 KEY_WWW>, + <0xf4 KEY_VOLUMEUP>, + <0xa7 KEY_VOLUMEDOWN>, + <0xf8 KEY_ENTER>, + <0xfc KEY_UP>, + <0xfd KEY_DOWN>, + <0xf1 KEY_LEFT>, + <0xe5 KEY_RIGHT>; + }; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_xfer &uart0_cts>; @@ -1019,6 +1193,12 @@ status = "okay"; }; +&uart4 { + current-speed = <9600>; + no-loopback-test; + status = "okay"; +}; + &usbdrd3_0 { status = "okay"; extcon = <&fusb0>;