layerscape: Add ls1028ardb support
authorWojciech Dubowik <Wojciech.Dubowik@protonmail.ch>
Tue, 19 Jul 2022 11:35:12 +0000 (13:35 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 7 May 2023 12:50:50 +0000 (14:50 +0200)
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>
target/linux/layerscape/README
target/linux/layerscape/base-files/etc/board.d/02_network
target/linux/layerscape/base-files/lib/preinit/79_move_config
target/linux/layerscape/base-files/lib/upgrade/platform.sh
target/linux/layerscape/image/armv8_64b.mk

index a8d1846468709942f8be6cb87dee048b0adbc25a..1e3f707b4f18f1025e5c49a7a831dbf45ade57ea 100644 (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.
index b46f0b06215cb7a7b7b58db01d70d2d12584470d..172172c12c6760e19d12b0946cdc95d1b61cffa3 100644 (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"
index 901a289b66f6fbb22a52b1083e20cbeba38af72d..5519e059d9d75bfa422c83d5627b045c7c4d0bdf 100644 (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 | \
index 857be5a744b3c3290efa2b76256ec587007f49cd..e88dfdf145c9d442b77f4d5267b11385b6d1fd1e 100644 (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 | \
index 4a69f1c19e1c9641b549caa1066c2b49db33143c..f5a6a055fb20a5b0bc269c472c5373449842b215 100644 (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