blob: dc9eb368c6e0cbb3dead5432e39b159e91536b19 [file] [log] [blame]
Yanhong Wang6a5a45d2023-03-29 11:42:17 +08001.. SPDX-License-Identifier: GPL-2.0+
2
3StarFive VisionFive2
4====================
5
6JH7110 RISC-V SoC
7---------------------
8The JH7110 is 4+1 64-bit RISC-V SoC from StarFive.
9
10The StarFive VisionFive2 development platform is based on JH7110 and capable
11of running Linux.
12
13Mainline support
14----------------
15
16The support for following drivers are already enabled:
17
181. ns16550 UART Driver.
192. StarFive JH7110 clock Driver.
203. StarFive JH7110 reset Driver.
214. Cadence QSPI controller Driver.
225. MMC SPI Driver for MMC/SD support.
23
24Booting from MMC using U-Boot SPL
25---------------------------------
26
27The current U-Boot port is supported in S-mode only and loaded from DRAM.
28
29A prior stage M-mode firmware/bootloader (e.g OpenSBI) is required to
30boot the u-boot.itb in S-mode and provide M-mode runtime services.
31
32Currently, the u-boot.itb is used as a dynamic of the OpenSBI FW_DYNAMIC
33firmware with the latest.
34
35Building
36~~~~~~~~
37
381. Add the RISC-V toolchain to your PATH.
392. Setup ARCH & cross compilation environment variable:
40
41.. code-block:: none
42
43 export CROSS_COMPILE=<riscv64 toolchain prefix>
44
45Before building U-Boot SPL, OpenSBI must be built first. OpenSBI can be
46cloned and built for JH7110 as below:
47
48.. code-block:: console
49
50 git clone https://github.com/riscv/opensbi.git
51 cd opensbi
52 make PLATFORM=generic FW_TEXT_START=0x40000000 FW_OPTIONS=0
53
Heinrich Schuchardte71e9452023-04-27 11:56:58 +020054The VisionFive 2 support for OpenSBI was introduced after the v1.2 release.
55
Yanhong Wang6a5a45d2023-03-29 11:42:17 +080056More detailed description of steps required to build FW_DYNAMIC firmware
57is beyond the scope of this document. Please refer OpenSBI documenation.
58(Note: OpenSBI git repo is at https://github.com/riscv/opensbi.git)
59
60Now build the U-Boot SPL and U-Boot proper
61
62.. code-block:: console
63
64 cd <U-Boot-dir>
65 make starfive_visionfive2_13b_defconfig
66 make OPENSBI=$(opensbi_dir)/opensbi/build/platform/generic/firmware/fw_dynamic.bin
67
68This will generate spl/u-boot-spl.bin and FIT image (u-boot.itb)
69
70u-boot-spl.bin cannot be used directly on StarFive VisionFive2,we need
71to convert the u-boot-spl.bin to u-boot-spl.bin.normal.out with
72the below command:
73
74 ./spl_tool -c -f $(Uboot_PATH)/spl/u-boot-spl.bin
75
76More detailed description of spl_tool,please refer spl_tool documenation.
77(Note: spl_tool git repo is at https://github.com/starfive-tech/Tools/tree/master/spl_tool)
78
79This will generate u-boot-spl.bin.normal.out file.
80
81Flashing
82~~~~~~~~
83
84SPL loads the U-Boot SPL (u-boot-spl.bin.normal.out) from a partition with GUID type
852E54B353-1271-4842-806F-E436D6AF6985
86
87U-Boot SPL expects a U-Boot FIT image (u-boot.itb) from a partition with GUID
88type BC13C2FF-59E6-4262-A352-B275FD6F7172
89
90FIT image (u-boot.itb) is a combination of fw_dynamic.bin, u-boot-nodtb.bin and
91device tree blob (jh7110-starfive-visionfive-2-v1.3b.dtb/jh7110-starfive-visionfive-2-v1.2a.dtb)
92
93Format the SD card (make sure the disk has GPT, otherwise use gdisk to switch)
94
95.. code-block:: bash
96
97 sudo sgdisk --clear \
98 --set-alignment=2 \
99 --new=1:4096:8191 --change-name=1:spl --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985\
100 --new=2:8192:16383 --change-name=2:uboot --typecode=2:BC13C2FF-59E6-4262-A352-B275FD6F7172 \
101 --new=3:16384:1654784 --change-name=3:system --typecode=3:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 \
102 /dev/sdb
103
104Program the SD card
105
106.. code-block:: bash
107
108 sudo dd if=u-boot-spl.bin.normal.out of=/dev/sdb1
109 sudo dd if=u-boot.itb of=/dev/sdb2
110
111 sudo mount /dev/sdb3 /mnt/
112 sudo cp u-boot-spl.bin.normal.out /mnt/
113 sudo cp u-boot.itb /mnt/
114 sudo cp Image.gz /mnt/
115 sudo cp initramfs.cpio.gz /mnt/
116 sudo cp jh7110-starfive-visionfive-2-v1.3b.dtb /mnt/
117 sudo umount /mnt
118
119Booting
120~~~~~~~
121
122Change DIP switches MSEL[1:0] are set to 10, select the boot mode to SD.
123Once you plugin the sdcard and power up, you should see the U-Boot prompt.
124
125Sample boot log from StarFive VisionFive2 board
126~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127
128.. code-block:: none
129
130
131 U-Boot SPL 2023.04-rc2-00055-gfc43b9c51a-dirty (Mar 02 2023 - 10:51:39 +0800)
132 DDR version: dc2e84f0.
133 Trying to boot from MMC2
134
135 OpenSBI v1.2-80-g4b28afc
136 ____ _____ ____ _____
137 / __ \ / ____| _ \_ _|
138 | | | |_ __ ___ _ __ | (___ | |_) || |
139 | | | | '_ \ / _ \ '_ \ \___ \| _ < | |
140 | |__| | |_) | __/ | | |____) | |_) || |_
141 \____/| .__/ \___|_| |_|_____/|___/_____|
142 | |
143 |_|
144
145 Platform Name : StarFive VisionFive 2 v1.3B
146 Platform Features : medeleg
147 Platform HART Count : 5
148 Platform IPI Device : aclint-mswi
149 Platform Timer Device : aclint-mtimer @ 4000000Hz
150 Platform Console Device : uart8250
151 Platform HSM Device : ---
152 Platform PMU Device : ---
153 Platform Reboot Device : ---
154 Platform Shutdown Device : ---
155 Platform Suspend Device : ---
156 Firmware Base : 0x40000000
157 Firmware Size : 264 KB
158 Firmware RW Offset : 0x20000
159 Runtime SBI Version : 1.0
160
161 Domain0 Name : root
162 Domain0 Boot HART : 2
163 Domain0 HARTs : 0*,1*,2*,3*,4*
164 Domain0 Region00 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: ()
165 Domain0 Region01 : 0x0000000040000000-0x000000004001ffff M: (R,X) S/U: ()
166 Domain0 Region02 : 0x0000000040000000-0x000000004007ffff M: (R,W) S/U: ()
167 Domain0 Region03 : 0x0000000000000000-0xffffffffffffffff M: (R,W,X) S/U: (R,W,X)
168 Domain0 Next Address : 0x0000000040200000
169 Domain0 Next Arg1 : 0x0000000040287970
170 Domain0 Next Mode : S-mode
171 Domain0 SysReset : yes
172 Domain0 SysSuspend : yes
173
174 Boot HART ID : 2
175 Boot HART Domain : root
176 Boot HART Priv Version : v1.11
177 Boot HART Base ISA : rv64imafdcbx
178 Boot HART ISA Extensions : none
179 Boot HART PMP Count : 8
180 Boot HART PMP Granularity : 4096
181 Boot HART PMP Address Bits: 34
182 Boot HART MHPM Count : 2
183 Boot HART MIDELEG : 0x0000000000000222
184 Boot HART MEDELEG : 0x000000000000b109
185
186
187 U-Boot 2023.04-rc2-00055-gfc43b9c51a-dirty (Mar 02 2023 - 10:51:39 +0800)
188
189 CPU: rv64imac_zba_zbb
190 Model: StarFive VisionFive 2 v1.3B
191 DRAM: 8 GiB
192 Core: 107 devices, 18 uclasses, devicetree: separate
193 MMC: mmc@16010000: 0, mmc@16020000: 1
194 Loading Environment from nowhere... OK
195 In: serial@10000000
196 Out: serial@10000000
197 Err: serial@10000000
198 Net: No ethernet found.
199 Working FDT set to ff74a340
200 Hit any key to stop autoboot: 0
201 StarFive #
202 StarFive #version
203 U-Boot 2023.04-rc2-00055-gfc43b9c51a-dirty (Mar 02 2023 - 10:51:39 +0800)
204
205 riscv64-buildroot-linux-gnu-gcc.br_real (Buildroot VF2_515_v1.0.0_rc4) 10.3.0
206 GNU ld (GNU Binutils) 2.36.1
207 StarFive #
208 StarFive #mmc dev 1
209 switch to partitions #0, OK
210 mmc1 is current device
211 StarFive #mmc info
212 Device: mmc@16020000
213 Manufacturer ID: 9f
214 OEM: 5449
215 Name: SD64G
216 Bus Speed: 50000000
217 Mode: SD High Speed (50MHz)
218 Rd Block Len: 512
219 SD version 3.0
220 High Capacity: Yes
221 Capacity: 58.3 GiB
222 Bus Width: 4-bit
223 Erase Group Size: 512 Bytes
224 StarFive #
225 StarFive #mmc part
226
227 Partition Map for MMC device 1 -- Partition Type: EFI
228
229 Part Start LBA End LBA Name
230 Attributes
231 Type GUID
232 Partition GUID
233 1 0x00001000 0x00001fff "spl"
234 attrs: 0x0000000000000000
235 type: 2e54b353-1271-4842-806f-e436d6af6985
236 (2e54b353-1271-4842-806f-e436d6af6985)
237 guid: d5ee2056-3020-475b-9a33-25b4257c9f12
238 2 0x00002000 0x00003fff "uboot"
239 attrs: 0x0000000000000000
240 type: bc13c2ff-59e6-4262-a352-b275fd6f7172
241 (bc13c2ff-59e6-4262-a352-b275fd6f7172)
242 guid: 379ab7fe-fd0c-4149-b758-960c1cbfc0cc
243 3 0x00004000 0x00194000 "system"
244 attrs: 0x0000000000000000
245 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
246 (data)
247 guid: 539a6df9-4655-4953-8541-733ca36eb1db
248 StarFive #
249 StarFive #fatls mmc 1:3
250 6429424 Image.gz
251 717705 u-boot.itb
252 125437 u-boot-spl.bin.normal.out
253 152848495 initramfs.cpio.gz
254 11285 jh7110-starfive-visionfive-2-v1.3b.dtb
255
256 5 file(s), 0 dir(s)
257
258 StarFive #fatload mmc 1:3 ${kernel_addr_r} Image.gz
259 6429424 bytes read in 394 ms (15.6 MiB/s)
260 StarFive #fatload mmc 1:3 ${fdt_addr_r} jh7110-starfive-visionfive-2-v1.3b.dtb
261 11285 bytes read in 5 ms (2.2 MiB/s)
262 StarFive #fatload mmc 1:3 ${ramdisk_addr_r} initramfs.cpio.gz
263 152848495 bytes read in 9271 ms (15.7 MiB/s)
264 StarFive #booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
265 Uncompressing Kernel Image
266 ## Flattened Device Tree blob at 46000000
267 Booting using the fdt blob at 0x46000000
268 Working FDT set to 46000000
269 Loading Ramdisk to f5579000, end fe73d86f ... OK
270 Loading Device Tree to 00000000f5573000, end 00000000f5578c14 ... OK
271 Working FDT set to f5573000
272
273 Starting kernel ...
274
275
276 ] Linux version 6.2.0-starfive-00026-g11934a315b67 (wyh@wyh-VirtualBox) (riscv64-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, GNU ld (GNU Binutils for Ubuntu) 2.30) #1 SMP Thu Mar 2 14:51:36 CST 2023
277 [ 0.000000] OF: fdt: Ignoring memory range 0x40000000 - 0x40200000
278 [ 0.000000] Machine model: StarFive VisionFive 2 v1.3B
279 [ 0.000000] efi: UEFI not found.
280 [ 0.000000] Zone ranges:
281 [ 0.000000] DMA32 [mem 0x0000000040200000-0x00000000ffffffff]
282 [ 0.000000] Normal [mem 0x0000000100000000-0x000000013fffffff]
283 [ 0.000000] Movable zone start for each node
284 [ 0.000000] Early memory node ranges
285 [ 0.000000] node 0: [mem 0x0000000040200000-0x000000013fffffff]
286 [ 0.000000] Initmem setup node 0 [mem 0x0000000040200000-0x000000013fffffff]
287 [ 0.000000] On node 0, zone DMA32: 512 pages in unavailable ranges
288 [ 0.000000] SBI specification v1.0 detected
289 [ 0.000000] SBI implementation ID=0x1 Version=0x10002
290 [ 0.000000] SBI TIME extension detected
291 [ 0.000000] SBI IPI extension detected
292 [ 0.000000] SBI RFENCE extension detected
293 [ 0.000000] SBI HSM extension detected
294 [ 0.000000] CPU with hartid=0 is not available
295 [ 0.000000] CPU with hartid=0 is not available
296 [ 0.000000] CPU with hartid=0 is not available
297 [ 0.000000] riscv: base ISA extensions acdfim
298 [ 0.000000] riscv: ELF capabilities acdfim
299 [ 0.000000] percpu: Embedded 18 pages/cpu s35960 r8192 d29576 u73728
300 [ 0.000000] pcpu-alloc: s35960 r8192 d29576 u73728 alloc=18*4096
301 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
302 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1031688
303 [ 0.000000] Kernel command line: console=ttyS0,115200 debug rootwait earlycon=sbi
304 [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
305 [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
306 [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
307 [ 0.000000] software IO TLB: area num 4.
308 [ 0.000000] software IO TLB: mapped [mem 0x00000000f1573000-0x00000000f5573000] (64MB)
309 [ 0.000000] Virtual kernel memory layout:
310 [ 0.000000] fixmap : 0xffffffc6fee00000 - 0xffffffc6ff000000 (2048 kB)
311 [ 0.000000] pci io : 0xffffffc6ff000000 - 0xffffffc700000000 ( 16 MB)
312 [ 0.000000] vmemmap : 0xffffffc700000000 - 0xffffffc800000000 (4096 MB)
313 [ 0.000000] vmalloc : 0xffffffc800000000 - 0xffffffd800000000 ( 64 GB)
314 [ 0.000000] modules : 0xffffffff0136a000 - 0xffffffff80000000 (2028 MB)
315 [ 0.000000] lowmem : 0xffffffd800000000 - 0xffffffd8ffe00000 (4094 MB)
316 [ 0.000000] kernel : 0xffffffff80000000 - 0xffffffffffffffff (2047 MB)
317 [ 0.000000] Memory: 3867604K/4192256K available (8012K kernel code, 4919K rwdata, 4096K rodata, 2190K init, 476K bss, 324652K reserved, 0K cma-reserved)
318 [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
319 [ 0.000000] rcu: Hierarchical RCU implementation.
320 [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=4.
321 [ 0.000000] rcu: RCU debug extended QS entry/exit.
322 [ 0.000000] Tracing variant of Tasks RCU enabled.
323 [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
324 [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
325 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
326 [ 0.000000] CPU with hartid=0 is not available
327 [ 0.000000] riscv-intc: unable to find hart id for /cpus/cpu@0/interrupt-controller
328 [ 0.000000] riscv-intc: 64 local interrupts mapped
329 [ 0.000000] plic: interrupt-controller@c000000: mapped 136 interrupts with 4 handlers for 9 contexts.
330 [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
331 [ 0.000000] riscv-timer: riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [4]
332 [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 881590404240 ns
333 [ 0.000003] sched_clock: 64 bits at 4MHz, resolution 250ns, wraps every 2199023255500ns
334 [ 0.000437] Console: colour dummy device 80x25
335 [ 0.000568] Calibrating delay loop (skipped), value calculated using timer frequency.. 8.00 BogoMIPS (lpj=16000)
336 [ 0.000602] pid_max: default: 32768 minimum: 301
337 [ 0.000752] LSM: initializing lsm=capability,integrity
338 [ 0.001071] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
339 [ 0.001189] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
340 [ 0.004201] CPU node for /cpus/cpu@0 exist but the possible cpu range is :0-3
341 [ 0.007426] cblist_init_generic: Setting adjustable number of callback queues.
342 [ 0.007457] cblist_init_generic: Setting shift to 2 and lim to 1.
343 [ 0.007875] riscv: ELF compat mode unsupported
344 [ 0.007902] ASID allocator disabled (0 bits)
345 [ 0.008405] rcu: Hierarchical SRCU implementation.
346 [ 0.008426] rcu: Max phase no-delay instances is 1000.
347 [ 0.009247] EFI services will not be available.
348 [ 0.010738] smp: Bringing up secondary CPUs ...
349 [ 0.018358] smp: Brought up 1 node, 4 CPUs
350 [ 0.021776] devtmpfs: initialized
351 [ 0.027337] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
352 [ 0.027389] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
353 [ 0.027888] pinctrl core: initialized pinctrl subsystem
354 [ 0.029881] NET: Registered PF_NETLINK/PF_ROUTE protocol family
355 [ 0.030401] audit: initializing netlink subsys (disabled)
356 [ 0.031041] audit: type=2000 audit(0.028:1): state=initialized audit_enabled=0 res=1
357 [ 0.031943] cpuidle: using governor menu
358 [ 0.043011] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
359 [ 0.043033] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
360 [ 0.044943] iommu: Default domain type: Translated
361 [ 0.044965] iommu: DMA domain TLB invalidation policy: strict mode
362 [ 0.046089] SCSI subsystem initialized
363 [ 0.046733] libata version 3.00 loaded.
364 [ 0.047231] usbcore: registered new interface driver usbfs
365 [ 0.047315] usbcore: registered new interface driver hub
366 [ 0.047420] usbcore: registered new device driver usb
367 [ 0.049770] vgaarb: loaded
368 [ 0.050277] clocksource: Switched to clocksource riscv_clocksource
369 [ 0.084690] NET: Registered PF_INET protocol family
370 [ 0.085561] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
371 [ 0.093010] tcp_listen_portaddr_hash hash table entries: 2048 (order: 4, 65536 bytes, linear)
372 [ 0.093152] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
373 [ 0.093224] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
374 [ 0.093821] TCP bind hash table entries: 32768 (order: 9, 2097152 bytes, linear)
375 [ 0.117880] TCP: Hash tables configured (established 32768 bind 32768)
376 [ 0.118500] UDP hash table entries: 2048 (order: 5, 196608 bytes, linear)
377 [ 0.118881] UDP-Lite hash table entries: 2048 (order: 5, 196608 bytes, linear)
378 [ 0.119675] NET: Registered PF_UNIX/PF_LOCAL protocol family
379 [ 0.121749] RPC: Registered named UNIX socket transport module.
380 [ 0.121776] RPC: Registered udp transport module.
381 [ 0.121784] RPC: Registered tcp transport module.
382 [ 0.121791] RPC: Registered tcp NFSv4.1 backchannel transport module.
383 [ 0.121816] PCI: CLS 0 bytes, default 64
384 [ 0.124101] Unpacking initramfs...
385 [ 0.125468] workingset: timestamp_bits=46 max_order=20 bucket_order=0
386 [ 0.128372] NFS: Registering the id_resolver key type
387 [ 0.128498] Key type id_resolver registered
388 [ 0.128525] Key type id_legacy registered
389 [ 0.128625] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
390 [ 0.128649] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
391 [ 0.129358] 9p: Installing v9fs 9p2000 file system support
392 [ 0.130179] NET: Registered PF_ALG protocol family
393 [ 0.130499] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
394 [ 0.130544] io scheduler mq-deadline registered
395 [ 0.130556] io scheduler kyber registered
396 [ 0.416754] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
397 [ 0.420857] SuperH (H)SCI(F) driver initialized
398 [ 0.443735] loop: module loaded
399 [ 0.448605] e1000e: Intel(R) PRO/1000 Network Driver
400 [ 0.448627] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
401 [ 0.450716] usbcore: registered new interface driver uas
402 [ 0.450832] usbcore: registered new interface driver usb-storage
403 [ 0.451638] mousedev: PS/2 mouse device common for all mice
404 [ 0.453465] sdhci: Secure Digital Host Controller Interface driver
405 [ 0.453487] sdhci: Copyright(c) Pierre Ossman
406 [ 0.453584] sdhci-pltfm: SDHCI platform and OF driver helper
407 [ 0.454140] usbcore: registered new interface driver usbhid
408 [ 0.454174] usbhid: USB HID core driver
409 [ 0.454833] riscv-pmu-sbi: SBI PMU extension is available
410 [ 0.454920] riscv-pmu-sbi: 16 firmware and 4 hardware counters
411 [ 0.454942] riscv-pmu-sbi: Perf sampling/filtering is not supported as sscof extension is not available
412 [ 0.457071] NET: Registered PF_INET6 protocol family
413 [ 0.460627] Segment Routing with IPv6
414 [ 0.460821] In-situ OAM (IOAM) with IPv6
415 [ 0.461005] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
416 [ 0.462712] NET: Registered PF_PACKET protocol family
417 [ 0.462933] 9pnet: Installing 9P2000 support
418 [ 0.463141] Key type dns_resolver registered
419 [ 0.463168] start plist test
420 [ 0.469261] end plist test
421 [ 0.506774] debug_vm_pgtable: [debug_vm_pgtable ]: Validating architecture page table helpers
422 [ 0.553683] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
423 [ 0.554741] starfive-jh7110-sys-pinctrl 13040000.pinctrl: StarFive GPIO chip registered 64 GPIOs
424 [ 0.555900] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
425 [ 0.556772] starfive-jh7110-aon-pinctrl 17020000.pinctrl: StarFive GPIO chip registered 4 GPIOs
426 [ 0.559454] printk: console [ttyS0] disabled
427 [ 0.579948] 10000000.serial: ttyS0 at MMIO 0x10000000 (irq = 3, base_baud = 1500000) is a 16550A
428 [ 0.580082] printk: console [ttyS0] enabled
429 [ 13.642680] Freeing initrd memory: 149264K
430 [ 13.651051] Freeing unused kernel image (initmem) memory: 2188K
431 [ 13.666431] Run /init as init process
432 [ 13.670116] with arguments:
433 [ 13.673168] /init
434 [ 13.675488] with environment:
435 [ 13.678668] HOME=/
436 [ 13.681038] TERM=linux
437 Starting syslogd: OK
438 Starting klogd: OK
439 Running sysctl: OK
440 Populating /dev using udev: [ 14.145944] udevd[93]: starting version 3.2.10
441 [ 15.214287] random: crng init done
442 [ 15.240816] udevd[94]: starting eudev-3.2.10
443 done
444 Saving random seed: OK
445 Starting system message bus: dbus[122]: Unknown username "pulse" in message bus configuration file
446 done
447 Starting rpcbind: OK
448 Starting iptables: OK
449 Starting bluetoothd: OK
450 Starting network: Waiting for interface eth0 to appear............... timeout!
451 run-parts: /etc/network/if-pre-up.d/wait_iface: exit status 1
452 FAIL
453 Starting dropbear sshd: OK
454 Starting NFS statd: OK
455 Starting NFS services: OK
456 Starting NFS daemon: rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory).
457 Please try, as root, 'mount -t nfsd nfsd /proc/fs/nfsd' and then restart rpc.nfsd to correct the problem
458 FAIL
459 Starting NFS mountd: OK
460 Starting DHCP server: FAIL
461
462 Welcome to Buildroot
463 buildroot login:
464
465Booting from SPI
466----------------
467
468Use Building steps from "Booting from MMC using U-Boot SPL" section.
469
470Partition the SPI in Linux via mtdblock. (Require to boot the board in
471SD boot mode by enabling MTD block in Linux)
472
473Use prebuilt image from here [1], which support to partition the SPI flash.
474
475
476Program the SPI (Require to boot the board in SD boot mode)
477
478Execute below steps on U-Boot proper,
479
480.. code-block:: none
481
482 sf probe
483 fatload mmc 1:3 $kernel_addr_r u-boot.itb
484 sf update $kernel_addr_r 0x100000 $filesize
485
486 fatload mmc 1:3 $kernel_addr_r u-boot-spl.bin.normal.out
487 sf update $kernel_addr_r 0x0 $filesize
488
489
490Power off the board
491
492Change DIP switches MSEL[1:0] are set to 00, select the boot mode to flash
493
494Power up the board.