blob: 6cb033ead044ab3fa7d4bfd105590e91336c8f34 [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
74Flashing
75~~~~~~~~
76
Heinrich Schuchardtb48108a2023-05-01 14:20:48 +020077The device firmware loads U-Boot SPL (u-boot-spl.bin.normal.out) from the
78partition with type GUID 2E54B353-1271-4842-806F-E436D6AF6985. You are free
79to choose any partition number.
Yanhong Wang6a5a45d2023-03-29 11:42:17 +080080
Heinrich Schuchardtb48108a2023-05-01 14:20:48 +020081With the default configuration U-Boot SPL loads the U-Boot FIT image
82(u-boot.itb) from partition 2 (CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x2).
83When formatting it is recommended to use GUID
84BC13C2FF-59E6-4262-A352-B275FD6F7172 for this partition.
Yanhong Wang6a5a45d2023-03-29 11:42:17 +080085
Heinrich Schuchardtb48108a2023-05-01 14:20:48 +020086The FIT image (u-boot.itb) is a combination of OpenSBI's fw_dynamic.bin,
87u-boot-nodtb.bin and the device tree blob
88(jh7110-starfive-visionfive-2-v1.3b.dtb or
89jh7110-starfive-visionfive-2-v1.2a.dtb).
Yanhong Wang6a5a45d2023-03-29 11:42:17 +080090
91Format the SD card (make sure the disk has GPT, otherwise use gdisk to switch)
92
93.. code-block:: bash
94
95 sudo sgdisk --clear \
96 --set-alignment=2 \
97 --new=1:4096:8191 --change-name=1:spl --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985\
98 --new=2:8192:16383 --change-name=2:uboot --typecode=2:BC13C2FF-59E6-4262-A352-B275FD6F7172 \
99 --new=3:16384:1654784 --change-name=3:system --typecode=3:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 \
100 /dev/sdb
101
102Program the SD card
103
104.. code-block:: bash
105
106 sudo dd if=u-boot-spl.bin.normal.out of=/dev/sdb1
107 sudo dd if=u-boot.itb of=/dev/sdb2
108
109 sudo mount /dev/sdb3 /mnt/
110 sudo cp u-boot-spl.bin.normal.out /mnt/
111 sudo cp u-boot.itb /mnt/
112 sudo cp Image.gz /mnt/
113 sudo cp initramfs.cpio.gz /mnt/
Yanhong Wang8c915002023-06-15 17:36:46 +0800114 sudo cp jh7110-starfive-visionfive-2.dtb /mnt/
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800115 sudo umount /mnt
116
117Booting
118~~~~~~~
119
Heinrich Schuchardtb48108a2023-05-01 14:20:48 +0200120The board provides the DIP switches MSEL[1:0] to select the boot device.
121To select booting from SD-card set the DIP switches MSEL[1:0] to 10.
122
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800123Once 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 #
Chanho Parka7b007c2023-07-14 18:41:09 +0900202 StarFive # version
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800203 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 #
Chanho Parka7b007c2023-07-14 18:41:09 +0900208 StarFive # mmc dev 1
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800209 switch to partitions #0, OK
210 mmc1 is current device
Chanho Parka7b007c2023-07-14 18:41:09 +0900211 StarFive # mmc info
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800212 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 #
Chanho Parka7b007c2023-07-14 18:41:09 +0900225 StarFive # mmc part
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800226
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 #
Chanho Parka7b007c2023-07-14 18:41:09 +0900249 StarFive # fatls mmc 1:3
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800250 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
Chanho Parka7b007c2023-07-14 18:41:09 +0900258 StarFive # fatload mmc 1:3 ${kernel_addr_r} Image.gz
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800259 6429424 bytes read in 394 ms (15.6 MiB/s)
Chanho Parka7b007c2023-07-14 18:41:09 +0900260 StarFive # fatload mmc 1:3 ${fdt_addr_r} jh7110-starfive-visionfive-2.dtb
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800261 11285 bytes read in 5 ms (2.2 MiB/s)
Chanho Parka7b007c2023-07-14 18:41:09 +0900262 StarFive # fatload mmc 1:3 ${ramdisk_addr_r} initramfs.cpio.gz
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800263 152848495 bytes read in 9271 ms (15.7 MiB/s)
Chanho Parka7b007c2023-07-14 18:41:09 +0900264 StarFive # booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
Yanhong Wang6a5a45d2023-03-29 11:42:17 +0800265 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.