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