openwrt/target/linux/layerscape
Yangbo Lu 5f36f3193f layerscape: update build guide in README
Added package feeds updating and installing in build guide
of README.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2018-02-13 10:01:49 +01:00
..
armv8_32b target: disable CONFIG_PROC_PAGE_MONITOR on most targets 2018-01-13 15:04:15 +01:00
armv8_64b target: disable CONFIG_PROC_PAGE_MONITOR on most targets 2018-01-13 15:04:15 +01:00
image layerscape: add ls1012afrdm device support 2017-11-10 23:00:49 +01:00
patches-4.9 kernel: bump 4.9 to 4.9.77 2018-01-20 20:22:01 +01:00
Makefile layerscape: activate fpu feature 2018-01-02 07:24:46 +01:00
README layerscape: update build guide in README 2018-02-13 10:01:49 +01:00
modules.mk layerscape: fix pfe module autoload issue 2017-11-10 23:00:50 +01:00

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
--------
Before configuration and build, update and install package feeds.

$ ./scripts/feeds update -a
$ ./scripts/feeds install -a

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