layerscape: update README for SD card boot and new devices

This patch is to update the README since SD card boot support
and LS1012AFRWY/LS1021ATWR were introduced.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
This commit is contained in:
Yangbo Lu 2018-07-23 16:48:48 +08:00 committed by Hauke Mehrtens
parent 7016dd48f1
commit 0f44c7c8d1

View file

@ -4,10 +4,15 @@ Layerscape Quick Start
1. Layerscape target support 1. Layerscape target support
---------------------------- ----------------------------
* ARMv8 64-bit * ARMv8 64-bit
LS1012ARDB LS1012AFRDM LS1043ARDB LS1046ARDB LS1088ARDB LS2088ARDB LS1012ARDB LS1012AFRWY LS1043ARDB LS1046ARDB LS1088ARDB LS2088ARDB
(SD card boot support on LS1043ARDB/LS1046ARDB/LS1088ARDB)
* ARMv8 32-bit * ARMv8 32-bit
LS1012ARDB LS1012AFRDM LS1043ARDB LS1046ARDB LS1012ARDB LS1012AFRWY LS1043ARDB LS1046ARDB
* ARMv7
LS1021ATWR
(SD card boot support on LS1021ATWR)
2. Build 2. Build
@ -17,129 +22,94 @@ Before configuration and build, update and install package feeds.
$ ./scripts/feeds update -a $ ./scripts/feeds update -a
$ ./scripts/feeds install -a $ ./scripts/feeds install -a
2.1 make menuconfig * make menuconfig
------------------- Target System: "NXP Layerscape"
* For single device 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 System: "NXP Layerscape". Note: The first time make menuconfig would create a .config file which
Subtarget: "ARMv8 64-bit based boards" or "ARMv8 32-bit based boards" would include all dependencies for selected target. After that, make
Target Profile: (select device you want to build) menuconfig still could be used to modify packages. If want to change
other target, please remove .config and make menuconfig to select again.
Otherwise the packages selected in .config would be a mess.
For example, build firmware for 64-bit ls1043ardb. * make download (or make download -j<n>)
+---------------------------------------------+
| Target System (NXP Layerscape) ---> |
|---------------------------------------------|
| Subtarget (ARMv8 64-bit based boards) ---> |
|---------------------------------------------|
| Target Profile (ls1043ardb-armv8_64b) ---> |
+---------------------------------------------+
* For multiple devices * make (or make -j<n>)
Target System: "NXP Layerscape". * Final firmware/image
Subtarget: "ARMv8 64-bit based boards" or "ARMv8 32-bit based boards" Path: bin/targets/layerscape/<subtarget>/
Target Profile: "Multiple devices" Firmware for flash: openwrt-layerscape-<subtarget>-<device>-<rootfs>-firmware.bin
Target Devices: (select devices you want to build) Image for SD card: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sdcard.img
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: The first time make menuconfig would create a .config file which
would include all dependencies for selected target. After that, make
menuconfig still could be used to modify packages. If want to change
other target, please remove .config and make menuconfig to select again.
Otherwise the packages selected in .config would be a mess.
2.2 make (or make -j<n>)
------------------------
2.3 Final firmware
------------------
Final firmware would be in bin/targets/layerscape/<subtarget>/, and
named as openwrt-layerscape-<subtarget>-<device>-<rootfs>-firmware.bin.
3. Program firmware to NOR/QSPI flash 3. Program NOR/QSPI flash or SD card
------------------------------------- ------------------------------------
* LS1043ARDB (NOR flash) 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.
Start up from bank0, and program firmware to bank4 with below commands. 3.1 Program sdcard.img to SD card
Switch to bank4 to start up OpenWrt. ---------------------------------
sdcard.img could be programmed to SD card in either u-boot environment
or linux environment. After programming, configure the board to boot
from SD card.
=> tftp a0000000 <firmware_name>.bin * u-boot environment
=> protect off all
=> erase 64000000 +$filesize
=> cp.b a0000000 64000000 $filesize
=> cpld reset altbank
* LS2088ARDB (NOR flash) => tftp a0000000 <image_name>-sdcard.img
=> mmc write a0000000 0 a0000
Start up from bank0, and program firmware to bank4 with below commands. Note: The default sdcard.img size is 320MB. a0000 is the block number for 320MB.
Switch to bank4 to start up OpenWrt. blk_num = filesize / 512.
=> tftp a0000000 <firmware_name>.bin * linux environment
=> protect off all
=> erase 584000000 +$filesize
=> cp.b a0000000 584000000 $filesize
=> qix altbank
$ dd if=./<image_name>-sdcard.img of=/dev/mmcblkx
Note: Need to check the SD card device name to replace "mmcblkx".
3.2 Program firmware.bin to flash
---------------------------------
* LS1012ARDB (QSPI flash) * LS1012ARDB (QSPI flash)
Start up from bank1, and program firmware to bank2 with below commands. Start up from bank1, and program firmware to bank2 with below commands.
Switch to bank2 to start up OpenWrt. Switch to bank2 to start up OpenWrt.
=> tftp a0000000 <firmware_name>.bin => tftp a0000000 <firmware_name>-firmware.bin
=> i2c mw 0x24 0x7 0xfc;i2c mw 0x24 0x3 0xf5 => i2c mw 0x24 0x7 0xfc;i2c mw 0x24 0x3 0xf5
=> sf probe 0:0 => sf probe 0:0
=> sf erase 0 +$filesize => sf erase 0 +$filesize
=> sf write a0000000 0 $filesize => sf write a0000000 0 $filesize
=> reset => reset
* LS1012AFRDM (QSPI flash) * LS1043ARDB (NOR flash)
Start up from bank0, and program firmware to bank4 with below commands.
Switch to bank4 to start up OpenWrt.
LS1012AFRDM board only has one bank. Start up board, and program firmware => tftp a0000000 <firmware_name>-firmware.bin
with below commands. Reset to start up OpenWrt. => protect off all
=> erase 64000000 +$filesize
=> tftp 96000000 <firmware_name>.bin => cp.b a0000000 64000000 $filesize
=> sf probe 0:0 => cpld reset altbank
=> sf erase 0 +$filesize
=> sf write 96000000 0 $filesize
=> reset
* LS1046ARDB (QSPI flash) * LS1046ARDB (QSPI flash)
Start up from bank1, and program firmware to bank2 with below commands. Start up from bank1, and program firmware to bank2 with below commands.
Switch to bank2 to start up OpenWrt. Switch to bank2 to start up OpenWrt.
=> tftp a0000000 <firmware_name>.bin => tftp a0000000 <firmware_name>-firmware.bin
=> sf probe 0:1 => sf probe 0:1
=> sf erase 0 +$filesize => sf erase 0 +$filesize
=> sf write a0000000 0 $filesize => sf write a0000000 0 $filesize
=> cpld reset altbank => cpld reset altbank
* LS1088ARDB (QSPI flash) * LS1088ARDB (QSPI flash)
Start up from bank0, and program firmware to bank1 with below commands. Start up from bank0, and program firmware to bank1 with below commands.
Switch to bank1 to start up OpenWrt. Switch to bank1 to start up OpenWrt.
=> tftp a0000000 <firmware_name>.bin => tftp a0000000 <firmware_name>-firmware.bin
=> sf probe 0:1 => sf probe 0:1
=> sf erase 0 +$filesize => sf erase 0 +$filesize
=> sf write a0000000 0 $filesize => sf write a0000000 0 $filesize
@ -149,6 +119,35 @@ named as openwrt-layerscape-<subtarget>-<device>-<rootfs>-firmware.bin.
bank1 instead of 'qix altbank'. bank1 instead of 'qix altbank'.
=> i2c mw 66 50 20;i2c mw 66 10 20;i2c mw 66 10 21 => i2c mw 66 50 20;i2c mw 66 10 20;i2c mw 66 10 21
* LS2088ARDB (NOR flash)
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
3.3 Program LS1012AFRWY
-----------------------
* LS1012AFRWY (QSPI flash + SD card)
LS1012AFRWY only supports 2MB QSPI flash. We have to put u-boot, and
some firmwares on QSPI flash, and kernel/dtb/rootfs on SD card.
So both firmware.bin and sdcard.img are needed for OpenWrt starting up.
To program sdcard.img, please use linux command described in 3.1 on a
linux machine.
To program firmware.bin, start up board from QSPI flash, and program
firmware with below commands. Reset to start up OpenWrt. (LS1012AFRWY
supports only one bank.)
=> tftp 96000000 <firmware_name>-firmware.bin
=> sf probe 0:0
=> sf erase 0 +$filesize
=> sf write 96000000 0 $filesize
=> reset
4. Known issues and limitation 4. Known issues and limitation
------------------------------ ------------------------------
@ -161,10 +160,7 @@ named as openwrt-layerscape-<subtarget>-<device>-<rootfs>-firmware.bin.
=> setenv eth1addr 00:04:9F:04:65:4c => setenv eth1addr 00:04:9F:04:65:4c
5. Other references and sources 5. Other references
------------------------------- -------------------
- NXP LSDK site: https://lsdk.github.io/ - NXP LSDK site: https://lsdk.github.io/
- OpenWrt documentation: https://openwrt.org/docs/start
- NXP LSDK github: https://github.com/qoriq-open-source
- LEDE documentation: https://lede-project.org/docs/start