OpenWrt – Blame information for rev 3
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | |
2 | Layerscape Quick Start |
||
3 | |||
4 | 1. Layerscape target support |
||
5 | ---------------------------- |
||
6 | * ARMv8 64-bit |
||
3 | office | 7 | LS1012ARDB LS1012AFRDM LS1043ARDB LS1046ARDB LS1088ARDB LS2088ARDB |
1 | office | 8 | |
9 | * ARMv8 32-bit |
||
3 | office | 10 | LS1012ARDB LS1012AFRDM LS1043ARDB LS1046ARDB |
1 | office | 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 | |||
3 | office | 20 | 2.1 make menuconfig |
21 | ------------------- |
||
22 | * For single device |
||
1 | office | 23 | |
3 | office | 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) |
||
1 | office | 27 | |
3 | office | 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 | +---------------------------------------------+ |
||
1 | office | 36 | |
3 | office | 37 | * For multiple devices |
1 | office | 38 | |
3 | office | 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) |
||
1 | office | 43 | |
3 | office | 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 | +-----------------------------------------------------------------+ |
||
1 | office | 63 | |
3 | office | 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. |
||
1 | office | 69 | |
3 | office | 70 | 2.2 make (or make -j<n>) |
71 | ------------------------ |
||
1 | office | 72 | |
3 | office | 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. |
||
1 | office | 77 | |
78 | |||
3 | office | 79 | 3. Program firmware to NOR/QSPI flash |
80 | ------------------------------------- |
||
81 | * LS1043ARDB (NOR flash) |
||
1 | office | 82 | |
3 | office | 83 | Start up from bank0, and program firmware to bank4 with below commands. |
84 | Switch to bank4 to start up OpenWrt. |
||
1 | office | 85 | |
3 | office | 86 | => tftp a0000000 <firmware_name>.bin |
87 | => protect off all |
||
88 | => erase 64000000 +$filesize |
||
89 | => cp.b a0000000 64000000 $filesize |
||
90 | => cpld reset altbank |
||
1 | office | 91 | |
3 | office | 92 | * LS2088ARDB (NOR flash) |
1 | office | 93 | |
3 | office | 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 | |||
1 | office | 103 | * LS1012ARDB (QSPI flash) |
3 | office | 104 | |
1 | office | 105 | Start up from bank1, and program firmware to bank2 with below commands. |
106 | Switch to bank2 to start up OpenWrt. |
||
107 | |||
3 | office | 108 | => tftp a0000000 <firmware_name>.bin |
1 | office | 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 | |||
3 | office | 115 | * LS1012AFRDM (QSPI flash) |
1 | office | 116 | |
3 | office | 117 | LS1012AFRDM board only has one bank. Start up board, and program firmware |
118 | with below commands. Reset to start up OpenWrt. |
||
1 | office | 119 | |
3 | office | 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 | |||
1 | office | 126 | * LS1046ARDB (QSPI flash) |
3 | office | 127 | |
1 | office | 128 | Start up from bank1, and program firmware to bank2 with below commands. |
129 | Switch to bank2 to start up OpenWrt. |
||
130 | |||
3 | office | 131 | => tftp a0000000 <firmware_name>.bin |
1 | office | 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) |
||
3 | office | 138 | |
1 | office | 139 | Start up from bank0, and program firmware to bank1 with below commands. |
140 | Switch to bank1 to start up OpenWrt. |
||
141 | |||
3 | office | 142 | => tftp a0000000 <firmware_name>.bin |
1 | office | 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 | |||
3 | office | 164 | 5. Other references and sources |
165 | ------------------------------- |
||
1 | office | 166 | - NXP LSDK site: https://lsdk.github.io/ |
3 | office | 167 | |
168 | - NXP LSDK github: https://github.com/qoriq-open-source |
||
169 | |||
170 | - LEDE documentation: https://lede-project.org/docs/start |