aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/sunxi/base-files/etc/board.d/02_network
diff options
context:
space:
mode:
authorChukun Pan <amadeus@jmu.edu.cn>2021-10-18 12:20:03 +0800
committerHauke Mehrtens <hauke@hauke-m.de>2021-10-30 21:17:20 +0200
commitfde68cb80941a60be93ece75e808b5b407d11cc8 (patch)
tree35fa7d8756f4fc68c1589aa6a515854b4c9591ce /target/linux/sunxi/base-files/etc/board.d/02_network
parente43eb16efe97a597a2ebaa9f549d1daec2c8c2ab (diff)
downloadupstream-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/etc/board.d/02_network')
-rw-r--r--target/linux/sunxi/base-files/etc/board.d/02_network63
1 files changed, 45 insertions, 18 deletions
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