diff --git a/build.sh b/build.sh
index 2733f044d59..66b5f9e88c0 100755
--- a/build.sh
+++ b/build.sh
@@ -125,7 +125,6 @@ function build_uboot() {
check_android_ab
true ${UBOOT_CFG:=nanopi6}
- true ${SPL_ARGS:="--spl-new ${SPL_FWVER}"}
cd ${UBOOT_DIR} && {
FA_RunCmd make ${UBOOT_CFG}_defconfig
diff --git a/device/rockchip/common/sepolicy/vendor/file_contexts b/device/rockchip/common/sepolicy/vendor/file_contexts
index 93108b886cf..d7e229eb97e 100644
--- a/device/rockchip/common/sepolicy/vendor/file_contexts
+++ b/device/rockchip/common/sepolicy/vendor/file_contexts
@@ -196,13 +196,21 @@
/dev/spidev.* u:object_r:spi_device:s0
/sys/class/gpio/.*export u:object_r:sysfs_gpio:s0
/sys/devices/platform/board/info u:object_r:sysfs_soc:s0
+/sys/devices/platform/2ae00000.adc/iio:device0/in_voltage.* u:object_r:sysfs_iio:s0
/sys/devices/platform/fec10000.saradc/iio:device0/in_voltage.* u:object_r:sysfs_iio:s0
+/sys/devices/platform/2ac50000.i2c/i2c-2/2-0051/rtc/rtc0/date u:object_r:sysfs_rtc:s0
+/sys/devices/platform/2ac50000.i2c/i2c-2/2-0051/rtc/rtc0/time u:object_r:sysfs_rtc:s0
+/sys/devices/platform/2ac50000.i2c/i2c-2/2-0051/rtc/rtc0/wakealarm u:object_r:sysfs_rtc:s0
/sys/devices/platform/fec80000.i2c/i2c-6/6-0051/rtc/rtc0/date u:object_r:sysfs_rtc:s0
/sys/devices/platform/fec80000.i2c/i2c-6/6-0051/rtc/rtc0/time u:object_r:sysfs_rtc:s0
/sys/devices/platform/fec80000.i2c/i2c-6/6-0051/rtc/rtc0/wakealarm u:object_r:sysfs_rtc:s0
/sys/devices/platform/fec80000.i2c/i2c-6/6-0051/rtc/rtc0/wakeup.* u:object_r:sysfs_wakeup:s0
/sys/devices/platform/fec80000.i2c/i2c-6/6-0051/rtc/rtc0/alarmtimer.* u:object_r:sysfs_wakeup:s0
/sys/devices/platform/gpio-keys/wakeup/wakeup.* u:object_r:sysfs_wakeup:s0
+/sys/devices/platform/pinctrl/2.*/gpio.*/active_low u:object_r:sysfs_gpio:s0
+/sys/devices/platform/pinctrl/2.*/gpio.*/direction u:object_r:sysfs_gpio:s0
+/sys/devices/platform/pinctrl/2.*/gpio.*/edge u:object_r:sysfs_gpio:s0
+/sys/devices/platform/pinctrl/2.*/gpio.*/value u:object_r:sysfs_gpio:s0
/sys/devices/platform/pinctrl/f.*/gpio.*/active_low u:object_r:sysfs_gpio:s0
/sys/devices/platform/pinctrl/f.*/gpio.*/direction u:object_r:sysfs_gpio:s0
/sys/devices/platform/pinctrl/f.*/gpio.*/edge u:object_r:sysfs_gpio:s0
diff --git a/device/rockchip/rk3576/nanopim5/Android.mk b/device/rockchip/rk3576/nanopim5/Android.mk
new file mode 100644
index 00000000000..7a16792d14a
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/Android.mk
@@ -0,0 +1,3 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/device/rockchip/rk3576/nanopim5/AndroidBoard.mk b/device/rockchip/rk3576/nanopim5/AndroidBoard.mk
new file mode 100644
index 00000000000..16db16a46f7
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/AndroidBoard.mk
@@ -0,0 +1,12 @@
+# generate fstab file for device
+-include device/rockchip/common/build/rockchip/RebuildFstab.mk
+
+# generate dtbo image for device
+-include device/rockchip/common/build/rockchip/RebuildDtboImg.mk
+
+ifeq ($(HAVE_PREBUILT_DTBO),true)
+ALL_DEFAULT_INSTALLED_MODULES += $(PRODUCT_OUT)/dtbo.img
+endif
+
+# generate parameter.txt for device
+-include device/rockchip/common/build/rockchip/RebuildParameter.mk
diff --git a/device/rockchip/rk3576/nanopim5/AndroidProducts.mk b/device/rockchip/rk3576/nanopim5/AndroidProducts.mk
new file mode 100644
index 00000000000..f8501b0587c
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/AndroidProducts.mk
@@ -0,0 +1,22 @@
+#
+# Copyright 2023 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/nanopim5.mk
+
+COMMON_LUNCH_CHOICES := \
+ nanopim5-userdebug \
+ nanopim5-user
diff --git a/device/rockchip/rk3576/nanopim5/BoardConfig.mk b/device/rockchip/rk3576/nanopim5/BoardConfig.mk
new file mode 100644
index 00000000000..f416d561bd5
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/BoardConfig.mk
@@ -0,0 +1,76 @@
+#
+# Copyright 2014 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+include device/rockchip/rk3576/BoardConfig.mk
+BUILD_WITH_GO_OPT := false
+BOARD_BUILD_GKI := false
+
+PRODUCT_KERNEL_DTS := nanopi5-images
+PRODUCT_KERNEL_CONFIG := nanopi5_android_defconfig
+PRODUCT_UBOOT_CONFIG := nanopi_m5
+
+BOARD_SELINUX_ENFORCING := false
+
+BOARD_CAMERA_SUPPORT_EXT := true
+BOARD_HS_ETHERNET := true
+PRODUCT_HAVE_PCIE_ETHERNET := true
+
+# Wifi.
+WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
+WIFI_DRIVER_FW_PATH_STA := "/dev/null"
+WIFI_DRIVER_FW_PATH_AP := "/dev/null"
+
+BOARD_HAVE_BLUETOOTH_AIC := false
+BOARD_HAVE_BLUETOOTH_BCM := false
+BOARD_HAVE_BLUETOOTH_RTK := false
+TARGET_USE_BTLINUX_HAL_IMPL := true
+BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/rockchip/rk3576/nanopim5/bluetooth
+
+# No dtbo.img in boot.img
+BOARD_INCLUDE_DTB_IN_BOOTIMG :=
+BOARD_PREBUILT_DTBIMAGE_DIR :=
+
+BOARD_INCLUDE_RECOVERY_DTBO :=
+BOARD_PREBUILT_DTBOIMAGE := device/rockchip/rk3576/nanopim5/dtbo.img
+TARGET_RECOVERY_FSTAB := device/rockchip/rk3576/nanopim5/recovery.fstab
+
+BOARD_CACHEIMAGE_PARTITION_SIZE := 281018368
+BOARD_SUPER_PARTITION_SIZE := 2684354560
+BOARD_WITH_BACKUP_PARTITION := backup:128M
+BOARD_WITH_SPECIAL_PARTITIONS := baseparameter:4M
+
+# AB image definition
+BOARD_USES_AB_IMAGE ?= true
+BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE := true
+
+ifeq ($(strip $(BOARD_USES_AB_IMAGE)), true)
+ PRODUCT_UBOOT_CONFIG := nanopi_m5_ab
+
+ AB_OTA_UPDATER := true
+ BOARD_USES_RECOVERY_AS_BOOT := true
+ BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864
+ BOARD_SUPER_PARTITION_SIZE := 3355443200
+ BOARD_ROCKCHIP_BASE_PARTITION := security:4M,uboot_a:4M,misc:4M
+ BOARD_ROCKCHIP_DYNAMIC_PARTITIONS_SIZE := $(shell expr $(BOARD_SUPER_PARTITION_SIZE) - 4194304)
+
+ TARGET_NO_RECOVERY := true
+ TARGET_ROCKCHIP_PCBATEST := false
+ TARGET_RECOVERY_FSTAB := device/rockchip/rk3576/nanopim5/recovery.fstab_AB
+endif
+
+# Use the non-open-source parts, if they're present
+-include vendor/quectel/ec20/BoardConfigPartial.mk
+
diff --git a/device/rockchip/rk3576/nanopim5/bluetooth/bdroid_buildcfg.h b/device/rockchip/rk3576/nanopim5/bluetooth/bdroid_buildcfg.h
new file mode 100644
index 00000000000..76a50ec0d3f
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/bluetooth/bdroid_buildcfg.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _BDROID_BUILDCFG_H
+#define _BDROID_BUILDCFG_H
+
+#define BTM_DEF_LOCAL_NAME "nanopi5"
+
+#define BTA_DM_COD {0x1A, 0x01, 0x10}
+
+#define BLE_PRIVACY_SPT TRUE
+#define BLE_VND_INCLUDED FALSE
+
+#define BTA_HCI_RESET FALSE
+
+#endif
diff --git a/device/rockchip/rk3576/nanopim5/bt_vendor.conf b/device/rockchip/rk3576/nanopim5/bt_vendor.conf
new file mode 100644
index 00000000000..d98c62e94fe
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/bt_vendor.conf
@@ -0,0 +1,5 @@
+# UART device port where Bluetooth controller is attached
+UartPort = /dev/ttyS8
+
+# Firmware patch file location
+FwPatchFilePath = /vendor/etc/firmware/
diff --git a/device/rockchip/rk3576/nanopim5/config.cfg b/device/rockchip/rk3576/nanopim5/config.cfg
new file mode 100644
index 00000000000..f676b0b2322
Binary files /dev/null and b/device/rockchip/rk3576/nanopim5/config.cfg differ
diff --git a/device/rockchip/rk3576/nanopim5/config.cfg_ab b/device/rockchip/rk3576/nanopim5/config.cfg_ab
new file mode 100644
index 00000000000..3b1d46cfa8e
Binary files /dev/null and b/device/rockchip/rk3576/nanopim5/config.cfg_ab differ
diff --git a/device/rockchip/rk3576/nanopim5/config.cfg_ab_gki b/device/rockchip/rk3576/nanopim5/config.cfg_ab_gki
new file mode 100644
index 00000000000..da596b1e737
Binary files /dev/null and b/device/rockchip/rk3576/nanopim5/config.cfg_ab_gki differ
diff --git a/device/rockchip/rk3576/nanopim5/device.mk b/device/rockchip/rk3576/nanopim5/device.mk
new file mode 100644
index 00000000000..fa7e2898c7b
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/device.mk
@@ -0,0 +1,147 @@
+#
+# Copyright 2014 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# First lunching is U, api_level is 34
+PRODUCT_SHIPPING_API_LEVEL := 34
+
+include device/rockchip/rk3576/nanopim5/BoardConfig.mk
+
+# OTA
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.updater.next_device=rk3576 \
+ ro.product.version=14.0.0 \
+ ro.product.releasetype=stable
+
+PRODUCT_PACKAGES += \
+ Updater
+
+HAVE_PREBUILT_DTBO := $(shell test -f $(BOARD_PREBUILT_DTBOIMAGE) && echo true)
+ifneq ($(HAVE_PREBUILT_DTBO),true)
+PRODUCT_DTBO_TEMPLATE := device/rockchip/rk3576/nanopim5/dt-overlay.in
+endif
+
+include device/rockchip/common/build/rockchip/DynamicPartitions.mk
+include device/rockchip/common/BoardConfig.mk
+
+PRODUCT_COPY_FILES += \
+ device/rockchip/rk3576/nanopim5/init.rk3576.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.rk3576.rc
+
+PRODUCT_PROPERTY_OVERRIDES += \
+ persist.vendor.init_usb=1
+
+# Inherit from those products. Most specific first.
+$(call inherit-product, device/rockchip/rk3576/device.mk)
+$(call inherit-product, device/rockchip/common/device.mk)
+$(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk)
+
+PRODUCT_FSTAB_TEMPLATE := device/rockchip/rk3576/nanopim5/fstab.in
+
+PRODUCT_CHARACTERISTICS := tablet
+
+PRODUCT_NAME := nanopim5
+PRODUCT_DEVICE := nanopim5
+PRODUCT_BRAND := Android
+PRODUCT_MODEL := FriendlyELEC RK3576
+PRODUCT_MANUFACTURER := FriendlyELEC (www.friendlyelec.com)
+
+# Screen size is "normal", density is "hdpi"
+PRODUCT_AAPT_CONFIG := normal large xlarge tvdpi hdpi xhdpi xxhdpi
+PRODUCT_AAPT_PREF_CONFIG := hdpi
+
+DEVICE_PACKAGE_OVERLAYS := device/rockchip/rk3576/nanopim5/overlay
+
+TARGET_BOARD_SUPPORT_4K_UI ?= false
+ifeq ($(TARGET_BOARD_SUPPORT_4K_UI),true)
+PRODUCT_PROPERTY_OVERRIDES += persist.vendor.framebuffer.main=3840x2160@60
+PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=350
+else
+PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=240
+endif
+
+PRODUCT_PROPERTY_OVERRIDES += \
+ vendor.hwc.compose_policy=1 \
+ persist.demo.hdmirotates=true \
+ ro.vendor.user_rotation=true \
+ ro.boot.log_battery=false
+
+PRODUCT_PACKAGES += \
+ fsck.exfat \
+ mkfs.exfat
+
+PRODUCT_PACKAGES += \
+ usb_modeswitch
+
+PRODUCT_COPY_FILES += \
+ device/rockchip/rk3576/nanopim5/init.usbmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.usbmod.sh
+
+# These are the hardware-specific features
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
+ frameworks/native/data/etc/android.hardware.camera.autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.autofocus.xml \
+ frameworks/native/data/etc/android.hardware.gamepad.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.gamepad.xml \
+ frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
+ frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
+ frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
+ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
+ frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
+ frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
+ frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
+ frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
+ frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
+ frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
+ frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
+ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
+ frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
+ frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
+ frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
+ frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
+ frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml
+
+# Audio Policy tables
+PRODUCT_COPY_FILES += \
+ frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml
+
+# Rockchip properties
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.wifi.sleep.power.down=true \
+ persist.wifi.sleep.delay.ms=0 \
+ persist.bt.power.down=true
+
+PRODUCT_USB_CAMERA_CONFIG := device/rockchip/rk3576/nanopim5/external_camera_config.xml
+
+include device/friendlyelec/nanopi3/input/keyboards.mk
+
+# Quectel
+$(call inherit-product-if-exists, vendor/quectel/ec20/device-partial.mk)
+
+PRODUCT_PROPERTY_OVERRIDES += \
+ persist.vendor.radio.no_modem_board=1
+
+# vendor apps
+$(call inherit-product-if-exists, vendor/friendlyelec/apps/device-partial.mk)
+
+BUILD_WITHOUT_VENDOR_APPS := RkApkinstaller RkExplorer RKLogsTool RKUpdateService userExperienceService
+
+# Privileged permissions whitelist
+PRODUCT_COPY_FILES += \
+ device/rockchip/common/permissions/privapp-permissions-rockchip.xml:system/etc/permissions/privapp-permissions-rockchip.xml
+
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.control_privapp_permissions=enforce
+
+# Disable Scudo to save RAM.
+PRODUCT_DISABLE_SCUDO := true
+
diff --git a/device/rockchip/rk3576/nanopim5/dt-overlay.in b/device/rockchip/rk3576/nanopim5/dt-overlay.in
new file mode 100644
index 00000000000..382291efd65
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/dt-overlay.in
@@ -0,0 +1,15 @@
+/dts-v1/;
+/plugin/;
+
+&chosen {
+ bootargs_ext = "androidboot.boot_devices=${_boot_device}";
+};
+
+&reboot_mode {
+ mode-bootloader = <0x5242C309>;
+ mode-charge = <0x5242C30B>;
+ mode-fastboot = <0x5242C303>;
+ mode-loader = <0x5242C301>;
+ mode-normal = <0x5242C300>;
+ mode-recovery = <0x5242C303>;
+};
diff --git a/device/rockchip/rk3576/nanopim5/dtbo.img b/device/rockchip/rk3576/nanopim5/dtbo.img
new file mode 100644
index 00000000000..7b09619545d
Binary files /dev/null and b/device/rockchip/rk3576/nanopim5/dtbo.img differ
diff --git a/device/rockchip/rk3576/nanopim5/external_camera_config.xml b/device/rockchip/rk3576/nanopim5/external_camera_config.xml
new file mode 100644
index 00000000000..8c040f3f10b
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/external_camera_config.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/device/rockchip/rk3576/nanopim5/fstab.in b/device/rockchip/rk3576/nanopim5/fstab.in
new file mode 100644
index 00000000000..f8a367cb9b1
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/fstab.in
@@ -0,0 +1,27 @@
+# Android fstab file.
+#
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+
+${_block_prefix}system /system ext4 ro,barrier=1 ${_flags_vbmeta},first_stage_mount${_flags_avbpubkey}
+${_block_prefix}vendor /vendor ext4 ro,barrier=1 ${_flags},first_stage_mount
+${_block_prefix}odm /odm ext4 ro,barrier=1 ${_flags},first_stage_mount
+
+/dev/block/by-name/boot /boot emmc defaults ${_flags_chained}first_stage_mount
+/dev/block/by-name/cache /cache ext4 noatime,nodiratime,nosuid,nodev,noauto_da_alloc,discard wait,check
+/dev/block/by-name/metadata /metadata ext4 nodev,noatime,nosuid,discard,sync wait,formattable,first_stage_mount,check
+/dev/block/by-name/misc /misc emmc defaults defaults
+
+/dev/block/zram0 none swap defaults zramsize=40%
+
+/devices/platform/*.pcie* auto ext4 defaults voldmanaged=pcie:auto
+/devices/platform/*.sata* auto vfat defaults voldmanaged=sata:auto
+/devices/platform/*usb* auto vfat defaults voldmanaged=usb:auto
+
+# For sdmmc
+/devices/platform/${_sdmmc_device}/mmc_host* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
+
+# Full disk encryption has less effect on rk3588, so default to enable this.
+#/dev/block/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065 latemount,wait,check,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,quota,formattable,reservedsize=128M,checkpoint=fs
+# for ext4
+/dev/block/by-name/userdata /data ext4 discard,noatime,nosuid,nodev,noauto_da_alloc,user_xattr,barrier=1 latemount,wait,formattable,check,fileencryption=::inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=128M,checkpoint=fs
diff --git a/device/rockchip/rk3576/nanopim5/init.rk3576.rc b/device/rockchip/rk3576/nanopim5/init.rk3576.rc
new file mode 100644
index 00000000000..e4b6455a84f
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/init.rk3576.rc
@@ -0,0 +1,108 @@
+import /vendor/etc/init/hw/init.gki.rc
+on property:sys.boot_completed=1
+ chown system system /sys/class/devfreq/27800000.gpu/governor
+ chown system system /sys/class/devfreq/27800000.gpu/min_freq
+ chown system system /sys/class/devfreq/27800000.gpu/max_freq
+
+ chmod 0664 /sys/class/devfreq/27800000.gpu/governor
+ chmod 0664 /sys/class/devfreq/27800000.gpu/min_freq
+ chmod 0664 /sys/class/devfreq/27800000.gpu/max_freq
+
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 0
+ write /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq 0
+
+ write /sys/devices/system/cpu/cpufreq/policy0/scaling_governor schedutil
+ write /sys/devices/system/cpu/cpufreq/policy4/scaling_governor schedutil
+
+ write /sys/class/devfreq/dmc/governor dmc_ondemand
+
+ write /dev/vehicle 88
+
+on property:ro.cold_boot_done=true && property:persist.vendor.init_usb=1
+ setprop persist.sys.usb.config none
+ setprop sys.usb.config none
+ setprop persist.vendor.init_usb 0
+
+on property:persist.vendor.radio.no_modem_board=1
+ setprop ro.radio.noril yes
+ stop vendor.ril-daemon
+
+on charger
+ chown system system /sys/class/devfreq/27800000.gpu/governor
+ chown system system /sys/class/devfreq/27800000.gpu/min_freq
+ chown system system /sys/class/devfreq/27800000.gpu/max_freq
+
+ chmod 0664 /sys/class/devfreq/27800000.gpu/governor
+ chmod 0664 /sys/class/devfreq/27800000.gpu/min_freq
+ chmod 0664 /sys/class/devfreq/27800000.gpu/max_freq
+
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 0
+ write /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq 0
+
+ write /sys/devices/system/cpu/cpufreq/policy0/scaling_governor schedutil
+ write /sys/devices/system/cpu/cpufreq/policy4/scaling_governor schedutil
+
+ write /sys/class/devfreq/dmc/governor dmc_ondemand
+
+on boot
+ chown system system /sys/class/thermal/thermal_zone0/policy
+ chown system system /sys/class/thermal/thermal_zone1/policy
+ chown system system /sys/class/thermal/thermal_zone2/policy
+
+ write /dev/cpuset/foreground/cpus 0-7
+ write /dev/cpuset/foreground/boost/cpus 0-7
+ write /dev/cpuset/background/cpus 0-7
+ write /dev/cpuset/system-background/cpus 0-7
+ write /dev/cpuset/top-app/cpus 0-7
+
+ # reduce schedul time to improve io performance
+ write /sys/kernel/debug/sched_features NO_ENERGY_AWARE
+
+ chown system system /sys/devices/platform/2602e000.syscon/2602e000.syscon:usb2-phy@0/otg_mode
+ chmod 0660 /sys/devices/platform/2602e000.syscon/2602e000.syscon:usb2-phy@0/otg_mode
+
+ chown system system /sys/class/usb_role/23000000.usb-role-switch/role
+ chmod 0660 /sys/class/usb_role/23000000.usb-role-switch/role
+
+ chmod 0220 /sys/class/gpio/export
+ chown root system /sys/class/gpio/export
+ chmod 0220 /sys/class/gpio/unexport
+ chown root system /sys/class/gpio/unexport
+
+ # The initial load of RT process, set the range of 0-1024, set the RT task above 300 will preferentially run on the cpuB(cpu4-cpu7)
+ write /proc/sys/kernel/sched_util_clamp_min_rt_default 0
+
+ write /proc/sys/vm/dirty_ratio 10
+ write /proc/sys/vm/dirty_background_ratio 1
+ write /proc/sys/vm/dirty_writeback_centisecs 100
+ write /proc/sys/vm/dirty_expire_centisecs 500
+
+ start vendor.usbmod_sh
+
+on init
+ # Increased power consumption and CPU in exchange for memory
+ write /proc/sys/vm/swappiness 100
+ write /sys/block/zram0/comp_algorithm lz4
+
+ chown system system /sys/system_monitor/system_status
+ chmod 0666 /sys/system_monitor/system_status
+
+ chown system system /sys/class/devfreq/dmc/system_status
+ chmod 0666 /sys/class/devfreq/dmc/system_status
+
+on early-init
+ write /sys/devices/system/cpu/cpufreq/policy0/scaling_governor performance
+ write /sys/devices/system/cpu/cpufreq/policy4/scaling_governor performance
+ write /sys/class/devfreq/dmc/governor performance
+ chown system system /sys/power/mem_sleep
+ chmod 0660 /sys/power/mem_sleep
+
+ # usb controller
+ setprop sys.usb.controller "23000000.usb"
+
+service vendor.usbmod_sh /vendor/bin/init.usbmod.sh
+ class main
+ user root
+ group root system
+ disabled
+ oneshot
diff --git a/device/rockchip/rk3576/nanopim5/init.usbmod.sh b/device/rockchip/rk3576/nanopim5/init.usbmod.sh
new file mode 100755
index 00000000000..bec095925c4
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/init.usbmod.sh
@@ -0,0 +1,5 @@
+#! /vendor/bin/sh
+
+# send standard EJECT for some usb wifi dongles
+usb_modeswitch -v 0x0e8d -p 0x2870 -K
+usb_modeswitch -v 0x0bda -p 0x1a2b -K
diff --git a/device/rockchip/rk3576/nanopim5/media_profiles_default.xml b/device/rockchip/rk3576/nanopim5/media_profiles_default.xml
new file mode 100644
index 00000000000..8fa5dad6413
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/media_profiles_default.xml
@@ -0,0 +1,630 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/device/rockchip/rk3576/nanopim5/nanopim5.mk b/device/rockchip/rk3576/nanopim5/nanopim5.mk
new file mode 100644
index 00000000000..f96b783593c
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/nanopim5.mk
@@ -0,0 +1,18 @@
+#
+# Copyright 2014 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+include device/rockchip/rk3576/nanopim5/device.mk
+
diff --git a/device/rockchip/rk3576/nanopim5/ota/loader/readme.txt b/device/rockchip/rk3576/nanopim5/ota/loader/readme.txt
new file mode 100644
index 00000000000..226d490fda1
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/ota/loader/readme.txt
@@ -0,0 +1,4 @@
+将需要升级的loader,以RK*Loader*.bin格式放到该目录下
+OTA打包时即会加入到升级包中。
+
+也就是说,只要将需要升级的loader,以以RK*Loader*.bin格式命名,然后放到该目录下,就可实现loader升级功能。
diff --git a/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/core/res/res/values/config.xml b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/core/res/res/values/config.xml
new file mode 100644
index 00000000000..5c753eb420e
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,319 @@
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ 2
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+
+
+
+
+ - "wifi,1,1,2,-1,true"
+ - "mobile,0,0,0,-1,true"
+ - "mobile_mms,2,0,2,60000,false"
+ - "mobile_supl,3,0,2,60000,true"
+ - "mobile_dun,4,0,2,60000,true"
+ - "mobile_hipri,5,0,3,60000,true"
+ - "mobile_fota,10,0,2,60000,true"
+ - "mobile_ims,11,0,2,60000,true"
+ - "mobile_cbs,12,0,2,60000,true"
+
+ - "bluetooth,7,7,0,-1,true"
+ - "ethernet,9,9,9,-1,true"
+ - "pppoe,15,15,5,-1,true"
+
+
+
+
+ - "usb\\d"
+ - "rndis\\d"
+
+
+
+
+ - "wlan0"
+ - "softap.*"
+
+
+
+
+ - "bt-pan"
+
+
+
+
+
+ - 0
+ - 1
+ - 5
+ - 7
+ - 9
+
+
+
+ - com.google.android.gms
+
+
+
+ true
+
+
+
+ - 11
+ - 41
+ - 91
+ - 161
+ - 226
+ - 321
+ - 641
+ - 1281
+ - 2601
+
+
+
+
+ - 10
+ - 48
+ - 48
+ - 77
+ - 106
+ - 133
+ - 164
+ - 194
+ - 225
+ - 255
+
+
+
+
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+
+
+
+
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+ - 0
+
+
+
+ 2
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+
+ - "/system/framework/arm64/boot-framework.oat"
+ - "/system/framework/framework.jar"
+ - "/system/framework/oat/arm64/services.odex"
+ - "/system/framework/services.jar"
+ - "/system/framework/arm64/boot.oat"
+ - "/system/framework/arm64/boot-core-libart.oat"
+
+
+
+ true
+
+
+ 4
+
+
+ true
+
+
+ true
+
+ Pixel C Keyboard
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+ - ntp://time.android.com
+ - ntp://time.apple.com
+ - ntp://asia.pool.ntp.org
+
+
+
+ true
+
+
+ true
+
+ true
+
+
+ com.android.systemui/com.android.systemui.doze.DozeService
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml
new file mode 100644
index 00000000000..09d7a88b0d4
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml
@@ -0,0 +1,23 @@
+
+
+
+
+ Alarm
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/core/res/res/xml/power_profile.xml
new file mode 100644
index 00000000000..c559f7c71df
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -0,0 +1,97 @@
+
+
+
+
+ - 2.18
+ - 181.08
+ - 609.72
+ - 26.47
+ - 4.05
+ - 3.81
+ - 111.43
+ - 149.04
+ - 19.15
+ - 113.57
+ - 791.67
+
+
+
+ 204000
+ 306000
+ 408000
+ 510000
+ 612000
+ 714000
+ 816000
+ 918000
+ 1020000
+ 1122000
+ 1224000
+ 1326000
+ 1428000
+ 1530000
+ 1632000
+ 1734000
+ 1836000
+ 1912500
+
+
+
+ 0.1
+
+
+ - 8.57
+ - 97.14
+
+
+ 36.95
+ 60.08
+ 80.32
+ 103.28
+ 121.55
+ 147.79
+ 174.06
+ 173.26
+ 181.49
+ 180.85
+ 179.45
+ 334.99
+ 373.08
+ 404.53
+ 454.39
+ 483.34
+ 533.69
+ 531.57
+
+
+ 4
+
+
+ - 9000
+
+
+ .0003
+ .003
+ .03
+ .3
+ 3
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
new file mode 100644
index 00000000000..695b219bbd0
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -0,0 +1,57 @@
+
+
+
+
+ false
+ 0x7fffffff
+
+
+ 120
+
+ false
+
+
+ 2
+
+
+ true
+
+
+ true
+
+
+ true
+
+ 0
+ 1
+
+
+ confirmed
+
+
+ 50%
+ 50%
+
+
+ true
+
+
+ true
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/packages/SystemUI/res/values-sw600dp/dimens.xml b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/packages/SystemUI/res/values-sw600dp/dimens.xml
new file mode 100644
index 00000000000..882f095cbc3
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/packages/SystemUI/res/values-sw600dp/dimens.xml
@@ -0,0 +1,23 @@
+
+
+
+ 82dp
+ 8dp
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
new file mode 100644
index 00000000000..cb2362293c0
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+ wifi,dnd,rotation,cell,airplane,dark
+
+
+
+ false
+
+
+ false
+
+
+ true
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/packages/apps/Bluetooth/res/values/config.xml b/device/rockchip/rk3576/nanopim5/overlay/packages/apps/Bluetooth/res/values/config.xml
new file mode 100644
index 00000000000..e9073bf5ee6
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/packages/apps/Bluetooth/res/values/config.xml
@@ -0,0 +1,26 @@
+
+
+
+ true
+ false
+ false
+ false
+ true
+ false
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml b/device/rockchip/rk3576/nanopim5/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
new file mode 100644
index 00000000000..1ecf93889f1
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/packages/apps/Launcher3/res/values/config.xml b/device/rockchip/rk3576/nanopim5/overlay/packages/apps/Launcher3/res/values/config.xml
new file mode 100644
index 00000000000..d8344316639
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/packages/apps/Launcher3/res/values/config.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+ true
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/packages/modules/Connectivity/Tethering/res/values/config.xml b/device/rockchip/rk3576/nanopim5/overlay/packages/modules/Connectivity/Tethering/res/values/config.xml
new file mode 100644
index 00000000000..216ca4065f5
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/packages/modules/Connectivity/Tethering/res/values/config.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ - "p2p-p2p\\d-.*"
+ - "p2p-wlan\\d-.*"
+ - "p2p-dev-wlan\\d"
+ - "p2p\\d"
+
+
+
+ 0
+
+
+
+ - "ncm\\d"
+ - "rndis\\d"
+
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/packages/modules/NetworkStack/res/values/config.xml b/device/rockchip/rk3576/nanopim5/overlay/packages/modules/NetworkStack/res/values/config.xml
new file mode 100644
index 00000000000..918afec317d
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/packages/modules/NetworkStack/res/values/config.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ http://www.google.cn/generate_204
+
+
+ https://www.google.cn/generate_204
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml b/device/rockchip/rk3576/nanopim5/overlay/packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
new file mode 100644
index 00000000000..e4e107cf58a
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ 36,40,44,48,149,153,157
+
+
diff --git a/device/rockchip/rk3576/nanopim5/overlay/packages/services/Telephony/res/values/config.xml b/device/rockchip/rk3576/nanopim5/overlay/packages/services/Telephony/res/values/config.xml
new file mode 100644
index 00000000000..7020e50353e
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/overlay/packages/services/Telephony/res/values/config.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+ true
+
diff --git a/device/rockchip/rk3576/nanopim5/recovery.fstab b/device/rockchip/rk3576/nanopim5/recovery.fstab
new file mode 100644
index 00000000000..774cd5d0ae3
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/recovery.fstab
@@ -0,0 +1,31 @@
+# Android fstab file.
+#
+/dev/block/platform/ff0f0000.dwmmc/by-name/user /mnt/internal_sd vfat defaults defaults
+/dev/block/mmcblk0p1 /mnt/external_sd vfat /dev/block/mmcblk0 defaults
+/dev/block/by-name/system /system ext4 defaults defaults
+/dev/block/by-name/vendor /vendor ext4 defaults defaults
+/dev/block/by-name/odm /odm ext4 defaults defaults
+/dev/block/by-name/product /product ext4 defaults defaults
+/dev/block/by-name/system_ext /system_ext ext4 defaults defaults
+/dev/block/by-name/vendor_dlkm /vendor_dlkm ext4 defaults defaults
+/dev/block/by-name/odm_dlkm /odm_dlkm ext4 defaults defaults
+/dev/block/by-name/cache /cache ext4 defaults defaults
+/dev/block/by-name/metadata /metadata ext4 defaults defaults
+/dev/block/by-name/userdata /data ext4 defaults defaults
+/dev/block/by-name/cust /cust ext4 defaults defaults
+/dev/block/by-name/custom /custom ext4 defaults defaults
+/dev/block/by-name/radical_update /radical_update ext4 defaults defaults
+/dev/block/by-name/misc /misc emmc defaults defaults
+/dev/block/by-name/uboot /uboot emmc defaults defaults
+/dev/block/by-name/charge /charge emmc defaults defaults
+/dev/block/by-name/resource /resource emmc defaults defaults
+/dev/block/by-name/parameter /parameter emmc defaults defaults
+/dev/block/by-name/boot /boot emmc defaults defaults
+/dev/block/by-name/recovery /recovery emmc defaults defaults
+/dev/block/by-name/backup /backup emmc defaults defaults
+/dev/block/by-name/frp /frp emmc defaults defaults
+/dev/block/by-name/trust /trust emmc defaults defaults
+/dev/block/by-name/baseparamer /baseparamer emmc defaults defaults
+/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults
+/dev/block/by-name/dtbo /dtbo emmc defaults defaults
+/dev/block/by-name/vendor_boot /vendor_boot emmc defaults defaults
diff --git a/device/rockchip/rk3576/nanopim5/recovery.fstab_AB b/device/rockchip/rk3576/nanopim5/recovery.fstab_AB
new file mode 100644
index 00000000000..1270faf831e
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/recovery.fstab_AB
@@ -0,0 +1,24 @@
+# Android fstab file.
+#
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+
+system /system ext4 ro,barrier=1 wait,slotselect,logical,first_stage_mount
+vendor /vendor ext4 ro,barrier=1 wait,slotselect,logical,first_stage_mount
+odm /odm ext4 ro,barrier=1 wait,slotselect,logical,first_stage_mount
+product /product ext4 ro,barrier=1 wait,slotselect,logical,first_stage_mount
+system_ext /system_ext ext4 ro,barrier=1 wait,slotselect,logical,first_stage_mount
+vendor_dlkm /vendor_dlkm ext4 ro,barrier=1 wait,slotselect,logical,first_stage_mount
+odm_dlkm /odm_dlkm ext4 ro,barrier=1 wait,slotselect,logical,first_stage_mount
+/dev/block/by-name/metadata /metadata ext4 nodev,noatime,nosuid,discard,sync wait,formattable,first_stage_mount
+
+/dev/block/by-name/cache /cache ext4 noatime,nodiratime,nosuid,nodev,noauto_da_alloc,discard wait,check
+/dev/block/by-name/userdata /data ext4 defaults defaults
+
+/dev/block/by-name/misc /misc emmc defaults defaults
+/dev/block/by-name/frp /frp emmc defaults defaults
+/dev/block/by-name/baseparamer /baseparamer emmc defaults defaults
+/dev/block/by-name/backup /backup emmc defaults defaults
+
+/dev/block/mmcblk0p1 /mnt/external_sd vfat /dev/block/mmcblk0 defaults
+/dev/block/zram0 none swap defaults zramsize=50%
diff --git a/device/rockchip/rk3576/nanopim5/resolution_white.xml b/device/rockchip/rk3576/nanopim5/resolution_white.xml
new file mode 100644
index 00000000000..fa55e385962
--- /dev/null
+++ b/device/rockchip/rk3576/nanopim5/resolution_white.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/device/rockchip/rk3576/sepolicy_vendor/file_contexts b/device/rockchip/rk3576/sepolicy_vendor/file_contexts
index 45a483b8178..3573b60f2e0 100644
--- a/device/rockchip/rk3576/sepolicy_vendor/file_contexts
+++ b/device/rockchip/rk3576/sepolicy_vendor/file_contexts
@@ -1,3 +1,5 @@
/vendor/lib(64)?/hw/vulkan.rk3576.so u:object_r:same_process_hal_file:s0
+/vendor/bin/usb_modeswitch u:object_r:usb_dongle_exec:s0
+/vendor/bin/init.usbmod.sh u:object_r:usb_dongle_exec:s0
/sys/devices/platform/2a580000.otp/rockchip-otp0/nvmem u:object_r:sysfs_nvmem:s0
diff --git a/device/rockchip/rk3576/sepolicy_vendor/genfs_contexts b/device/rockchip/rk3576/sepolicy_vendor/genfs_contexts
index 71fb664a266..645fbb8010b 100644
--- a/device/rockchip/rk3576/sepolicy_vendor/genfs_contexts
+++ b/device/rockchip/rk3576/sepolicy_vendor/genfs_contexts
@@ -12,6 +12,7 @@ genfscon sysfs /devices/platform/2602e000.syscon/2602e000.syscon:usb2-phy@0/extc
genfscon sysfs /devices/platform/2602e000.syscon/2602e000.syscon:usb2-phy@0/uevent u:object_r:sysfs_extcon:s0
genfscon sysfs /devices/platform/2a200000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/2a200000.pcie/wakeup u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/2a210000.pcie/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/2a310000.mmc/mmc_host/mmc1 u:object_r:sysfs_mmc:s0
genfscon sysfs /devices/platform/2a330000.mmc/mmc_host/mmc0 u:object_r:sysfs_mmc:s0
genfscon sysfs /devices/platform/27da0000.hdmi/extcon u:object_r:sysfs_extcon:s0
@@ -25,4 +26,10 @@ genfscon sysfs /devices/platform/2a2d0000.ufs/host0/target0:0:0/0:0:0:3/wakeup
genfscon sysfs /devices/platform/2a220000.ethernet/net u:object_r:sysfs_net:s0
genfscon sysfs /devices/platform/2a230000.ethernet/net u:object_r:sysfs_net:s0
genfscon sysfs /devices/platform/23000000.usb u:object_r:sysfs_net:s0
+genfscon sysfs /devices/platform/23000000.usb/usb_role u:object_r:sysfs:s0
genfscon sysfs /devices/platform/23400000.usb u:object_r:sysfs_net:s0
+genfscon sysfs /devices/platform/2a200000.pcie u:object_r:sysfs_net:s0
+genfscon sysfs /devices/platform/2a210000.pcie u:object_r:sysfs_net:s0
+genfscon sysfs /devices/platform/2ac40000.i2c/i2c-1/1-0023/rk805-pwrkey.1.auto/wakeup u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/2ac50000.i2c/i2c-2/2-0051/rtc/rtc0/alarmtimer.3.auto/wakeup u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/2ac50000.i2c/i2c-2/2-0051/wakeup u:object_r:sysfs_wakeup:s0