Support new devices LS1046AFRWY and LX2160ARDB in README. Clean up README, and add missing LS1021ATWR deploy guide. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> [adjust set of devices added, update commit message/title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
		
			
				
	
	
		
			213 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			213 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
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)
 | 
						|
  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
 | 
						|
 | 
						|
* 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
 |