Layerscape Quick Start
-1. Layerscape target support
+This is a quick start guide for Layerscape specific usage, like introducing
+how to configure, build, and deploy OpenWrt to Layerscape boards, so that
+users can bring up the board without difficulty.
+
+
+1. Target support
----------------------------
* ARMv8 64-bit
- LS1012ARDB LS1012AFRWY LS1043ARDB LS1046ARDB LS1088ARDB LS2088ARDB
- (SD card boot support on LS1043ARDB/LS1046ARDB/LS1088ARDB)
+ LS1012ARDB (QSPI NOR boot)
+ LS1012AFRDM (QSPI NOR boot)
+ LS1012AFRWY (QSPI NOR boot)
+ LS1043ARDB (NOR boot | SD card boot)
+ LS1046ARDB (QSPI NOR boot | SD card boot)
+ LS1046AFRWY (QSPI NOR boot | SD card boot)
+ LS1088ARDB (QSPI NOR boot | SD card boot)
+ LS2088ARDB (NOR boot)
+ LX2160ARDB Rev2.0 (FlexSPI NOR boot | SD card boot)
* ARMv7
- LS1021ATWR LS1021AIOT
- (SD card boot support on LS1021ATWR/LS1021AIOT)
+ LS1021ATWR (NOR boot | SD card boot)
+ LS1021AIOT (SD card boot)
2. Build
Subtarget: (Select subtarget)
Target Profile: (Select device, or "Multiple devices")
Target Devices: (Select devices. Available when Target Profile is "Multiple devices")
- Target Images: (Disable "GZip images" if don't want to unzip manually to use the images.)
+ Target Images: (Disable "GZip images" if you don't want to unzip manually to use the images.)
Note: The first time make menuconfig would create a .config file which
would include all dependencies for selected target. After that, make
* make (or make -j<n>)
* Final firmware/image
- Path: bin/targets/layerscape/<subtarget>/
+ Path: bin/targets/layerscape/<subtarget>/
Firmware for flash: openwrt-layerscape-<subtarget>-<device>-<rootfs>-firmware.bin
- Image for SD card: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sdcard.img.gz
- Sysupgrade images: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sysupgrade.bin
+ Image for SD card: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sdcard.img.gz
+ Sysupgrade images: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sysupgrade.bin
-3. Program NOR/QSPI flash or SD card
-------------------------------------
-The firmware.bin or sdcard.img (after extract from gz) is an all-in-one image including all
-things for OpenWrt staring up. (except LS1012AFRWY. Refer to 3.3.)
+3. Deploy
+---------
+The firmware.bin or sdcard.img is an all-in-one image including all things
+for OpenWrt staring up except LS1012AFRWY (Refer to 3.3).
If you want to install all things into flash, please use firmware.bin.
If you want to install all things into SD card, please use sdcard.img.
3.2 Program firmware.bin to flash
---------------------------------
-* LS1012FRDM (QSPI flash)
- Board have only one nor flash bank. Those commands will replace stock
- bootloader and firmware. Please refer point 4 for MAC recovery.
-
- => tftp a0000000 <firmware_name>-firmware.bin
- => sf probe 0:0
- => sf erase 0 +$filesize
- => sf write a0000000 0 $filesize
- => reset
-
-* LS1012ARDB (QSPI flash)
+* LS1012ARDB
Start up from bank1, and program firmware to bank2 with below commands.
Switch to bank2 to start up OpenWrt.
=> sf write a0000000 0 $filesize
=> reset
-* LS1043ARDB (NOR flash)
+* LS1043ARDB
Start up from bank0, and program firmware to bank4 with below commands.
Switch to bank4 to start up OpenWrt.
=> cp.b a0000000 64000000 $filesize
=> cpld reset altbank
-* LS1046ARDB (QSPI flash)
+* LS1046ARDB
Start up from bank1, and program firmware to bank2 with below commands.
Switch to bank2 to start up OpenWrt.
=> sf write a0000000 0 $filesize
=> cpld reset altbank
-* LS1088ARDB (QSPI flash)
+* LS2088ARDB
+ Start up from bank0, and program firmware to bank4 with below commands.
+ Switch to bank4 to start up OpenWrt.
+
+ => tftp a0000000 <firmware_name>-firmware.bin
+ => protect off all
+ => erase 584000000 +$filesize
+ => cp.b a0000000 584000000 $filesize
+ => qix altbank
+
+* LS1012FRDM/LS1046AFRWY
+ 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
+
+* LS1088ARDB/LX2160ARDB Rev2.0
Start up from bank0, and program firmware to bank1 with below commands.
Switch to bank1 to start up OpenWrt.
bank1 instead of 'qix altbank'.
=> i2c mw 66 50 20;i2c mw 66 10 20;i2c mw 66 10 21
-* LS2088ARDB (NOR flash)
+* LS1021ATWR
Start up from bank0, and program firmware to bank4 with below commands.
Switch to bank4 to start up OpenWrt.
=> tftp a0000000 <firmware_name>-firmware.bin
=> protect off all
- => erase 584000000 +$filesize
- => cp.b a0000000 584000000 $filesize
- => qix altbank
+ => erase 64000000 +$filesize
+ => cp.b a0000000 64000000 $filesize
+ => boot_bank 1
3.3 Program LS1012AFRWY
-----------------------
4. Known issues and limitation
------------------------------
-* u-boot may fail to read MAC addresses from EEPROM on some boards and there
+* U-boot may fail to read MAC addresses from EEPROM on some boards and there
won't be MAC addresses set in environment. This may cause kernel fails to
probe these network interfaces. The workaround is to set MAC addresses
manually, for example,
=> setenv eth1addr 00:04:9F:04:65:4c
=> saveenv
+* In case users want to refer Layerscape SDK doc for network configuration,
+ like TSN (Time-Sensitive Networking) on LS1028A, the OpenWrt LAN/WAN router
+ setting should be removed before that.
+
+ # ubus call network.interface.lan remove
+ # ubus call network.interface.wan remove
+ # ubus call network.interface.wan6 remove
+
+ And firewall may be needed to stop.
+
+ # /etc/init.d/firewall stop
+
5. Other references
-------------------
-- NXP LSDK site: https://lsdk.github.io/
+- NXP LSDK source: https://lsdk.github.io/
+
+- NXP LSDK site: https://www.nxp.com/design/software/embedded-software/linux-software-and-development-tools/layerscape-software-development-kit:LAYERSCAPE-SDK
+
- OpenWrt documentation: https://openwrt.org/docs/start