rockchip: add NanoPi R2C Plus support
[openwrt/staging/wigyori.git] / target / linux / rockchip / armv8 / base-files / etc / hotplug.d / net / 40-net-smp-affinity
index 9e4a4cf4fceb42abfb5f4de0426fd4c128205cd1..852e84a6e4cc2e3979995961525e4adea6d29561 100644 (file)
@@ -4,8 +4,15 @@
 
 get_device_irq() {
        local device="$1"
-
-       local line=$(grep -m 1 "${device}\$" /proc/interrupts)
+       local line
+       local seconds="0"
+
+       # wait up to 10 seconds for the irq/device to appear
+       while [ "${seconds}" -le 10 ]; do
+               line=$(grep -E -m 1 "${device}\$" /proc/interrupts) && break
+               seconds="$(( seconds + 2 ))"
+               sleep 2
+       done
        echo ${line} | sed 's/:.*//'
 }
 
@@ -22,13 +29,26 @@ set_interface_core() {
 }
 
 case "$(board_name)" in
-friendlyarm,nanopi-r2s)
+friendlyarm,nanopi-r2c|\
+friendlyarm,nanopi-r2c-plus|\
+friendlyarm,nanopi-r2s|\
+xunlong,orangepi-r1-plus|\
+xunlong,orangepi-r1-plus-lts)
        set_interface_core 2 "eth0"
-       set_interface_core 4 "eth1" "xhci-hcd:usb3"
+       set_interface_core 4 "eth1" "xhci-hcd:usb[0-9]+"
        ;;
 friendlyarm,nanopi-r4s)
        set_interface_core 10 "eth0"
        set_interface_core 20 "eth1"
        ;;
+friendlyarm,nanopi-r5c)
+       set_interface_core 2 "eth0"
+       set_interface_core 4 "eth1"
+       ;;
+friendlyarm,nanopi-r5s)
+       set_interface_core 2 "eth0"
+       set_interface_core 4 "eth1"
+       set_interface_core 8 "eth2"
+       ;;
 esac