OpenWrt – Blame information for rev 4
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
4 | office | 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 | Note: The first time make menuconfig would create a .config file which |
||
65 | would include all dependencies for selected target. After that, make |
||
66 | menuconfig still could be used to modify packages. If want to change |
||
67 | other target, please remove .config and make menuconfig to select again. |
||
68 | Otherwise the packages selected in .config would be a mess. |
||
69 | |||
70 | 2.2 make (or make -j<n>) |
||
71 | ------------------------ |
||
72 | |||
73 | 2.3 Final firmware |
||
74 | ------------------ |
||
75 | Final firmware would be in bin/targets/layerscape/<subtarget>/, and |
||
76 | named as openwrt-layerscape-<subtarget>-<device>-<rootfs>-firmware.bin. |
||
77 | |||
78 | |||
79 | 3. Program firmware to NOR/QSPI flash |
||
80 | ------------------------------------- |
||
81 | * LS1043ARDB (NOR flash) |
||
82 | |||
83 | Start up from bank0, and program firmware to bank4 with below commands. |
||
84 | Switch to bank4 to start up OpenWrt. |
||
85 | |||
86 | => tftp a0000000 <firmware_name>.bin |
||
87 | => protect off all |
||
88 | => erase 64000000 +$filesize |
||
89 | => cp.b a0000000 64000000 $filesize |
||
90 | => cpld reset altbank |
||
91 | |||
92 | * LS2088ARDB (NOR flash) |
||
93 | |||
94 | Start up from bank0, and program firmware to bank4 with below commands. |
||
95 | Switch to bank4 to start up OpenWrt. |
||
96 | |||
97 | => tftp a0000000 <firmware_name>.bin |
||
98 | => protect off all |
||
99 | => erase 584000000 +$filesize |
||
100 | => cp.b a0000000 584000000 $filesize |
||
101 | => qix altbank |
||
102 | |||
103 | * LS1012ARDB (QSPI flash) |
||
104 | |||
105 | Start up from bank1, and program firmware to bank2 with below commands. |
||
106 | Switch to bank2 to start up OpenWrt. |
||
107 | |||
108 | => tftp a0000000 <firmware_name>.bin |
||
109 | => i2c mw 0x24 0x7 0xfc;i2c mw 0x24 0x3 0xf5 |
||
110 | => sf probe 0:0 |
||
111 | => sf erase 0 +$filesize |
||
112 | => sf write a0000000 0 $filesize |
||
113 | => reset |
||
114 | |||
115 | * LS1012AFRDM (QSPI flash) |
||
116 | |||
117 | LS1012AFRDM board only has one bank. Start up board, and program firmware |
||
118 | with below commands. Reset to start up OpenWrt. |
||
119 | |||
120 | => tftp 96000000 <firmware_name>.bin |
||
121 | => sf probe 0:0 |
||
122 | => sf erase 0 +$filesize |
||
123 | => sf write 96000000 0 $filesize |
||
124 | => reset |
||
125 | |||
126 | * LS1046ARDB (QSPI flash) |
||
127 | |||
128 | Start up from bank1, and program firmware to bank2 with below commands. |
||
129 | Switch to bank2 to start up OpenWrt. |
||
130 | |||
131 | => tftp a0000000 <firmware_name>.bin |
||
132 | => sf probe 0:1 |
||
133 | => sf erase 0 +$filesize |
||
134 | => sf write a0000000 0 $filesize |
||
135 | => cpld reset altbank |
||
136 | |||
137 | * LS1088ARDB (QSPI flash) |
||
138 | |||
139 | Start up from bank0, and program firmware to bank1 with below commands. |
||
140 | Switch to bank1 to start up OpenWrt. |
||
141 | |||
142 | => tftp a0000000 <firmware_name>.bin |
||
143 | => sf probe 0:1 |
||
144 | => sf erase 0 +$filesize |
||
145 | => sf write a0000000 0 $filesize |
||
146 | => qix altbank |
||
147 | |||
148 | Note: old version u-boot of ls1088ardb may use below commands to switch to |
||
149 | bank1 instead of 'qix altbank'. |
||
150 | => i2c mw 66 50 20;i2c mw 66 10 20;i2c mw 66 10 21 |
||
151 | |||
152 | |||
153 | 4. Known issues and limitation |
||
154 | ------------------------------ |
||
155 | * u-boot may fail to read MAC addresses from EEPROM on some boards and there |
||
156 | won't be MAC addresses set in environment. This may cause kernel fails to |
||
157 | probe these network interfaces. The workaround is to set MAC addresses |
||
158 | manually, for example, |
||
159 | |||
160 | => setenv ethaddr 00:04:9F:04:65:4b |
||
161 | => setenv eth1addr 00:04:9F:04:65:4c |
||
162 | |||
163 | |||
164 | 5. Other references and sources |
||
165 | ------------------------------- |
||
166 | - NXP LSDK site: https://lsdk.github.io/ |
||
167 | |||
168 | - NXP LSDK github: https://github.com/qoriq-open-source |
||
169 | |||
170 | - LEDE documentation: https://lede-project.org/docs/start |