diff --git a/packages/linux-firmware/rockchip-firmware/udev.d/80-rockchip-firmware.rules b/packages/linux-firmware/rockchip-firmware/udev.d/80-rockchip-firmware.rules index 63b0b082f7f..36799215e1c 100644 --- a/packages/linux-firmware/rockchip-firmware/udev.d/80-rockchip-firmware.rules +++ b/packages/linux-firmware/rockchip-firmware/udev.d/80-rockchip-firmware.rules @@ -29,4 +29,6 @@ SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ATTRS{device}=="0x4356", \ TAG+="systemd", ENV{SYSTEMD_WANTS}+="hciattach@bcm43xx.service" SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ATTRS{device}=="0x4359", \ TAG+="systemd", ENV{SYSTEMD_WANTS}+="hciattach@bcm43xx.service" +SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ATTRS{device}=="0x4330", \ + TAG+="systemd", ENV{SYSTEMD_WANTS}+="hciattach@bcm43xx.service" LABEL="end" diff --git a/packages/tools/u-boot/patches/rockchip/u-boot-1000-rk322x-defconfig-dts.patch b/packages/tools/u-boot/patches/rockchip/u-boot-1000-rk322x-defconfig-dts.patch index ad3ae38beaa..cc886a3012f 100644 --- a/packages/tools/u-boot/patches/rockchip/u-boot-1000-rk322x-defconfig-dts.patch +++ b/packages/tools/u-boot/patches/rockchip/u-boot-1000-rk322x-defconfig-dts.patch @@ -453,218 +453,3 @@ index 0000000..50af4f8 +CONFIG_LZO=y +CONFIG_LZMA=y +CONFIG_RKNAND=y -diff --git a/configs/rk322x-linux-miniloader-emmc-boot_defconfig b/configs/rk322x-linux-miniloader-emmc-boot_defconfig -new file mode 100644 -index 0000000..e19e169 ---- /dev/null -+++ b/configs/rk322x-linux-miniloader-emmc-boot_defconfig -@@ -0,0 +1,94 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_ROCKCHIP=y -+CONFIG_SPL_LIBCOMMON_SUPPORT=y -+CONFIG_SPL_LIBGENERIC_SUPPORT=y -+CONFIG_SYS_MALLOC_F_LEN=0x1000 -+CONFIG_ROCKCHIP_RK322X=y -+CONFIG_TPL_LDSCRIPT="arch/arm/mach-rockchip/u-boot-tpl.lds" -+CONFIG_TPL_TEXT_BASE=0x10081000 -+CONFIG_TPL_MAX_SIZE=28672 -+CONFIG_TPL_STACK=0x10088000 -+CONFIG_TPL_ROCKCHIP_BACK_TO_BROM=y -+CONFIG_TPL_TINY_MEMSET=y -+CONFIG_USE_TINY_PRINTF=y -+CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x0 -+CONFIG_RKIMG_BOOTLOADER=y -+CONFIG_TARGET_EVB_RK3229=y -+CONFIG_SPL_STACK_R_ADDR=0x60600000 -+CONFIG_DEFAULT_DEVICE_TREE="rk322x-emmc-boot" -+CONFIG_BOOTDELAY=1 -+CONFIG_DEBUG_UART=y -+CONFIG_FIT=y -+CONFIG_FIT_VERBOSE=y -+CONFIG_SPL_LOAD_FIT=y -+CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_optee.sh" -+# CONFIG_DISPLAY_CPUINFO is not set -+# CONFIG_ANDROID_BOOTLOADER is not set -+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set -+# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set -+CONFIG_SPL_STACK_R=y -+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000 -+CONFIG_SPL_OPTEE=y -+# CONFIG_CMD_IMLS is not set -+CONFIG_CMD_GPT=y -+CONFIG_CMD_MMC=y -+CONFIG_CMD_USB=y -+CONFIG_CMD_NET=y -+CONFIG_CMD_USB_MASS_STORAGE=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_TIME=y -+CONFIG_SPL_OF_CONTROL=y -+CONFIG_TPL_OF_CONTROL=y -+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" -+# CONFIG_ENV_IS_IN_MMC is not set -+CONFIG_TPL_DM=y -+CONFIG_REGMAP=y -+CONFIG_SPL_REGMAP=y -+CONFIG_TPL_REGMAP=y -+CONFIG_SYSCON=y -+CONFIG_SPL_SYSCON=y -+CONFIG_TPL_SYSCON=y -+CONFIG_CLK=y -+CONFIG_SPL_CLK=y -+CONFIG_TPL_CLK=y -+CONFIG_ROCKCHIP_GPIO=y -+CONFIG_SYS_I2C_ROCKCHIP=y -+CONFIG_MISC=y -+CONFIG_ROCKCHIP_EFUSE=y -+CONFIG_MMC_DW=y -+CONFIG_MMC_DW_ROCKCHIP=y -+CONFIG_DM_ETH=y -+CONFIG_ETH_DESIGNWARE=y -+CONFIG_GMAC_ROCKCHIP=y -+CONFIG_PHY=y -+CONFIG_PHY_ROCKCHIP_INNO_USB2=y -+CONFIG_PINCTRL=y -+CONFIG_RAM=y -+CONFIG_SPL_RAM=y -+CONFIG_TPL_RAM=y -+CONFIG_BAUDRATE=1500000 -+CONFIG_DEBUG_UART_BASE=0x11030000 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_DEBUG_UART_SHIFT=2 -+CONFIG_SYS_NS16550=y -+CONFIG_SYSRESET=y -+CONFIG_USB=y -+CONFIG_USB_DWC2=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_GADGET_DWC2_OTG=y -+CONFIG_USB_GADGET_DOWNLOAD=y -+CONFIG_G_DNL_MANUFACTURER="Rockchip" -+CONFIG_G_DNL_VENDOR_NUM=0x18d1 -+CONFIG_G_DNL_PRODUCT_NUM=0xd00d -+CONFIG_SHA1=y -+CONFIG_SHA256=y -+CONFIG_ERRNO_STR=y -+CONFIG_OPTEE_CLIENT=y -+CONFIG_OPTEE_V2=y -+CONFIG_DM_RESET=y -+CONFIG_RESET_ROCKCHIP=y -+CONFIG_ROCKCHIP_SFC=y -+CONFIG_RKNAND=y -+CONFIG_LZ4=y -+CONFIG_LZO=y -+CONFIG_LZMA=y -diff --git a/arch/arm/dts/rk322x-emmc-boot.dts b/arch/arm/dts/rk322x-emmc-boot.dts -new file mode 100644 -index 0000000..574c6db ---- /dev/null -+++ b/arch/arm/dts/rk322x-emmc-boot.dts -@@ -0,0 +1,109 @@ -+/* -+ * (C) Copyright 2017 Rockchip Electronics Co., Ltd. -+ * -+ * SPDX-License-Identifier: GPL-2.0+ X11 -+ */ -+ -+/dts-v1/; -+ -+#include "rk322x.dtsi" -+#include "rk322x-u-boot.dtsi" -+#include -+ -+/ { -+ model = "Rockchip RK322x SoC (eMMC Boot)"; -+ compatible = "rockchip,rk3229-evb", "rockchip,rk3229"; -+ -+ chosen { -+ u-boot,spl-boot-order = &emmc; -+ }; -+ -+ ext_gmac: ext_gmac { -+ compatible = "fixed-clock"; -+ clock-frequency = <125000000>; -+ clock-output-names = "ext_gmac"; -+ #clock-cells = <0>; -+ }; -+ -+ vcc_phy: vcc-phy-regulator { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ regulator-name = "vcc_phy"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ gpio-keys { -+ u-boot,dm-pre-reloc; -+ compatible = "gpio-keys"; -+ status = "okay"; -+ -+ volume-up { -+ u-boot,dm-pre-reloc; -+ linux,code = ; -+ label = "Volume Up"; -+ gpios = <&gpio3 25 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+ -+ aliases { -+ serial0 = &uart0; -+ serial1 = &uart1; -+ serial2 = &uart2; -+ mmc0 = &emmc; -+ }; -+ -+}; -+ -+&dmc { -+ rockchip,pctl-timing = <0x96 0xC8 0x1F3 0xF 0x8000004D 0x4 0x4E 0x6 0x3 -+ 0x0 0x6 0x5 0xC 0x10 0x6 0x4 0x4 -+ 0x5 0x4 0x200 0x3 0xA 0x40 0x0 0x1 -+ 0x5 0x5 0x3 0xC 0x1E 0x100 0x0 0x4 -+ 0x0 0x924>; -+ rockchip,phy-timing = <0x220 0x1 0x0 0x0 0x0 0x4 0x60>; -+ rockchip,sdram-params = <0x428B188 0x0 0x21 0x472 0x15 -+ 0 300 3 0 120>; -+}; -+ -+&gmac { -+ assigned-clocks = <&cru SCLK_MAC_EXTCLK>, <&cru SCLK_MAC>; -+ assigned-clock-parents = <&ext_gmac>, <&cru SCLK_MAC_EXTCLK>; -+ clock_in_out = "input"; -+ phy-supply = <&vcc_phy>; -+ phy-mode = "rgmii"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&rgmii_pins>; -+ snps,reset-gpio = <&gpio2 RK_PD0 GPIO_ACTIVE_LOW>; -+ snps,reset-active-low; -+ snps,reset-delays-us = <0 10000 1000000>; -+ tx_delay = <0x30>; -+ rx_delay = <0x10>; -+ status = "okay"; -+}; -+ -+&emmc { -+ status = "okay"; -+}; -+ -+&uart2 { -+ status = "okay"; -+}; -+ -+&u2phy0 { -+ status = "okay"; -+ -+ u2phy0_otg: otg-port { -+ status = "okay"; -+ }; -+ -+ u2phy0_host: host-port { -+ status = "okay"; -+ }; -+}; -+ -+&usb20_otg { -+ status = "okay"; -+}; diff --git a/projects/Rockchip/devices/RK322x/README.md b/projects/Rockchip/devices/RK322x/README.md index 12c6bb9b452..0212b2679e5 100644 --- a/projects/Rockchip/devices/RK322x/README.md +++ b/projects/Rockchip/devices/RK322x/README.md @@ -12,6 +12,7 @@ This is a SoC device for RK322x * `PROJECT=Rockchip DEVICE=RK322x ARCH=arm UBOOT_SYSTEM=rk3229-ntn8 make image` * `PROJECT=Rockchip DEVICE=RK322x ARCH=arm UBOOT_SYSTEM=rk3228a-h96mini SOC=RK3228 DDR_SPEED=600 make image` * `PROJECT=Rockchip DEVICE=RK322x ARCH=arm UBOOT_SYSTEM=rk3228b-v88marsII SOC=RK3228 make image` +* `PROJECT=Rockchip DEVICE=RK322x ARCH=arm UBOOT_SYSTEM=rk3228b-mk809iv SOC=RK3228` **How to use on an Android device** - Flash image to a sd-card diff --git a/projects/Rockchip/devices/RK322x/options b/projects/Rockchip/devices/RK322x/options index f39b5a048f2..83ef7104de4 100644 --- a/projects/Rockchip/devices/RK322x/options +++ b/projects/Rockchip/devices/RK322x/options @@ -27,6 +27,7 @@ KERNEL_MAKE_EXTRACMD+=" rk3229-box-ntn8.dtb" KERNEL_MAKE_EXTRACMD+=" rk3228a-box-h96mini.dtb" KERNEL_MAKE_EXTRACMD+=" rk3228b-box-v88mars-II.dtb" + KERNEL_MAKE_EXTRACMD+=" rk3228b-box-mkv809vii.dtb" # Mali GPU family MALI_FAMILY="400" diff --git a/projects/Rockchip/patches/linux/rockchip-4.4/linux-1002-rk322x-dts.patch b/projects/Rockchip/patches/linux/rockchip-4.4/linux-1002-rk322x-dts.patch index 10123ea0c83..459b22e6cf5 100644 --- a/projects/Rockchip/patches/linux/rockchip-4.4/linux-1002-rk322x-dts.patch +++ b/projects/Rockchip/patches/linux/rockchip-4.4/linux-1002-rk322x-dts.patch @@ -23,7 +23,7 @@ index af417ae376..b55b0fd2b0 100644 reg = <0x100b0000 0x4000>; diff --git a/arch/arm/boot/dts/rk3228a-cpu-opp.dtsi b/arch/arm/boot/dts/rk3228a-cpu-opp.dtsi new file mode 100644 -index 0000000..98b01e5 +index 0000000000..98b01e5947 --- /dev/null +++ b/arch/arm/boot/dts/rk3228a-cpu-opp.dtsi @@ -0,0 +1,92 @@ @@ -121,10 +121,10 @@ index 0000000..98b01e5 +}; diff --git a/arch/arm/boot/dts/rk322x-box.dtsi b/arch/arm/boot/dts/rk322x-box.dtsi new file mode 100644 -index 0000000..f23c18f +index 0000000000..e5ae8427bc --- /dev/null +++ b/arch/arm/boot/dts/rk322x-box.dtsi -@@ -0,0 +1,511 @@ +@@ -0,0 +1,517 @@ +/* + * Copyright (C) 2020 knaerzche + * @@ -147,6 +147,11 @@ index 0000000..f23c18f + reg = <0x60000000 0x40000000>; + }; + ++ aliases { ++ serial0 = &uart1; ++ serial1 = &uart0; ++ }; ++ + + chosen { + bootargs = "earlycon=uart8250,mmio32,0x11030000"; @@ -315,6 +320,7 @@ index 0000000..f23c18f + linux,rc-map-name = "rc-rktvbox"; + pinctrl-0 = <&ir_int>; + pinctrl-names = "default"; ++ status = "disabled"; + }; + +}; @@ -638,7 +644,7 @@ index 0000000..f23c18f +}; diff --git a/arch/arm/boot/dts/rk3228a-box.dtsi b/arch/arm/boot/dts/rk3228a-box.dtsi new file mode 100644 -index 0000000..bcaa3b1 +index 0000000000..997055c18f --- /dev/null +++ b/arch/arm/boot/dts/rk3228a-box.dtsi @@ -0,0 +1,47 @@ @@ -691,7 +697,7 @@ index 0000000..bcaa3b1 +}; diff --git a/arch/arm/boot/dts/rk3228b-box.dtsi b/arch/arm/boot/dts/rk3228b-box.dtsi new file mode 100644 -index 0000000..1aa448e +index 0000000000..1aa448e37a --- /dev/null +++ b/arch/arm/boot/dts/rk3228b-box.dtsi @@ -0,0 +1,16 @@ @@ -713,7 +719,7 @@ index 0000000..1aa448e +}; diff --git a/arch/arm/boot/dts/rk3229-box.dtsi b/arch/arm/boot/dts/rk3229-box.dtsi new file mode 100644 -index 0000000..8a4b25e +index 0000000000..8a4b25eeae --- /dev/null +++ b/arch/arm/boot/dts/rk3229-box.dtsi @@ -0,0 +1,16 @@ @@ -735,7 +741,7 @@ index 0000000..8a4b25e +}; diff --git a/arch/arm/boot/dts/rk3228a-box-h96mini.dts b/arch/arm/boot/dts/rk3228a-box-h96mini.dts new file mode 100644 -index 0000000..d191686 +index 0000000000..9682f8c2d7 --- /dev/null +++ b/arch/arm/boot/dts/rk3228a-box-h96mini.dts @@ -0,0 +1,151 @@ @@ -887,12 +893,12 @@ index 0000000..d191686 +&uart1 { + + pinctrl-names = "default"; -+ pinctrl-0 = <&uart1_xfer &uart11_cts>; ++ pinctrl-0 = <&uart11_xfer &uart11_cts>; + status = "okay"; +}; diff --git a/arch/arm/boot/dts/rk3228b-box-v88mars-II.dts b/arch/arm/boot/dts/rk3228b-box-v88mars-II.dts new file mode 100644 -index 0000000..444aa4f +index 0000000000..7089495f69 --- /dev/null +++ b/arch/arm/boot/dts/rk3228b-box-v88mars-II.dts @@ -0,0 +1,104 @@ @@ -945,7 +951,7 @@ index 0000000..444aa4f +}; + +&dram_timing { -+ dram_dll_disb_freq = <300>; ++ dram_dll_disb_freq = <300>; +}; + +&dmc { @@ -1002,7 +1008,7 @@ index 0000000..444aa4f +}; diff --git a/arch/arm/boot/dts/rk3229-box-a95xr1.dts b/arch/arm/boot/dts/rk3229-box-a95xr1.dts new file mode 100644 -index 0000000..4c9daf3 +index 0000000000..4c9daf3740 --- /dev/null +++ b/arch/arm/boot/dts/rk3229-box-a95xr1.dts @@ -0,0 +1,120 @@ @@ -1128,10 +1134,10 @@ index 0000000..4c9daf3 +}; diff --git a/arch/arm/boot/dts/rk3229-box-d88.dts b/arch/arm/boot/dts/rk3229-box-d88.dts new file mode 100644 -index 0000000..b5845c5 +index 0000000000..d8e236f30f --- /dev/null +++ b/arch/arm/boot/dts/rk3229-box-d88.dts -@@ -0,0 +1,119 @@ +@@ -0,0 +1,134 @@ +/* + * Copyright (C) 2020 knaerzche + * @@ -1172,6 +1178,7 @@ index 0000000..b5845c5 + pinctrl-0 = <&uart11_rts>; + pinctrl-1 = <&uart11_rts_gpio>; + BT,power_gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>; ++ BT,wake_gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>; + BT,wake_host_irq = <&gpio3 26 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; @@ -1251,9 +1258,23 @@ index 0000000..b5845c5 +&usb_otg { + dr_mode = "host"; +}; ++ ++&uart1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart11_xfer &uart11_cts>; ++ status="okay"; ++}; ++ ++&tve { ++ status = "disabled"; ++}; ++ ++&route_tve { ++ status = "disabled"; ++}; diff --git a/arch/arm/boot/dts/rk3229-box-hk1mini.dts b/arch/arm/boot/dts/rk3229-box-hk1mini.dts new file mode 100644 -index 0000000..044d909 +index 0000000000..a86bc01297 --- /dev/null +++ b/arch/arm/boot/dts/rk3229-box-hk1mini.dts @@ -0,0 +1,245 @@ @@ -1278,7 +1299,7 @@ index 0000000..044d909 + led_red { + gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; + default-state = "off"; -+ linux,default-trigger = "rc-feedback"; ++ linux,default-trigger = "rc-feedback"; + }; + + led_blue { @@ -1504,10 +1525,10 @@ index 0000000..044d909 +}; diff --git a/arch/arm/boot/dts/rk3229-box-ntn8.dts b/arch/arm/boot/dts/rk3229-box-ntn8.dts new file mode 100644 -index 0000000..5ca6a9d +index 0000000000..88bd6e173b --- /dev/null +++ b/arch/arm/boot/dts/rk3229-box-ntn8.dts -@@ -0,0 +1,132 @@ +@@ -0,0 +1,139 @@ +/* + * Copyright (C) 2020 knaerzche + * @@ -1640,9 +1661,16 @@ index 0000000..5ca6a9d + linux,rc-map-name = "rc-trn9"; + status = "okay"; +}; ++ ++&uart1 { ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart11_xfer &uart11_cts>; ++ status = "okay"; ++}; diff --git a/arch/arm/boot/dts/rk3229-box-v884k.dts b/arch/arm/boot/dts/rk3229-box-v884k.dts new file mode 100644 -index 0000000..d306c7a +index 0000000000..d306c7a32f --- /dev/null +++ b/arch/arm/boot/dts/rk3229-box-v884k.dts @@ -0,0 +1,109 @@ @@ -1757,7 +1785,7 @@ index 0000000..d306c7a +}; diff --git a/arch/arm/boot/dts/rk3229-box-v88mars.dts b/arch/arm/boot/dts/rk3229-box-v88mars.dts new file mode 100644 -index 0000000..1a92b7d +index 0000000000..1a92b7d5c5 --- /dev/null +++ b/arch/arm/boot/dts/rk3229-box-v88mars.dts @@ -0,0 +1,92 @@ @@ -1853,3 +1881,263 @@ index 0000000..1a92b7d +&ir_receiver { + status = "okay"; +}; +diff --git a/arch/arm/boot/dts/rk3228b-box-mkv809vii.dts b/arch/arm/boot/dts/rk3228b-box-mkv809vii.dts +new file mode 100644 +index 0000000000..cee27fef1a +--- /dev/null ++++ b/arch/arm/boot/dts/rk3228b-box-mkv809vii.dts +@@ -0,0 +1,254 @@ ++/* ++ * Copyright (C) 2020 knaerzche ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++/dts-v1/; ++ ++#include "rk3228b-box.dtsi" ++ ++/ { ++ model = "RK3228B MK809IV HDMI Stick"; ++ ++ ++ /delete-node/ dmc-opp-table; ++ ++ dmc_opp_table: dmc-opp-table { ++ compatible = "operating-points-v2"; ++ ++ rockchip,leakage-voltage-sel = < ++ 1 5 0 ++ 6 254 1 ++ >; ++ nvmem-cells = <&logic_leakage>; ++ nvmem-cell-names = "ddr_leakage"; ++ ++ opp-240000000 { ++ opp-hz = /bits/ 64 <240000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ ++ opp-324000000 { ++ opp-hz = /bits/ 64 <324000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ ++ opp-396000000 { ++ opp-hz = /bits/ 64 <396000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ ++ opp-456000000 { ++ opp-hz = /bits/ 64 <456000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ ++ opp-528000000 { ++ opp-hz = /bits/ 64 <528000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ ++ opp-600000000 { ++ opp-hz = /bits/ 64 <600000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ ++ opp-700000000 { ++ opp-hz = /bits/ 64 <600000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ ++ opp-800000000 { ++ opp-hz = /bits/ 64 <600000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ }; ++ ++ /delete-node/ opp-table2; ++ ++ gpu_opp_table: opp-table2 { ++ compatible = "operating-points-v2"; ++ ++ rockchip,leakage-voltage-sel = < ++ 1 5 0 ++ 6 254 1 ++ >; ++ nvmem-cells = <&logic_leakage>; ++ nvmem-cell-names = "gpu_leakage"; ++ ++ opp-200000000 { ++ opp-hz = /bits/ 64 <200000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ opp-300000000 { ++ opp-hz = /bits/ 64 <300000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ opp-500000000 { ++ opp-hz = /bits/ 64 <500000000>; ++ opp-microvolt = <1250000>; ++ opp-microvolt-L0 = <1250000>; ++ opp-microvolt-L1 = <1200000>; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ led_standby { ++ gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led_power { ++ gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_LOW>; ++ default-state = "on"; ++ }; ++ ++ }; ++ ++ wireless-wlan { ++ compatible = "wlan-platdata"; ++ rockchip,grf = <&grf>; ++ sdio_vref = <3300>; ++ WIFI,host_wake_irq = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; ++ status = "okay"; ++ }; ++ ++ wireless-bluetooth { ++ compatible = "bluetooth-platdata"; ++ uart_rts_gpios = <&gpio3 6 GPIO_ACTIVE_LOW>; ++ pinctrl-names = "default", "rts_gpio"; ++ pinctrl-0 = <&uart11_rts>; ++ pinctrl-1 = <&uart11_rts_gpio>; ++ BT,power_gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>; ++ BT,wake_gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>; ++ BT,wake_host_irq = <&gpio3 26 GPIO_ACTIVE_HIGH>; ++ status = "okay"; ++ }; ++ ++ gpio_keys { ++ compatible = "gpio-keys"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ autorepeat; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwr_key>; ++ ++ power_key: power-key { ++ label = "GPIO Key Power"; ++ gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_LOW>; ++ linux,code = ; ++ debounce-interval = <100>; ++ wakeup-source; ++ status = "okay"; ++ }; ++ }; ++ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_enable_h>; ++ reset-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>; /* GPIO2_D2 */ ++ }; ++}; ++ ++&gmac { ++ status = "disabled"; ++}; ++ ++&dram_timing { ++ sr_idle = <0xc>; ++ pd_idle = <0x20>; ++ ddr3_drv = ; ++ ddr3_odt = ; ++ phy_ddr3_clk_drv = ; ++ phy_ddr3_cmd_drv = ; ++ phy_ddr3_dqs_drv = ; ++ phy_ddr3_odt = ; ++}; ++ ++&dmc { ++ system-status-freq = < ++ /*system status freq(KHz)*/ ++ SYS_STATUS_NORMAL 456000 ++ SYS_STATUS_VIDEO_4K 456000 ++ SYS_STATUS_VIDEO_4K_10B 456000 ++ >; ++ ++ dram_freq = <456000000>; ++ status = "okay"; ++}; ++ ++ ++&emmc { ++ clock-frequency = <37500000>; ++ max-frequency = <37500000>; ++ /delete-property/ mmc-hs200-1_8v; ++ status = "okay"; ++}; ++ ++&sdmmc { ++ clock-frequency = <37500000>; ++ max-frequency = <37500000>; ++ status = "okay"; ++}; ++ ++&sdio { ++ clock-frequency = <37500000>; ++ max-frequency = <37500000>; ++ mmc-pwrseq = <&sdio_pwrseq>; ++ status = "okay"; ++}; ++ ++ ++&usb_otg { ++ dr_mode = "host"; ++}; ++ ++&cru { ++ assigned-clock-rates = ++ <1200000000>, <816000000>, ++ <960000000>, <150000000>, ++ <150000000>, <75000000>, ++ <150000000>, <150000000>, ++ <75000000>, <400000000>; ++}; ++ ++&uart1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart11_xfer &uart11_cts>; ++ status="okay"; ++}; ++ ++&tve { ++ status = "disabled"; ++}; ++ ++&route_tve { ++ status = "disabled"; ++}; diff --git a/scripts/uboot_helper b/scripts/uboot_helper index 7513a841c5f..09e2217ed13 100755 --- a/scripts/uboot_helper +++ b/scripts/uboot_helper @@ -58,8 +58,9 @@ devices = { 'rk3229-d88' : { 'dtb' : 'rk3229-box-d88.dtb', 'config' : 'rk322x-linux-miniloader-nand_defconfig' }, 'rk3229-v88mars' : { 'dtb' : 'rk3229-box-v88mars.dtb', 'config' : 'rk322x-linux-miniloader-nand_defconfig' }, 'rk3229-ntn8' : {'dtb' : 'rk3229-box-ntn8.dtb', 'config': 'rk322x-linux-miniloader-emmc_defconfig' }, - 'rk3228a-h96mini' : {'dtb' : 'rk3228a-box-h96mini.dtb', 'config' : 'rk322x-linux-miniloader-emmc-boot_defconfig' }, + 'rk3228a-h96mini' : {'dtb' : 'rk3228a-box-h96mini.dtb', 'config' : 'rk322x-linux-miniloader-emmc_defconfig' }, 'rk3228b-v88marsII' : {'dtb' : 'rk3228b-box-v88mars-II.dtb', 'config' : 'rk322x-linux-miniloader-nand_defconfig' }, + 'rk3228b-mk809iv' : {'dtb': 'rk3228b-box-mkv809vii.dtb', 'config' : 'rk322x-linux-miniloader-emmc_defconfig'}, }, },