layerscape: Add ls1028ardb support

Add support for NXP LS1028ARDB reference board. It's a dual core
Coretex-A53 board with 4G RAM and 5 Eternet ports (4 ports are
connected to MSCC Felix switch).

The original layout of NXP board has been kept but firmware
images are adapted to be more sysupgrade friendly. At the moment
NOR and SD boots are supported.

NOR flash instructions:
* make sd card with sdboot image
* boot
* write firmware image to spi flash
$ mtd write /tmp/openwrt-layerscape-armv8_64b-fsl_ls1028a-rdb-
squashfs-firmware.bin /dev/mtd0
* change jumper to NOR boot and reset

V3:
 * Added board specific network defaults for lan/wan

v2:
 * Added INA220 curent monitor, PCF2129 RTC clock and NXP
   SA56004ED temperature sensor to default packages
 * removed compat fixups for thist board

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@protonmail.ch>
This commit is contained in:
Wojciech Dubowik 2022-07-19 13:35:12 +02:00 committed by Hauke Mehrtens
parent 7700a6f826
commit 924a5aabc7
5 changed files with 67 additions and 0 deletions

View File

@ -12,6 +12,7 @@ users can bring up the board without difficulty.
LS1012ARDB (QSPI NOR boot)
LS1012AFRDM (QSPI NOR boot)
LS1012AFRWY (QSPI NOR boot)
LS1028ARDB (QSPI NOR boot | SD card boot)
LS1043ARDB (NOR boot | SD card boot)
LS1046ARDB (QSPI NOR boot | SD card boot)
LS1046AFRWY (QSPI NOR boot | SD card boot)
@ -95,6 +96,15 @@ from SD card. (sdcard.img images are gz-iped to save space. Please extract them
=> sf write a0000000 0 $filesize
=> reset
* LS1028ARDB
Board has only one bank. Those commands will replace stock bootloader
and firmware.
=> tftp a0000000 <firmware_name>-firmware.bin
=> sf probe 0:0
=> sf erase 0 +$filesize
=> sf write a0000000 0 $filesize
=> reset
* LS1043ARDB
Start up from bank0, and program firmware to bank4 with below commands.
Switch to bank4 to start up OpenWrt.

View File

@ -5,6 +5,10 @@
board_config_update
case "$(board_name)" in
fsl,ls1028a-rdb|\
fsl,ls1028a-rdb-sdboot)
ucidef_set_interfaces_lan_wan "swp0 swp1 swp2 swp3" "eth0"
;;
traverse,ls1043v)
ucidef_set_interface_lan "eth0 eth1 eth2 eth3"
ucidef_set_interface_wan "eth4"

View File

@ -10,6 +10,7 @@ move_config() {
fsl,ls1012a-frwy-sdboot | \
fsl,ls1021a-iot-sdboot | \
fsl,ls1021a-twr-sdboot | \
fsl,ls1028a-rdb-sdboot | \
fsl,ls1043a-rdb-sdboot | \
fsl,ls1046a-frwy-sdboot | \
fsl,ls1046a-rdb-sdboot | \

View File

@ -71,6 +71,7 @@ platform_copy_config() {
fsl,ls1012a-frwy-sdboot | \
fsl,ls1021a-iot-sdboot | \
fsl,ls1021a-twr-sdboot | \
fsl,ls1028a-rdb-sdboot | \
fsl,ls1043a-rdb-sdboot | \
fsl,ls1046a-frwy-sdboot | \
fsl,ls1046a-rdb-sdboot | \
@ -95,6 +96,8 @@ platform_check_image() {
fsl,ls1021a-iot-sdboot | \
fsl,ls1021a-twr | \
fsl,ls1021a-twr-sdboot | \
fsl,ls1028a-rdb | \
fsl,ls1028a-rdb-sdboot | \
fsl,ls1043a-rdb | \
fsl,ls1043a-rdb-sdboot | \
fsl,ls1046a-frwy | \
@ -130,6 +133,7 @@ platform_do_upgrade() {
fsl,ls1012a-frdm | \
fsl,ls1012a-rdb | \
fsl,ls1021a-twr | \
fsl,ls1028a-rdb | \
fsl,ls1043a-rdb | \
fsl,ls1046a-frwy | \
fsl,ls1046a-rdb | \
@ -142,6 +146,7 @@ platform_do_upgrade() {
fsl,ls1012a-frwy-sdboot | \
fsl,ls1021a-iot-sdboot | \
fsl,ls1021a-twr-sdboot | \
fsl,ls1028a-rdb-sdboot | \
fsl,ls1043a-rdb-sdboot | \
fsl,ls1046a-frwy-sdboot | \
fsl,ls1046a-rdb-sdboot | \

View File

@ -98,6 +98,53 @@ define Device/fsl_ls1012a-frwy-sdboot
endef
TARGET_DEVICES += fsl_ls1012a-frwy-sdboot
define Device/fsl_ls1028a-rdb
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1028A-RDB
DEVICE_VARIANT := Default
DEVICE_DTS := freescale/fsl-ls1028a-rdb
KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
DEVICE_PACKAGES += \
trusted-firmware-a-ls1028a-rdb \
kmod-hwmon-ina2xx \
kmod-hwmon-lm90 \
kmod-rtc-pcf2127
IMAGE/firmware.bin := \
ls-clean | \
ls-append $(1)-bl2.pbl | pad-to 1M | \
ls-append $(1)-fip.bin | pad-to 5M | \
ls-append $(1)-uboot-env.bin | pad-to 16M | \
append-kernel | \
append-rootfs | pad-rootfs | check-size
IMAGE/sysupgrade.bin := \
append-kernel | \
append-rootfs | pad-rootfs | \
check-size $(LS_SYSUPGRADE_IMAGE_SIZE) | append-metadata
endef
TARGET_DEVICES += fsl_ls1028a-rdb
define Device/fsl_ls1028a-rdb-sdboot
$(Device/fsl-sdboot)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1028A-RDB
DEVICE_VARIANT := SD Card Boot
DEVICE_DTS := freescale/fsl-ls1028a-rdb
DEVICE_PACKAGES += \
trusted-firmware-a-ls1028a-rdb-sdboot \
kmod-hwmon-ina2xx \
kmod-hwmon-lm90 \
kmod-rtc-pcf2127
IMAGE/sdcard.img.gz := \
ls-clean | \
ls-append-sdhead $(1) | pad-to 4K | \
ls-append $(1)-bl2.pbl | pad-to 1M | \
ls-append $(1)-fip.bin | pad-to 5M | \
ls-append $(1)-uboot-env.bin | pad-to 16M | \
ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
endef
TARGET_DEVICES += fsl_ls1028a-rdb-sdboot
define Device/fsl_ls1043a-rdb
$(Device/fix-sysupgrade)
DEVICE_VENDOR := NXP