lantiq: move lantiq_board_detect() to 03_preinit_board.sh
[openwrt/openwrt.git] / target / linux / lantiq / base-files / lib / functions / lantiq.sh
index ca52d08a60f396954175f149d28b706745b376b7..89f194b39e08557cdc76f45423c9747af4b9f5b6 100644 (file)
@@ -1,9 +1,35 @@
 #!/bin/sh
 
-lantiq_board_id() {
-       grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g" | sed "s/.* - \(.*\) - .*/\1/g"
+lantiq_board_model() {
+       local model
+
+       [ -f /tmp/sysinfo/model ] && model=$(cat /tmp/sysinfo/model)
+       [ -z "$model" ] && model="unknown"
+
+       echo "$model"
 }
 
 lantiq_board_name() {
-       grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g" | sed "s/.* - \(.*\)/\1/g"
+       local name
+
+       [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
+       [ -z "$name" ] && name="unknown"
+
+       echo "$name"
+}
+
+lantiq_get_dt_led() {
+       local label
+       local ledpath
+       local basepath="/sys/firmware/devicetree/base"
+       local nodepath="$basepath/aliases/led-$1"
+
+       [ -f "$nodepath" ] && ledpath=$(cat "$nodepath")
+       [ -n "$ledpath" ] && label=$(cat "$basepath$ledpath/label")
+
+       echo "$label"
+}
+
+lantiq_is_vdsl_system() {
+       grep -qE "system type.*: (VR9|xRX200)" /proc/cpuinfo
 }