[LEDE-DEV] [PATCH 3/4] brcm2708: convert to dt-based board-detection

Christian Lamparter chunkeey at gmail.com
Sun Dec 17 06:18:48 PST 2017


Use the values populated by the generic board detect function. The
first compatible from the device tree source file will be the board
name in userspace. The model property from the device tree source file
will be the model name.

Change the board name where used in the userspace and drop the target
specific board detect, to use the generic one.

Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
 .../brcm2708/base-files/etc/board.d/02_network     | 12 +++---
 target/linux/brcm2708/base-files/etc/diag.sh       | 11 +++---
 target/linux/brcm2708/base-files/lib/brcm2708.sh   | 43 ----------------------
 .../lib/preinit/01_preinit_do_brcm2708.sh          | 10 -----
 .../lib/preinit/05_set_preinit_iface_brcm2708      |  9 +++--
 target/linux/brcm2708/image/Makefile               |  6 +--
 6 files changed, 20 insertions(+), 71 deletions(-)
 delete mode 100644 target/linux/brcm2708/base-files/lib/brcm2708.sh
 delete mode 100644 target/linux/brcm2708/base-files/lib/preinit/01_preinit_do_brcm2708.sh

diff --git a/target/linux/brcm2708/base-files/etc/board.d/02_network b/target/linux/brcm2708/base-files/etc/board.d/02_network
index 29bcf33e33..a9c947b65a 100755
--- a/target/linux/brcm2708/base-files/etc/board.d/02_network
+++ b/target/linux/brcm2708/base-files/etc/board.d/02_network
@@ -11,13 +11,15 @@ board_config_update
 board=$(board_name)
 
 case "$board" in
-rpi-2-b |\
-rpi-3-b |\
-rpi-b |\
-rpi-b-plus)
+raspberrypi,model-b |\
+raspberrypi,model-b-plus |\
+raspberrypi,model-b-rev2 |\
+raspberrypi,2-model-b |\
+raspberrypi,3-model-b)
 	ucidef_set_interface_lan "eth0"
 	;;
-rpi-zero-w)
+
+raspberrypi,model-zero-w)
 	ucidef_set_interface_lan "wlan0"
 	;;
 esac
diff --git a/target/linux/brcm2708/base-files/etc/diag.sh b/target/linux/brcm2708/base-files/etc/diag.sh
index 6f5810ed58..ce0f591517 100644
--- a/target/linux/brcm2708/base-files/etc/diag.sh
+++ b/target/linux/brcm2708/base-files/etc/diag.sh
@@ -7,14 +7,13 @@
 
 set_state() {
 	case "$(board_name)" in
-	rpi-2-b |\
-	rpi-b-plus)
+	raspberrypi,2-model-b |\
+	raspberrypi,model-b-plus)
 		status_led="led1"
 		;;
-	rpi-b |\
-	rpi-cm |\
-	rpi-zero |\
-	rpi-zero-w)
+	raspberrypi,model-b |\
+	raspberrypi,model-zero |\
+	raspberrypi,model-zero-w)
 		status_led="led0"
 		;;
 	esac
