diff options
author | Chukun Pan <amadeus@jmu.edu.cn> | 2021-10-18 12:20:03 +0800 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2021-10-30 21:17:20 +0200 |
commit | fde68cb80941a60be93ece75e808b5b407d11cc8 (patch) | |
tree | 35fa7d8756f4fc68c1589aa6a515854b4c9591ce /target/linux/sunxi/base-files | |
parent | e43eb16efe97a597a2ebaa9f549d1daec2c8c2ab (diff) | |
download | upstream-fde68cb80941a60be93ece75e808b5b407d11cc8.tar.gz upstream-fde68cb80941a60be93ece75e808b5b407d11cc8.tar.bz2 upstream-fde68cb80941a60be93ece75e808b5b407d11cc8.zip |
sunxi: add support for FriendlyARM NanoPi R1S H5
Specification:
CPU: Allwinner H5, Quad-core Cortex-A53
DDR3 RAM: 512MB
Network: 10/100/1000M Ethernet x 2
USB Host: Type-A x 1
MicroSD Slot x 1
MicroUSB: for power input
Debug Serial Port: 3Pin pin-header
LED: WAN, LAN, SYS
KEY: Reset
Power Supply: DC 5V/2A
Installation:
Write the image to SD Card with dd.
Note:
1. OpenWrt currently does not support LED_FUNCTION, change back to the
previous practice (Consistent with NanoPi R1).
2. Since the upstream commit https://github.com/torvalds/linux/bbc4d71
("net: phy: realtek: fix rtl8211e rx/tx delay config"), we need to
change the phy-mode from rgmii to rgmii-id.
So set phy-mode for 5.4 and 5.10 respectively.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Diffstat (limited to 'target/linux/sunxi/base-files')
-rw-r--r-- | target/linux/sunxi/base-files/etc/board.d/01_leds | 3 | ||||
-rw-r--r-- | target/linux/sunxi/base-files/etc/board.d/02_network | 63 |
2 files changed, 47 insertions, 19 deletions
diff --git a/target/linux/sunxi/base-files/etc/board.d/01_leds b/target/linux/sunxi/base-files/etc/board.d/01_leds index 45153b44dc..60783363de 100644 --- a/target/linux/sunxi/base-files/etc/board.d/01_leds +++ b/target/linux/sunxi/base-files/etc/board.d/01_leds @@ -7,7 +7,8 @@ boardname="${board##*,}" board_config_update case $board in -friendlyarm,nanopi-r1) +friendlyarm,nanopi-r1|\ +friendlyarm,nanopi-r1s-h5) ucidef_set_led_netdev "wan" "WAN" "nanopi:green:wan" "eth0" ucidef_set_led_netdev "lan" "LAN" "nanopi:green:lan" "eth1" ;; diff --git a/target/linux/sunxi/base-files/etc/board.d/02_network b/target/linux/sunxi/base-files/etc/board.d/02_network index d5c615e7f2..46ace1f67c 100644 --- a/target/linux/sunxi/base-files/etc/board.d/02_network +++ b/target/linux/sunxi/base-files/etc/board.d/02_network @@ -3,27 +3,54 @@ # . /lib/functions/uci-defaults.sh +. /lib/functions/system.sh -board_config_update +sunxi_setup_interfaces() +{ + local board="$1" + + case "$board" in + friendlyarm,nanopi-r1|\ + friendlyarm,nanopi-r1s-h5) + ucidef_set_interfaces_lan_wan "eth1" "eth0" + ;; + lamobo,lamobo-r1) + ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" wan + ;; + olimex,a20-olinuxino-micro) + ucidef_set_interface_lan "wlan0" + ;; + xunlong,orangepi-r1) + ucidef_set_interfaces_lan_wan "eth0" "eth1" + ;; + *) + ucidef_set_interface_lan "eth0" + ;; + esac +} + +sunxi_setup_macs() +{ + local board="$1" + local lan_mac="" + local wan_mac="" + local label_mac="" -case $(board_name) in -friendlyarm,nanopi-r1) - ucidef_set_interfaces_lan_wan "eth1" "eth0" - ;; -lamobo,lamobo-r1) - ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" wan - ;; -olimex,a20-olinuxino-micro) - ucidef_set_interface_lan "wlan0" - ;; -xunlong,orangepi-r1) - ucidef_set_interfaces_lan_wan "eth0" "eth1" - ;; -*) - ucidef_set_interface_lan "eth0" - ;; -esac + case "$board" in + friendlyarm,nanopi-r1s-h5) + lan_mac=$(get_mac_binary "/sys/bus/i2c/devices/0-0051/eeprom" 0xfa) + ;; + esac + [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac + [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac + [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac +} + +board_config_update +board=$(board_name) +sunxi_setup_interfaces $board +sunxi_setup_macs $board board_config_flush exit 0 |