Layerscape Quick Start 1. Layerscape target support ---------------------------- * ARMv8 64-bit LS1012ARDB LS1012AFRDM LS1043ARDB LS1046ARDB LS1088ARDB LS2088ARDB * ARMv8 32-bit LS1012ARDB LS1012AFRDM LS1043ARDB LS1046ARDB 2. Build -------- 2.1 make menuconfig ------------------- * For single device Target System: "NXP Layerscape". Subtarget: "ARMv8 64-bit based boards" or "ARMv8 32-bit based boards" Target Profile: (select device you want to build) For example, build firmware for 64-bit ls1043ardb. +---------------------------------------------+ | Target System (NXP Layerscape) ---> | |---------------------------------------------| | Subtarget (ARMv8 64-bit based boards) ---> | |---------------------------------------------| | Target Profile (ls1043ardb-armv8_64b) ---> | +---------------------------------------------+ * For multiple devices Target System: "NXP Layerscape". Subtarget: "ARMv8 64-bit based boards" or "ARMv8 32-bit based boards" Target Profile: "Multiple devices" Target Devices: (select devices you want to build) For example, build firmware for all 64-bit devices. Target Devices ---> +-----------------------------------------------------------------+ | [*] Enable all profiles by default | |-----------------------------------------------------------------| | [ ] Use a per-device root filesystem that adds profile packages | |-----------------------------------------------------------------| | [*] ls1012afrdm-armv8_64b ---- | |-----------------------------------------------------------------| | [*] ls1012ardb-armv8_64b ---- | |-----------------------------------------------------------------| | [*] ls1043ardb-armv8_64b ---- | |-----------------------------------------------------------------| | [*] ls1046ardb-armv8_64b ---- | |-----------------------------------------------------------------| | [*] ls1088ardb-armv8_64b ---- | |-----------------------------------------------------------------| | [*] ls2088ardb-armv8_64b ---- | +-----------------------------------------------------------------+ Note: per-device root filesystem hasn't been supported for now. 2.2 make (or make -j) ------------------------ 2.3 Final firmware ------------------ Final firmware would be in bin/targets/layerscape//, and named as lede-layerscape---squashfs-firmware.bin. 3. Program firmware to NOR/QSPI flash ------------------------------------- * LS1043ARDB (NOR flash) Start up from bank0, and program firmware to bank4 with below commands. Switch to bank4 to start up LEDE. => tftp a0000000 lede-layerscape---squashfs-firmware.bin => protect off all => erase 64000000 +$filesize => cp.b a0000000 64000000 $filesize => cpld reset altbank * LS2088ARDB (NOR flash) Start up from bank0, and program firmware to bank4 with below commands. Switch to bank4 to start up LEDE. => tftp a0000000 lede-layerscape---squashfs-firmware.bin => protect off all => erase 584000000 +$filesize => cp.b a0000000 584000000 $filesize => qix altbank * LS1012ARDB (QSPI flash) Start up from bank1, and program firmware to bank2 with below commands. Switch to bank2 to start up LEDE. => tftp a0000000 lede-layerscape---squashfs-firmware.bin => i2c mw 0x24 0x7 0xfc;i2c mw 0x24 0x3 0xf5 => sf probe 0:0 => sf erase 0 +$filesize => sf write a0000000 0 $filesize => reset * LS1012AFRDM (QSPI flash) LS1012AFRDM board only has one bank. Start up board, and program firmware with below commands. Reset to start up LEDE. => tftp 96000000 lede-layerscape---squashfs-firmware.bin => sf probe 0:0 => sf erase 0 +$filesize => sf write 96000000 0 $filesize => reset * LS1046ARDB (QSPI flash) Start up from bank1, and program firmware to bank2 with below commands. Switch to bank2 to start up LEDE. => tftp a0000000 lede-layerscape---squashfs-firmware.bin => sf probe 0:1 => sf erase 0 +$filesize => sf write a0000000 0 $filesize => cpld reset altbank * LS1088ARDB (QSPI flash) Start up from bank0, and program firmware to bank1 with below commands. Switch to bank1 to start up LEDE. => tftp a0000000 lede-layerscape---squashfs-firmware.bin => sf probe 0:1 => sf erase 0 +$filesize => sf write a0000000 0 $filesize => qix altbank Note: old version u-boot of ls1088ardb may use below commands to switch to bank1 instead of 'qix altbank'. => i2c mw 66 50 20;i2c mw 66 10 20;i2c mw 66 10 21 4. Other references and sources ------------------------------- - NXP LSDK site: https://lsdk.github.io/ - NXP LSDK github: https://github.com/qoriq-open-source - LEDE documentation: https://lede-project.org/docs/start