diff --git a/target/linux/brcm2708/base-files/lib/brcm2708.sh b/target/linux/brcm2708/base-files/lib/brcm2708.sh
deleted file mode 100644
index 76e678ff97..0000000000
--- a/target/linux/brcm2708/base-files/lib/brcm2708.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2015-2016 OpenWrt.org
-# Copyright (C) 2017 LEDE project
-
-ifname=""
-
-brcm2708_detect() {
-	local board_name model
-
-	model=$(cat /proc/device-tree/model)
-	case "$model" in
-	"Raspberry Pi 2 Model B Rev"*)
-		board_name="rpi-2-b"
-		;;
-	"Raspberry Pi 3 Model B Rev"*)
-		board_name="rpi-3-b"
-		;;
-	"Raspberry Pi Compute Module Rev"*)
-		board_name="rpi-cm"
-		;;
-	"Raspberry Pi Model B Plus Rev"* |\
-	"Raspberry Pi Model B+ Rev"*)
-		board_name="rpi-b-plus"
-		;;
-	"Raspberry Pi Model B Rev"*)
-		board_name="rpi-b"
-		;;
-	"Raspberry Pi Zero Rev"*)
-		board_name="rpi-zero"
-		;;
-	"Raspberry Pi Zero W Rev"*)
-		board_name="rpi-zero-w"
-		;;
-	*)
-		board_name="unknown"
-		;;
-	esac
-
-	[ -e "/tmp/sysinfo" ] || mkdir -p "/tmp/sysinfo"
-
-	echo "$board_name" > /tmp/sysinfo/board_name
-	echo "$model" > /tmp/sysinfo/model
-}
diff --git a/target/linux/brcm2708/base-files/lib/preinit/01_preinit_do_brcm2708.sh b/target/linux/brcm2708/base-files/lib/preinit/01_preinit_do_brcm2708.sh
deleted file mode 100644
index 294364848d..0000000000
--- a/target/linux/brcm2708/base-files/lib/preinit/01_preinit_do_brcm2708.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2015 OpenWrt.org
-
-do_brcm2708() {
-	. /lib/brcm2708.sh
-
-	brcm2708_detect
-}
-
-boot_hook_add preinit_main do_brcm2708
diff --git a/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708 b/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708
index 95497cc586..76eb5905e8 100644
--- a/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708
+++ b/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708
@@ -6,10 +6,11 @@ set_preinit_iface() {
 	. /lib/functions.sh
 
 	case "$(board_name)" in
-	rpi-2-b |\
-	rpi-3-b |\
-	rpi-b |\
-	rpi-b-plus)
+	raspberrypi,2-model-b |\
+	raspberrypi,3-model-b |\
+	raspberrypi,model-b |\
+	raspberrypi,model-b-plus |\
+	raspberrypi,model-b-rev2)
 		ifname=eth0
 		;;
 	esac
diff --git a/target/linux/brcm2708/image/Makefile b/target/linux/brcm2708/image/Makefile
index 41730b6803..9ea9a07a9d 100644
--- a/target/linux/brcm2708/image/Makefile
+++ b/target/linux/brcm2708/image/Makefile
@@ -57,7 +57,7 @@ endef
 define Device/rpi
   DEVICE_TITLE := Raspberry Pi B/B+/CM/Zero/ZeroW
   DEVICE_DTS := bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm bcm2708-rpi-0-w
-  SUPPORTED_DEVICES := rpi-b rpi-b-plus rpi-cm rpi-zero-w
+  SUPPORTED_DEVICES := rpi-b rpi-b-plus rpi-cm rpi-zero rpi-zero-w raspberrypi,model-b raspberrypi,model-b-plus raspberrypi,compute-module-1 raspberrypi,model-b-rev2 raspberrypi,model-zero raspberrypi,model-zero-w
 endef
 ifeq ($(SUBTARGET),bcm2708)
   TARGET_DEVICES += rpi
@@ -66,7 +66,7 @@ endif
 define Device/rpi-2
   DEVICE_TITLE := Raspberry Pi 2B/3B/3CM
   DEVICE_DTS := bcm2709-rpi-2-b bcm2710-rpi-3-b bcm2710-rpi-cm3
-  SUPPORTED_DEVICES := rpi-2-b rpi-3-b rpi-cm
+  SUPPORTED_DEVICES := rpi-2-b rpi-3-b rpi-cm raspberrypi,2-model-b raspberrypi,3-model-b raspberrypi,compute-module-3
 endef
 ifeq ($(SUBTARGET),bcm2709)
   TARGET_DEVICES += rpi-2
@@ -76,7 +76,7 @@ define Device/rpi-3
   KERNEL_IMG := kernel8.img
   DEVICE_TITLE := Raspberry Pi 3B (64 bit)
   DEVICE_DTS := broadcom/bcm2710-rpi-3-b
-  SUPPORTED_DEVICES := rpi-3-b
+  SUPPORTED_DEVICES := rpi-3-b raspberrypi,3-model-b
 endef
 ifeq ($(SUBTARGET),bcm2710)
   TARGET_DEVICES += rpi-3
-- 
2.15.1




More information about the Lede-dev mailing list