openwrtv3/target/linux/layerscape
Jo-Philipp Wich 7e99a6ba69 target: disable CONFIG_PROC_PAGE_MONITOR on most targets
Disable CONFIG_PROC_PAGE_MONITOR in most places and only keep it enabled
for virtual targets such as malta or potent ones like x86.

This saves up to 4KB of uncompressed kernel size and significantly
decreases CPU load under certain workloads.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-13 15:04:15 +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.76 2018-01-11 20:32:36 +01:00
Makefile layerscape: activate fpu feature 2018-01-02 07:24:46 +01:00
modules.mk layerscape: fix pfe module autoload issue 2017-11-10 23:00:50 +01:00
README layerscape: add a README for build and deployment 2017-11-10 23:00:50 +01:00

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