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