From 44ac9994feddd71e541cbad4683faa41024c771d Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Tue, 19 Nov 2024 12:30:32 +0800 Subject: [PATCH] rockchip: add NanoPi R2C Plus support --- package/boot/uboot-rockchip/Makefile | 9 +++++ .../armv8/base-files/etc/board.d/01_leds | 1 + .../armv8/base-files/etc/board.d/02_network | 2 ++ .../etc/hotplug.d/net/40-net-smp-affinity | 2 ++ .../dts/rockchip/rk3328-nanopi-r2c-plus.dts | 33 +++++++++++++++++++ target/linux/rockchip/image/armv8.mk | 10 ++++++ 6 files changed, 57 insertions(+) create mode 100644 target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c-plus.dts diff --git a/package/boot/uboot-rockchip/Makefile b/package/boot/uboot-rockchip/Makefile index ad2564970..e3d859079 100644 --- a/package/boot/uboot-rockchip/Makefile +++ b/package/boot/uboot-rockchip/Makefile @@ -1,3 +1,4 @@ + # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -38,6 +39,13 @@ define U-Boot/nanopi-r2c-rk3328 friendlyarm_nanopi-r2c endef +define U-Boot/nanopi-r2c-plus-rk3328 + $(U-Boot/rk3328/Default) + NAME:=NanoPi R2C Plus + BUILD_DEVICES:= \ + friendlyarm_nanopi-r2c-plus +endef + define U-Boot/nanopi-r2s-rk3328 $(U-Boot/rk3328/Default) NAME:=NanoPi R2S @@ -406,6 +414,7 @@ UBOOT_TARGETS := \ guangmiao-g4c-rk3399 \ xiaobao-nas-v1-rk3399 \ nanopi-r2c-rk3328 \ + nanopi-r2c-plus-rk3328 \ nanopi-r2s-rk3328 \ nanopi-r2s-plus-rk3328 \ orangepi-r1-plus-rk3328 \ diff --git a/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds b/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds index 7db3d2645..f53a72ae9 100755 --- a/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds +++ b/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds @@ -10,6 +10,7 @@ board_config_update case $board in friendlyarm,nanopi-r2c|\ +friendlyarm,nanopi-r2c-plus|\ friendlyarm,nanopi-r2s|\ friendlyarm,nanopi-r2s-plus|\ friendlyarm,nanopi-r4s|\ diff --git a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network index c982b66e5..aebbb372f 100755 --- a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network +++ b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network @@ -14,6 +14,7 @@ rockchip_setup_interfaces() ezpro,mrkaio-m68s|\ ezpro,mrkaio-m68s-plus|\ friendlyarm,nanopi-r2c|\ + friendlyarm,nanopi-r2c-plus|\ friendlyarm,nanopi-r2s|\ friendlyarm,nanopi-r2s-plus|\ friendlyarm,nanopi-r4s|\ @@ -107,6 +108,7 @@ rockchip_setup_macs() firefly,rk3568-roc-pc|\ friendlyarm,nanopc-t6|\ friendlyarm,nanopi-r2c|\ + friendlyarm,nanopi-r2c-plus|\ friendlyarm,nanopi-r2s|\ friendlyarm,nanopi-r2s-plus|\ hinlink,opc-h28k|\ diff --git a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity index 7e867fa36..cc30c5751 100644 --- a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity +++ b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity @@ -47,7 +47,9 @@ xunlong,orangepi-5-plus) set_interface_core 4 "eth1" ;; friendlyarm,nanopi-r2c|\ +friendlyarm,nanopi-r2c-plus|\ friendlyarm,nanopi-r2s|\ +friendlyarm,nanopi-r2s-plus|\ xunlong,orangepi-r1-plus|\ xunlong,orangepi-r1-plus-lts) set_interface_core 2 "eth0" diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c-plus.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c-plus.dts new file mode 100644 index 000000000..16a1958e4 --- /dev/null +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c-plus.dts @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright (c) 2021 FriendlyElec Computer Tech. Co., Ltd. + * (http://www.friendlyarm.com) + * + * Copyright (c) 2023 Tianling Shen + */ + +/dts-v1/; +#include "rk3328-nanopi-r2c.dts" + +/ { + model = "FriendlyElec NanoPi R2C Plus"; + compatible = "friendlyarm,nanopi-r2c-plus", "rockchip,rk3328"; + + aliases { + mmc1 = &emmc; + }; +}; + +&emmc { + bus-width = <8>; + cap-mmc-highspeed; + max-frequency = <150000000>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; + vmmc-supply = <&vcc_io_33>; + vqmmc-supply = <&vcc18_emmc>; + status = "okay"; +}; diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index 9329eaf32..2adaae101 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -154,6 +154,16 @@ define Device/friendlyarm_nanopi-r2c endef TARGET_DEVICES += friendlyarm_nanopi-r2c +define Device/friendlyarm_nanopi-r2c-plus + DEVICE_VENDOR := FriendlyARM + DEVICE_MODEL := NanoPi R2C Plus + SOC := rk3328 + UBOOT_DEVICE_NAME := nanopi-r2c-plus-rk3328 + IMAGE/sysupgrade.img.gz := boot-common | boot-script | pine64-bin | gzip | append-metadata + DEVICE_PACKAGES := kmod-usb-net-rtl8152 +endef +TARGET_DEVICES += friendlyarm_nanopi-r2c-plus + define Device/friendlyarm_nanopi-r2s DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi R2S