aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/qoriq/base-files
diff options
context:
space:
mode:
authorStijn Tintel <stijn@linux-ipv6.be>2021-08-07 02:41:11 +0300
committerStijn Tintel <stijn@linux-ipv6.be>2021-12-21 21:37:46 +0200
commit3fda16078b9979be836df0d156ca0dc0a0778f91 (patch)
tree8a91413adcd9a24e16fbfc0cfadede97d38916d2 /target/linux/qoriq/base-files
parent080a769b4da8dfad8485d82ff94f5e844e561696 (diff)
downloadupstream-3fda16078b9979be836df0d156ca0dc0a0778f91.tar.gz
upstream-3fda16078b9979be836df0d156ca0dc0a0778f91.tar.bz2
upstream-3fda16078b9979be836df0d156ca0dc0a0778f91.zip
qoriq: add support for WatchGuard Firebox M300
This device is based on NXP's QorIQ T2081QDS board, with a quad-core dual-threaded 1.5 GHz ppc64 CPU and 4GB ECC RAM. The board has 5 ethernet interfaces, of which 3 are connected to the ethernet ports on the front panel. The other 2 are internally connected to a Marvell 88E6171 switch; the other 5 ports of this switch are also connected to the ethernet ports on the front panel. Installation: write the sdcard image to an SD card. Stock U-Boot will not boot, wait for it to fail then run these commands: setenv OpenWrt_fdt image-watchguard-firebox-m300.dtb setenv OpenWrt_kernel watchguard_firebox-m300-kernel.bin setenv wgBootSysA 'setenv bootargs root=/dev/mmcblk0p2 rw rootdelay=2 console=$consoledev,$baudrate fsl_dpaa_fman.fsl_fm_max_frm=1530; ext2load mmc 0:1 $fdtaddr $OpenWrt_fdt; ext2load mmc 0:1 $loadaddr $OpenWrt_kernel; bootm $loadaddr - $fdtaddr' saveenv reset The default U-Boot boot entry will now boot OpenWrt from the SD card. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>
Diffstat (limited to 'target/linux/qoriq/base-files')
-rw-r--r--target/linux/qoriq/base-files/etc/board.d/02_network38
-rw-r--r--target/linux/qoriq/base-files/lib/preinit/79_move_config17
-rwxr-xr-xtarget/linux/qoriq/base-files/lib/upgrade/platform.sh36
3 files changed, 91 insertions, 0 deletions
diff --git a/target/linux/qoriq/base-files/etc/board.d/02_network b/target/linux/qoriq/base-files/etc/board.d/02_network
new file mode 100644
index 0000000000..35b7ce9f32
--- /dev/null
+++ b/target/linux/qoriq/base-files/etc/board.d/02_network
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+. /lib/functions/uci-defaults.sh
+. /lib/functions.sh
+. /lib/functions/system.sh
+
+board_config_update
+board=$(board_name)
+
+wg_set_opt_interface() {
+ local device="$1"
+ local offset="$2"
+
+ ucidef_set_interface "$device" device "$device" protocol static ipaddr "10.0.${offset}.1" netmask 255.255.255.0
+}
+
+case "$board" in
+watchguard,firebox-m300)
+ ucidef_set_interfaces_lan_wan "eth1" "eth0"
+ wg_set_opt_interface "eth2" "2"
+
+ sweth_mac_offset=0x186d
+
+ for sweth in /sys/class/net/sweth*; do
+ device="$(basename "$sweth")"
+ mac="$(mtd_get_mac_text wg_cfg0 "$sweth_mac_offset")"
+ switchports="$switchports $device"
+ ucidef_set_network_device_mac "$device" "$mac"
+ wg_set_opt_interface "$device" "${device#sweth}"
+ sweth_mac_offset=$(printf "0x%X\n" $(( $sweth_mac_offset + 0x14)))
+ done
+
+ ;;
+esac
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/qoriq/base-files/lib/preinit/79_move_config b/target/linux/qoriq/base-files/lib/preinit/79_move_config
new file mode 100644
index 0000000000..54dd579660
--- /dev/null
+++ b/target/linux/qoriq/base-files/lib/preinit/79_move_config
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+. /lib/functions.sh
+. /lib/upgrade/common.sh
+
+move_config() {
+ local partdev
+
+ if export_bootdevice && export_partdevice partdev 1; then
+ mkdir -p /boot
+ mount -o rw,noatime "/dev/$partdev" /boot
+ [ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" /
+ umount /boot
+ fi
+}
+
+boot_hook_add preinit_mount_root move_config
diff --git a/target/linux/qoriq/base-files/lib/upgrade/platform.sh b/target/linux/qoriq/base-files/lib/upgrade/platform.sh
new file mode 100755
index 0000000000..1392d5eb22
--- /dev/null
+++ b/target/linux/qoriq/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,36 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+ case "$(board_name)" in
+ watchguard,firebox-m300)
+ legacy_sdcard_check_image "$1"
+ ;;
+ *)
+ return 0
+ ;;
+ esac
+}
+
+platform_copy_config() {
+ case "$(board_name)" in
+ watchguard,firebox-m300)
+ legacy_sdcard_copy_config "$1"
+ ;;
+ *)
+ return 0
+ esac
+}
+
+platform_do_upgrade() {
+ case "$(board_name)" in
+ watchguard,firebox-m300)
+ legacy_sdcard_do_upgrade "$1"
+ ;;
+ *)
+ default_do_upgrade "$1"
+ ;;
+ esac
+}