target/rockchip: add r5c

This commit is contained in:
Liangbin Lian 2023-05-26 15:31:03 +08:00
parent 304b8561cc
commit 1dcc4476cf
6 changed files with 257 additions and 2 deletions

View File

@ -0,0 +1,24 @@
# friendlyelec rk3568 combined image, board detected by ADC
env delete hwrev
env delete adc_value
# using SARADC CH1 to detect hwrev
adc single saradc@fe720000 1 adc_value
if test -n "$adc_value"; then
if test "$adc_value" -ge 151; then
echo board rev02
setenv hwrev 1
fi
fi
part uuid mmc ${devnum}:2 uuid
setenv bootargs "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0 root=PARTUUID=${uuid} rw rootwait"
load mmc ${devnum}:1 ${fdt_addr_r} rockchip${hwrev}.dtb
load mmc ${devnum}:1 ${kernel_addr_r} kernel.img
booti ${kernel_addr_r} - ${fdt_addr_r}

View File

@ -11,6 +11,11 @@ define Device/rk3568_combined
IMAGES := combined.img.gz
endef
define Device/rk3568_combined_friendlyelec
IMAGE/combined.img.gz := boot-combined | boot-script rk3568-friendlyelec | pine64-img | gzip | append-metadata
IMAGES := combined.img.gz
endef
define Device/fastrhino_common
$(call Device/rk3568)
DEVICE_VENDOR := FastRhino
@ -55,9 +60,11 @@ TARGET_DEVICES += hinlink_opc-h6xk
define Device/friendlyarm_nanopi-r5s
$(call Device/rk3568)
$(call Device/rk3568_combined_friendlyelec)
DEVICE_VENDOR := FriendlyARM
DEVICE_MODEL := NanoPi R5S
SUPPORTED_DEVICES += friendlyelec,nanopi-r5s friendlyarm,nanopi-r5s
DEVICE_MODEL := NanoPi R5S/R5C combined
SUPPORTED_DEVICES += friendlyelec,nanopi-r5s friendlyarm,nanopi-r5s friendlyelec,nanopi-r5c
DEVICE_DTS := rk3568-nanopi-r5s rk3568-nanopi-r5c
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-scsi-core kmod-hwmon-pwmfan kmod-thermal
endef
TARGET_DEVICES += friendlyarm_nanopi-r5s

View File

@ -20,6 +20,10 @@ friendlyelec,nanopi-r5s)
ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth1"
ucidef_set_led_netdev "lan2" "LAN2" "green:lan2" "eth2"
;;
friendlyelec,nanopi-r5c)
ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth0"
ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth1"
;;
hinlink,opc-h68k|\
hinlink,opc-h66k)
ucidef_set_led_netdev "wan" "WAN" "blue:net" "eth0"

View File

@ -11,6 +11,7 @@ rockchip_setup_interfaces()
local board="$1"
case "$board" in
friendlyelec,nanopi-r5c|\
fastrhino,r66s|\
hinlink,opc-h66k|\
firefly,rk3568-roc-pc)
@ -46,6 +47,7 @@ rockchip_setup_macs()
case "$board" in
firefly,rk3568-roc-pc|\
friendlyelec,nanopi-r5s|\
friendlyelec,nanopi-r5c|\
hinlink,opc-h68k|\
hinlink,opc-h66k|\
lyt,t68m|\

View File

@ -48,6 +48,7 @@ set_iface_cpumask() {
board_fixup_iface_name() {
local device
case $(board_name) in
friendlyelec,nanopi-r5c|\
fastrhino,r66s)
device="$(get_iface_device eth0)"
if [[ "$device" = "0001:11:00.0" ]]; then
@ -150,6 +151,7 @@ board_set_iface_smp_affinity() {
set_iface_cpumask 1 "eth3" "eth3-16"
fi
;;
friendlyelec,nanopi-r5c|\
fastrhino,r66s|\
hinlink,opc-h66k)
if ethtool -i eth0 | grep -Fq 'driver: r8169'; then

View File

@ -0,0 +1,216 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2022 FriendlyElec Computer Tech. Co., Ltd.
* (http://www.friendlyelec.com)
*/
/dts-v1/;
#include "rk3568.dtsi"
#include "rk3568-nanopi5-common.dtsi"
/ {
model = "FriendlyElec NanoPi R5C";
compatible = "friendlyelec,nanopi-r5c", "rockchip,rk3568";
aliases {
ethernet0 = &r8125_1;
ethernet1 = &r8125_2;
};
gpio_keys: gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key1_pin>;
button@1 {
debounce-interval = <50>;
gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
label = "K1";
linux,code = <BTN_1>;
wakeup-source;
};
};
gpio_leds: gpio-leds {
compatible = "gpio-leds";
sys_led: led-0 {
gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>;
label = "red:sys";
linux,default-trigger = "heartbeat";
pinctrl-names = "default";
pinctrl-0 = <&sys_led_pin>;
};
wan_led: led-1 {
gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>;
label = "green:wan";
pinctrl-names = "default";
pinctrl-0 = <&wan_led_pin>;
};
lan1_led: led-2 {
gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>;
label = "green:lan1";
pinctrl-names = "default";
pinctrl-0 = <&lan1_led_pin>;
};
lan2_led: led-3 {
gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>;
label = "green:wlan";
pinctrl-names = "default";
pinctrl-0 = <&lan2_led_pin>;
};
};
m2_wlan_radio: m2-wlan-radio {
compatible = "rfkill-gpio";
type = "wlan";
shutdown-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
};
};
&combphy0_us {
status = "okay";
};
&combphy1_usq {
status = "okay";
};
&combphy2_psq {
status = "okay";
};
&dfi {
status = "disabled";
};
&dmc {
status = "disabled";
};
&mach {
hwrev = <2>;
model = "NanoPi R5C";
};
&i2c5 {
status = "okay";
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
pinctrl-names = "default";
pinctrl-0 = <&rtc_int>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
wakeup-source;
};
};
&pcie30phy {
status = "okay";
};
&pcie2x1 {
num-viewport = <4>;
pinctrl-names = "default";
pinctrl-0 = <&m2_w_disable_pin>;
reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&pcie3x1 {
num-viewport = <4>;
rockchip,bifurcation;
rockchip,init-delay-ms = <100>;
reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
status = "okay";
pcie@10 {
reg = <0x00100000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
r8125_2: pcie@10,0 {
reg = <0x000000 0 0 0 0>;
local-mac-address = [ 00 00 00 00 00 00 ];
};
};
};
&pcie3x2 {
num-viewport = <4>;
rockchip,bifurcation;
reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
status = "okay";
pcie@20 {
reg = <0x00200000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
r8125_1: pcie@20,0 {
reg = <0x000000 0 0 0 0>;
local-mac-address = [ 00 00 00 00 00 00 ];
};
};
};
&pinctrl {
gpio-key {
key1_pin: key1-pin {
rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
gpio-leds {
sys_led_pin: sys-led-pin {
rockchip,pins =
<3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
wan_led_pin: wan-led-pin {
rockchip,pins =
<3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
};
lan1_led_pin: lan1-led-pin {
rockchip,pins =
<3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
};
lan2_led_pin: lan2-led-pin {
rockchip,pins =
<3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
m2-pins {
m2_w_disable_pin: m2-w-disable-pin {
rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_output_high>;
};
};
rtc {
rtc_int: rtc-int {
rockchip,pins =
<0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&pwm0 {
status = "disabled";
};
&sata2 {
status = "disabled";
};
&sfc {
status = "disabled";
};