Skip to content

Commit

Permalink
qoriq: add support for WatchGuard Firebox M300
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
stintel committed Dec 21, 2021
1 parent 080a769 commit 3fda160
Show file tree
Hide file tree
Showing 6 changed files with 450 additions and 0 deletions.
19 changes: 19 additions & 0 deletions package/boot/uboot-envtools/files/qoriq
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[ -e /etc/config/ubootenv ] && exit 0

touch /etc/config/ubootenv

. /lib/uboot-envtools.sh
. /lib/functions.sh

board=$(board_name)

case "$board" in
watchguard,firebox-m300)
ubootenv_add_uci_config "/dev/mtd9" "0x0" "0x2000" "0x10000"
;;
esac

config_load ubootenv
config_foreach ubootenv_add_app_config ubootenv

exit 0
38 changes: 38 additions & 0 deletions target/linux/qoriq/base-files/etc/board.d/02_network
Original file line number Diff line number Diff line change
@@ -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
17 changes: 17 additions & 0 deletions target/linux/qoriq/base-files/lib/preinit/79_move_config
Original file line number Diff line number Diff line change
@@ -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
36 changes: 36 additions & 0 deletions target/linux/qoriq/base-files/lib/upgrade/platform.sh
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 3fda160

Please sign in to comment.