Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
222
target/linux/layerscape/README
Normal file
222
target/linux/layerscape/README
Normal file
@@ -0,0 +1,222 @@
|
||||
|
||||
Layerscape Quick Start
|
||||
|
||||
This is a quick start guide for Layerscape specific usage, like introducing
|
||||
how to configure, build, and deploy OpenWrt to Layerscape boards, so that
|
||||
users can bring up the board without difficulty.
|
||||
|
||||
|
||||
1. Target support
|
||||
----------------------------
|
||||
* ARMv8 64-bit
|
||||
LS1012ARDB (QSPI NOR boot)
|
||||
LS1012AFRDM (QSPI NOR boot)
|
||||
LS1012AFRWY (QSPI NOR boot)
|
||||
LS1028ARDB (QSPI NOR boot | SD card boot)
|
||||
LS1043ARDB (NOR boot | SD card boot)
|
||||
LS1046ARDB (QSPI NOR boot | SD card boot)
|
||||
LS1046AFRWY (QSPI NOR boot | SD card boot)
|
||||
LS1088ARDB (QSPI NOR boot | SD card boot)
|
||||
LS2088ARDB (NOR boot)
|
||||
LX2160ARDB Rev2.0 (FlexSPI NOR boot | SD card boot)
|
||||
|
||||
* ARMv7
|
||||
LS1021ATWR (NOR boot | SD card boot)
|
||||
LS1021AIOT (SD card boot)
|
||||
|
||||
|
||||
2. Build
|
||||
--------
|
||||
Before configuration and build, update and install package feeds.
|
||||
|
||||
$ ./scripts/feeds update -a
|
||||
$ ./scripts/feeds install -a
|
||||
|
||||
* make menuconfig
|
||||
Target System: "NXP Layerscape"
|
||||
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 you don't want to unzip manually to use the images.)
|
||||
|
||||
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.
|
||||
|
||||
* make download (or make download -j<n>)
|
||||
|
||||
* make (or make -j<n>)
|
||||
|
||||
* Final firmware/image
|
||||
Path: bin/targets/layerscape/<subtarget>/
|
||||
Firmware for flash: openwrt-layerscape-<subtarget>-<device>-<rootfs>-firmware.bin
|
||||
Image for SD card: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sdcard.img.gz
|
||||
Sysupgrade images: openwrt-layerscape-<subtarget>-<device>-<rootfs>-sysupgrade.bin
|
||||
|
||||
|
||||
3. Deploy
|
||||
---------
|
||||
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.
|
||||
|
||||
3.1 Program sdcard.img to SD card
|
||||
---------------------------------
|
||||
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. (sdcard.img images are gz-iped to save space. Please extract them first.)
|
||||
|
||||
* u-boot environment
|
||||
|
||||
=> tftp a0000000 <image_name>-sdcard.img
|
||||
=> mmc write a0000000 0 a0000
|
||||
|
||||
Note: The default sdcard.img size is 320MB. a0000 is the block number for 320MB.
|
||||
blk_num = filesize / 512.
|
||||
|
||||
* linux environment
|
||||
|
||||
$ 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
|
||||
Start up from bank1, and program firmware to bank2 with below commands.
|
||||
Switch to bank2 to start up OpenWrt.
|
||||
|
||||
=> tftp a0000000 <firmware_name>-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
|
||||
|
||||
* LS1028ARDB
|
||||
Board has only one bank. Those commands will replace stock bootloader
|
||||
and firmware.
|
||||
=> tftp a0000000 <firmware_name>-firmware.bin
|
||||
=> sf probe 0:0
|
||||
=> sf erase 0 +$filesize
|
||||
=> sf write a0000000 0 $filesize
|
||||
=> reset
|
||||
|
||||
* LS1043ARDB
|
||||
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 64000000 +$filesize
|
||||
=> cp.b a0000000 64000000 $filesize
|
||||
=> cpld reset altbank
|
||||
|
||||
* LS1046ARDB
|
||||
Start up from bank1, and program firmware to bank2 with below commands.
|
||||
Switch to bank2 to start up OpenWrt.
|
||||
|
||||
=> tftp a0000000 <firmware_name>-firmware.bin
|
||||
=> sf probe 0:1
|
||||
=> sf erase 0 +$filesize
|
||||
=> sf write a0000000 0 $filesize
|
||||
=> cpld reset altbank
|
||||
|
||||
* LS2088ARDB
|
||||
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
|
||||
|
||||
* LS1012FRDM/LS1046AFRWY
|
||||
Board has only one bank. Those commands will replace stock bootloader
|
||||
and firmware.
|
||||
|
||||
=> tftp a0000000 <firmware_name>-firmware.bin
|
||||
=> sf probe 0:0
|
||||
=> sf erase 0 +$filesize
|
||||
=> sf write a0000000 0 $filesize
|
||||
=> reset
|
||||
|
||||
* LS1088ARDB/LX2160ARDB Rev2.0
|
||||
Start up from bank0, and program firmware to bank1 with below commands.
|
||||
Switch to bank1 to start up OpenWrt.
|
||||
|
||||
=> tftp a0000000 <firmware_name>-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
|
||||
|
||||
* LS1021ATWR
|
||||
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 64000000 +$filesize
|
||||
=> cp.b a0000000 64000000 $filesize
|
||||
=> boot_bank 1
|
||||
|
||||
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
|
||||
------------------------------
|
||||
* U-boot may fail to read MAC addresses from EEPROM on some boards and there
|
||||
won't be MAC addresses set in environment. This may cause kernel fails to
|
||||
probe these network interfaces. The workaround is to set MAC addresses
|
||||
manually, for example,
|
||||
|
||||
=> setenv ethaddr 00:04:9F:04:65:4b
|
||||
=> setenv eth1addr 00:04:9F:04:65:4c
|
||||
=> saveenv
|
||||
|
||||
* In case users want to refer Layerscape SDK doc for network configuration,
|
||||
like TSN (Time-Sensitive Networking) on LS1028A, the OpenWrt LAN/WAN router
|
||||
setting should be removed before that.
|
||||
|
||||
# ubus call network.interface.lan remove
|
||||
# ubus call network.interface.wan remove
|
||||
# ubus call network.interface.wan6 remove
|
||||
|
||||
And firewall may be needed to stop.
|
||||
|
||||
# /etc/init.d/firewall stop
|
||||
|
||||
|
||||
5. Other references
|
||||
-------------------
|
||||
- NXP LSDK source: https://lsdk.github.io/
|
||||
|
||||
- NXP LSDK site: https://www.nxp.com/design/software/embedded-software/linux-software-and-development-tools/layerscape-software-development-kit:LAYERSCAPE-SDK
|
||||
|
||||
- OpenWrt documentation: https://openwrt.org/docs/start
|
||||
Reference in New Issue
Block a user