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