layerscape: update README
[openwrt/staging/mkresin.git] / target / linux / layerscape / README
1
2 Layerscape Quick Start
3
4 1. Layerscape target support
5 ----------------------------
6 * ARMv8 64-bit
7 LS1012ARDB LS1012AFRDM LS1043ARDB LS1046ARDB LS1088ARDB LS2088ARDB
8
9 * ARMv8 32-bit
10 LS1012ARDB LS1012AFRDM LS1043ARDB LS1046ARDB
11
12
13 2. Build
14 --------
15 Before configuration and build, update and install package feeds.
16
17 $ ./scripts/feeds update -a
18 $ ./scripts/feeds install -a
19
20 2.1 make menuconfig
21 -------------------
22 * For single device
23
24 Target System: "NXP Layerscape".
25 Subtarget: "ARMv8 64-bit based boards" or "ARMv8 32-bit based boards"
26 Target Profile: (select device you want to build)
27
28 For example, build firmware for 64-bit ls1043ardb.
29 +---------------------------------------------+
30 | Target System (NXP Layerscape) ---> |
31 |---------------------------------------------|
32 | Subtarget (ARMv8 64-bit based boards) ---> |
33 |---------------------------------------------|
34 | Target Profile (ls1043ardb-armv8_64b) ---> |
35 +---------------------------------------------+
36
37 * For multiple devices
38
39 Target System: "NXP Layerscape".
40 Subtarget: "ARMv8 64-bit based boards" or "ARMv8 32-bit based boards"
41 Target Profile: "Multiple devices"
42 Target Devices: (select devices you want to build)
43
44 For example, build firmware for all 64-bit devices.
45 Target Devices --->
46 +-----------------------------------------------------------------+
47 | [*] Enable all profiles by default |
48 |-----------------------------------------------------------------|
49 | [*] Use a per-device root filesystem that adds profile packages |
50 |-----------------------------------------------------------------|
51 | [*] ls1012afrdm-armv8_64b ---> |
52 |-----------------------------------------------------------------|
53 | [*] ls1012ardb-armv8_64b ---> |
54 |-----------------------------------------------------------------|
55 | [*] ls1043ardb-armv8_64b ---> |
56 |-----------------------------------------------------------------|
57 | [*] ls1046ardb-armv8_64b ---> |
58 |-----------------------------------------------------------------|
59 | [*] ls1088ardb-armv8_64b ---> |
60 |-----------------------------------------------------------------|
61 | [*] ls2088ardb-armv8_64b ---> |
62 +-----------------------------------------------------------------+
63
64 2.2 make (or make -j<n>)
65 ------------------------
66
67 2.3 Final firmware
68 ------------------
69 Final firmware would be in bin/targets/layerscape/<subtarget>/, and
70 named as openwrt-layerscape-<subtarget>-<device>-<rootfs>-firmware.bin.
71
72
73 3. Program firmware to NOR/QSPI flash
74 -------------------------------------
75 * LS1043ARDB (NOR flash)
76
77 Start up from bank0, and program firmware to bank4 with below commands.
78 Switch to bank4 to start up OpenWrt.
79
80 => tftp a0000000 <firmware_name>.bin
81 => protect off all
82 => erase 64000000 +$filesize
83 => cp.b a0000000 64000000 $filesize
84 => cpld reset altbank
85
86 * LS2088ARDB (NOR flash)
87
88 Start up from bank0, and program firmware to bank4 with below commands.
89 Switch to bank4 to start up OpenWrt.
90
91 => tftp a0000000 <firmware_name>.bin
92 => protect off all
93 => erase 584000000 +$filesize
94 => cp.b a0000000 584000000 $filesize
95 => qix altbank
96
97 * LS1012ARDB (QSPI flash)
98
99 Start up from bank1, and program firmware to bank2 with below commands.
100 Switch to bank2 to start up OpenWrt.
101
102 => tftp a0000000 <firmware_name>.bin
103 => i2c mw 0x24 0x7 0xfc;i2c mw 0x24 0x3 0xf5
104 => sf probe 0:0
105 => sf erase 0 +$filesize
106 => sf write a0000000 0 $filesize
107 => reset
108
109 * LS1012AFRDM (QSPI flash)
110
111 LS1012AFRDM board only has one bank. Start up board, and program firmware
112 with below commands. Reset to start up OpenWrt.
113
114 => tftp 96000000 <firmware_name>.bin
115 => sf probe 0:0
116 => sf erase 0 +$filesize
117 => sf write 96000000 0 $filesize
118 => reset
119
120 * LS1046ARDB (QSPI flash)
121
122 Start up from bank1, and program firmware to bank2 with below commands.
123 Switch to bank2 to start up OpenWrt.
124
125 => tftp a0000000 <firmware_name>.bin
126 => sf probe 0:1
127 => sf erase 0 +$filesize
128 => sf write a0000000 0 $filesize
129 => cpld reset altbank
130
131 * LS1088ARDB (QSPI flash)
132
133 Start up from bank0, and program firmware to bank1 with below commands.
134 Switch to bank1 to start up OpenWrt.
135
136 => tftp a0000000 <firmware_name>.bin
137 => sf probe 0:1
138 => sf erase 0 +$filesize
139 => sf write a0000000 0 $filesize
140 => qix altbank
141
142 Note: old version u-boot of ls1088ardb may use below commands to switch to
143 bank1 instead of 'qix altbank'.
144 => i2c mw 66 50 20;i2c mw 66 10 20;i2c mw 66 10 21
145
146
147 4. Known issues and limitation
148 ------------------------------
149 * u-boot may fail to read MAC addresses from EEPROM on some boards and there
150 won't be MAC addresses set in environment. This may cause kernel fails to
151 probe these network interfaces. The workaround is to set MAC addresses
152 manually, for example,
153
154 => setenv ethaddr 00:04:9F:04:65:4b
155 => setenv eth1addr 00:04:9F:04:65:4c
156
157
158 5. Other references and sources
159 -------------------------------
160 - NXP LSDK site: https://lsdk.github.io/
161
162 - NXP LSDK github: https://github.com/qoriq-open-source
163
164 - LEDE documentation: https://lede-project.org/docs/start