You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Stijn Tintel f997478655 kernel: bump 4.9 to 4.9.67 7 years ago
..
armv8_32b layerscape: enable CONFIG_CRYPTO_ARC4 in kernel 4.9 7 years ago
armv8_64b layerscape: enable CONFIG_CRYPTO_ARC4 in kernel 4.9 7 years ago
image layerscape: add ls1012afrdm device support 7 years ago
patches-4.9 kernel: bump 4.9 to 4.9.67 7 years ago
Makefile layerscape: add linux 4.9 support 7 years ago
README layerscape: add a README for build and deployment 7 years ago
modules.mk layerscape: fix pfe module autoload issue 7 years ago

README


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<n>)
------------------------

2.3 Final firmware
------------------
Final firmware would be in bin/targets/layerscape/<subtarget>/, and
named as lede-layerscape-<subtarget>-<device>-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-<subtarget>-<device>-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-<subtarget>-<device>-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-<subtarget>-<device>-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-<subtarget>-<device>-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-<subtarget>-<device>-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-<subtarget>-<device>-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