aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/doc/board/sifive
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/u-boot/doc/board/sifive
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/u-boot/doc/board/sifive')
-rw-r--r--roms/u-boot/doc/board/sifive/index.rst10
-rw-r--r--roms/u-boot/doc/board/sifive/unleashed.rst579
-rw-r--r--roms/u-boot/doc/board/sifive/unmatched.rst536
3 files changed, 1125 insertions, 0 deletions
diff --git a/roms/u-boot/doc/board/sifive/index.rst b/roms/u-boot/doc/board/sifive/index.rst
new file mode 100644
index 000000000..a43937a3e
--- /dev/null
+++ b/roms/u-boot/doc/board/sifive/index.rst
@@ -0,0 +1,10 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+SiFive
+======
+
+.. toctree::
+ :maxdepth: 2
+
+ unleashed
+ unmatched
diff --git a/roms/u-boot/doc/board/sifive/unleashed.rst b/roms/u-boot/doc/board/sifive/unleashed.rst
new file mode 100644
index 000000000..4e4c852ff
--- /dev/null
+++ b/roms/u-boot/doc/board/sifive/unleashed.rst
@@ -0,0 +1,579 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+HiFive Unleashed
+================
+
+FU540-C000 RISC-V SoC
+---------------------
+The FU540-C000 is the world’s first 4+1 64-bit RISC-V SoC from SiFive.
+
+The HiFive Unleashed development platform is based on FU540-C000 and capable
+of running Linux.
+
+Mainline support
+----------------
+
+The support for following drivers are already enabled:
+
+1. SiFive UART Driver.
+2. SiFive PRCI Driver for clock.
+3. Cadence MACB ethernet driver for networking support.
+4. SiFive SPI Driver.
+5. MMC SPI Driver for MMC/SD support.
+
+Booting from MMC using FSBL
+---------------------------
+
+Building
+~~~~~~~~
+
+1. Add the RISC-V toolchain to your PATH.
+2. Setup ARCH & cross compilation environment variable:
+
+.. code-block:: none
+
+ export CROSS_COMPILE=<riscv64 toolchain prefix>
+
+3. make sifive_fu540_defconfig
+4. make
+
+Flashing
+~~~~~~~~
+
+The current U-Boot port is supported in S-mode only and loaded from DRAM.
+
+A prior stage M-mode firmware/bootloader (e.g OpenSBI) is required to
+boot the u-boot.bin in S-mode and provide M-mode runtime services.
+
+Currently, the u-boot.bin is used as a payload of the OpenSBI FW_PAYLOAD
+firmware. We need to compile OpenSBI with below command:
+
+.. code-block:: none
+
+ make PLATFORM=generic FW_PAYLOAD_PATH=<path to u-boot-dtb.bin>
+
+More detailed description of steps required to build FW_PAYLOAD firmware
+is beyond the scope of this document. Please refer OpenSBI documenation.
+(Note: OpenSBI git repo is at https://github.com/riscv/opensbi.git)
+
+Once the prior stage firmware/bootloader binary is generated, it should be
+copied to the first partition of the sdcard.
+
+.. code-block:: none
+
+ sudo dd if=<prior_stage_firmware_binary> of=/dev/disk2s1 bs=1024
+
+Booting
+~~~~~~~
+
+Once you plugin the sdcard and power up, you should see the U-Boot prompt.
+
+Sample boot log from HiFive Unleashed board
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: none
+
+ U-Boot 2019.07-00024-g350ff02f5b (Jul 22 2019 - 11:45:02 +0530)
+
+ CPU: rv64imafdc
+ Model: SiFive HiFive Unleashed A00
+ DRAM: 8 GiB
+ MMC: spi@10050000:mmc@0: 0
+ In: serial@10010000
+ Out: serial@10010000
+ Err: serial@10010000
+ Net: eth0: ethernet@10090000
+ Hit any key to stop autoboot: 0
+ => version
+ U-Boot 2019.07-00024-g350ff02f5b (Jul 22 2019 - 11:45:02 +0530)
+
+ riscv64-linux-gcc.br_real (Buildroot 2018.11-rc2-00003-ga0787e9) 8.2.0
+ GNU ld (GNU Binutils) 2.31.1
+ => mmc info
+ Device: spi@10050000:mmc@0
+ Manufacturer ID: 3
+ OEM: 5344
+ Name: SU08G
+ Bus Speed: 20000000
+ Mode: SD Legacy
+ Rd Block Len: 512
+ SD version 2.0
+ High Capacity: Yes
+ Capacity: 7.4 GiB
+ Bus Width: 1-bit
+ Erase Group Size: 512 Bytes
+ => mmc part
+
+ Partition Map for MMC device 0 -- Partition Type: EFI
+
+ Part Start LBA End LBA Name
+ Attributes
+ Type GUID
+ Partition GUID
+ 1 0x00000800 0x000107ff "bootloader"
+ attrs: 0x0000000000000000
+ type: 2e54b353-1271-4842-806f-e436d6af6985
+ guid: 393bbd36-7111-491c-9869-ce24008f6403
+ 2 0x00040800 0x00ecdfde ""
+ attrs: 0x0000000000000000
+ type: 0fc63daf-8483-4772-8e79-3d69d8477de4
+ guid: 7fc9a949-5480-48c7-b623-04923080757f
+
+Now you can configure your networking, tftp server and use tftp boot method to
+load uImage.
+
+.. code-block:: none
+
+ => setenv ipaddr 10.206.7.133
+ => setenv netmask 255.255.252.0
+ => setenv serverip 10.206.4.143
+ => setenv gateway 10.206.4.1
+
+If you want to use a flat kernel image such as Image file
+
+.. code-block:: none
+
+ => tftpboot ${kernel_addr_r} /sifive/fu540/Image
+ ethernet@10090000: PHY present at 0
+ ethernet@10090000: Starting autonegotiation...
+ ethernet@10090000: Autonegotiation complete
+ ethernet@10090000: link up, 1000Mbps full-duplex (lpa: 0x3c00)
+ Using ethernet@10090000 device
+ TFTP from server 10.206.4.143; our IP address is 10.206.7.133
+ Filename '/sifive/fu540/Image'.
+ Load address: 0x84000000
+ Loading: #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ ##########################################
+ 1.2 MiB/s
+ done
+ Bytes transferred = 8867100 (874d1c hex)
+
+Or if you want to use a compressed kernel image file such as Image.gz
+
+.. code-block:: none
+
+ => tftpboot ${kernel_addr_r} /sifive/fu540/Image.gz
+ ethernet@10090000: PHY present at 0
+ ethernet@10090000: Starting autonegotiation...
+ ethernet@10090000: Autonegotiation complete
+ ethernet@10090000: link up, 1000Mbps full-duplex (lpa: 0x3c00)
+ Using ethernet@10090000 device
+ TFTP from server 10.206.4.143; our IP address is 10.206.7.133
+ Filename '/sifive/fu540/Image.gz'.
+ Load address: 0x84000000
+ Loading: #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ ##########################################
+ 1.2 MiB/s
+ done
+ Bytes transferred = 4809458 (4962f2 hex)
+ =>setenv kernel_comp_addr_r 0x90000000
+ =>setenv kernel_comp_size 0x500000
+
+By this time, correct kernel image is loaded and required environment variables
+are set. You can proceed to load the ramdisk and device tree from the tftp server
+as well.
+
+.. code-block:: none
+
+ => tftpboot ${ramdisk_addr_r} /sifive/fu540/uRamdisk
+ ethernet@10090000: PHY present at 0
+ ethernet@10090000: Starting autonegotiation...
+ ethernet@10090000: Autonegotiation complete
+ ethernet@10090000: link up, 1000Mbps full-duplex (lpa: 0x3c00)
+ Using ethernet@10090000 device
+ TFTP from server 10.206.4.143; our IP address is 10.206.7.133
+ Filename '/sifive/fu540/uRamdisk'.
+ Load address: 0x88300000
+ Loading: #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ #################################################################
+ ##############
+ 418.9 KiB/s
+ done
+ Bytes transferred = 2398272 (249840 hex)
+ => tftpboot ${fdt_addr_r} /sifive/fu540/hifive-unleashed-a00.dtb
+ ethernet@10090000: PHY present at 0
+ ethernet@10090000: Starting autonegotiation...
+ ethernet@10090000: Autonegotiation complete
+ ethernet@10090000: link up, 1000Mbps full-duplex (lpa: 0x7c00)
+ Using ethernet@10090000 device
+ TFTP from server 10.206.4.143; our IP address is 10.206.7.133
+ Filename '/sifive/fu540/hifive-unleashed-a00.dtb'.
+ Load address: 0x88000000
+ Loading: ##
+ 1000 Bytes/s
+ done
+ Bytes transferred = 5614 (15ee hex)
+ => setenv bootargs "root=/dev/ram rw console=ttySIF0 ip=dhcp earlycon=sbi"
+ => booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
+ ## Loading init Ramdisk from Legacy Image at 88300000 ...
+ Image Name: Linux RootFS
+ Image Type: RISC-V Linux RAMDisk Image (uncompressed)
+ Data Size: 2398208 Bytes = 2.3 MiB
+ Load Address: 00000000
+ Entry Point: 00000000
+ Verifying Checksum ... OK
+ ## Flattened Device Tree blob at 88000000
+ Booting using the fdt blob at 0x88000000
+ Using Device Tree in place at 0000000088000000, end 00000000880045ed
+
+ Starting kernel ...
+
+ [ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
+ [ 0.000000] Linux version 5.3.0-rc1-00003-g460ac558152f (anup@anup-lab-machine) (gcc version 8.2.0 (Buildroot 2018.11-rc2-00003-ga0787e9)) #6 SMP Mon Jul 22 10:01:01 IST 2019
+ [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
+ [ 0.000000] printk: bootconsole [sbi0] enabled
+ [ 0.000000] Initial ramdisk at: 0x(____ptrval____) (2398208 bytes)
+ [ 0.000000] Zone ranges:
+ [ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff]
+ [ 0.000000] Normal [mem 0x0000000100000000-0x000000027fffffff]
+ [ 0.000000] Movable zone start for each node
+ [ 0.000000] Early memory node ranges
+ [ 0.000000] node 0: [mem 0x0000000080200000-0x000000027fffffff]
+ [ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x000000027fffffff]
+ [ 0.000000] software IO TLB: mapped [mem 0xfbfff000-0xfffff000] (64MB)
+ [ 0.000000] CPU with hartid=0 is not available
+ [ 0.000000] CPU with hartid=0 is not available
+ [ 0.000000] elf_hwcap is 0x112d
+ [ 0.000000] percpu: Embedded 18 pages/cpu s34584 r8192 d30952 u73728
+ [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2067975
+ [ 0.000000] Kernel command line: root=/dev/ram rw console=ttySIF0 ip=dhcp earlycon=sbi
+ [ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
+ [ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
+ [ 0.000000] Sorting __ex_table...
+ [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
+ [ 0.000000] Memory: 8182308K/8386560K available (5916K kernel code, 368K rwdata, 1840K rodata, 213K init, 304K bss, 204252K reserved, 0K cma-reserved)
+ [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
+ [ 0.000000] rcu: Hierarchical RCU implementation.
+ [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
+ [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
+ [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
+ [ 0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0
+ [ 0.000000] plic: mapped 53 interrupts with 4 handlers for 9 contexts.
+ [ 0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [1]
+ [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
+ [ 0.000006] sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns
+ [ 0.008559] Console: colour dummy device 80x25
+ [ 0.012989] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=4000)
+ [ 0.023104] pid_max: default: 32768 minimum: 301
+ [ 0.028273] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
+ [ 0.035765] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
+ [ 0.045307] rcu: Hierarchical SRCU implementation.
+ [ 0.049875] smp: Bringing up secondary CPUs ...
+ [ 0.055729] smp: Brought up 1 node, 4 CPUs
+ [ 0.060599] devtmpfs: initialized
+ [ 0.064819] random: get_random_u32 called from bucket_table_alloc.isra.10+0x4e/0x160 with crng_init=0
+ [ 0.073720] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
+ [ 0.083176] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
+ [ 0.090721] NET: Registered protocol family 16
+ [ 0.106319] vgaarb: loaded
+ [ 0.108670] SCSI subsystem initialized
+ [ 0.112515] usbcore: registered new interface driver usbfs
+ [ 0.117758] usbcore: registered new interface driver hub
+ [ 0.123167] usbcore: registered new device driver usb
+ [ 0.128905] clocksource: Switched to clocksource riscv_clocksource
+ [ 0.141239] NET: Registered protocol family 2
+ [ 0.145506] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
+ [ 0.153754] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
+ [ 0.163466] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
+ [ 0.173468] TCP: Hash tables configured (established 65536 bind 65536)
+ [ 0.179739] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
+ [ 0.186627] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
+ [ 0.194117] NET: Registered protocol family 1
+ [ 0.198417] RPC: Registered named UNIX socket transport module.
+ [ 0.203887] RPC: Registered udp transport module.
+ [ 0.208664] RPC: Registered tcp transport module.
+ [ 0.213429] RPC: Registered tcp NFSv4.1 backchannel transport module.
+ [ 0.219944] PCI: CLS 0 bytes, default 64
+ [ 0.224170] Unpacking initramfs...
+ [ 0.262347] Freeing initrd memory: 2336K
+ [ 0.266531] workingset: timestamp_bits=62 max_order=21 bucket_order=0
+ [ 0.280406] NFS: Registering the id_resolver key type
+ [ 0.284798] Key type id_resolver registered
+ [ 0.289048] Key type id_legacy registered
+ [ 0.293114] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
+ [ 0.300262] NET: Registered protocol family 38
+ [ 0.304432] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
+ [ 0.311862] io scheduler mq-deadline registered
+ [ 0.316461] io scheduler kyber registered
+ [ 0.356421] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
+ [ 0.363004] 10010000.serial: ttySIF0 at MMIO 0x10010000 (irq = 4, base_baud = 0) is a SiFive UART v0
+ [ 0.371468] printk: console [ttySIF0] enabled
+ [ 0.371468] printk: console [ttySIF0] enabled
+ [ 0.380223] printk: bootconsole [sbi0] disabled
+ [ 0.380223] printk: bootconsole [sbi0] disabled
+ [ 0.389589] 10011000.serial: ttySIF1 at MMIO 0x10011000 (irq = 1, base_baud = 0) is a SiFive UART v0
+ [ 0.398680] [drm] radeon kernel modesetting enabled.
+ [ 0.412395] loop: module loaded
+ [ 0.415214] sifive_spi 10040000.spi: mapped; irq=3, cs=1
+ [ 0.420628] sifive_spi 10050000.spi: mapped; irq=5, cs=1
+ [ 0.425897] libphy: Fixed MDIO Bus: probed
+ [ 0.429964] macb 10090000.ethernet: Registered clk switch 'sifive-gemgxl-mgmt'
+ [ 0.436743] macb: GEM doesn't support hardware ptp.
+ [ 0.441621] libphy: MACB_mii_bus: probed
+ [ 0.601316] Microsemi VSC8541 SyncE 10090000.ethernet-ffffffff:00: attached PHY driver [Microsemi VSC8541 SyncE] (mii_bus:phy_addr=10090000.ethernet-ffffffff:00, irq=POLL)
+ [ 0.615857] macb 10090000.ethernet eth0: Cadence GEM rev 0x10070109 at 0x10090000 irq 6 (70:b3:d5:92:f2:f3)
+ [ 0.625634] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
+ [ 0.631381] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
+ [ 0.637382] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
+ [ 0.643799] ehci-pci: EHCI PCI platform driver
+ [ 0.648261] ehci-platform: EHCI generic platform driver
+ [ 0.653497] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
+ [ 0.659599] ohci-pci: OHCI PCI platform driver
+ [ 0.664055] ohci-platform: OHCI generic platform driver
+ [ 0.669448] usbcore: registered new interface driver uas
+ [ 0.674575] usbcore: registered new interface driver usb-storage
+ [ 0.680642] mousedev: PS/2 mouse device common for all mice
+ [ 0.709493] mmc_spi spi1.0: SD/MMC host mmc0, no DMA, no WP, no poweroff, cd polling
+ [ 0.716615] usbcore: registered new interface driver usbhid
+ [ 0.722023] usbhid: USB HID core driver
+ [ 0.726738] NET: Registered protocol family 10
+ [ 0.731359] Segment Routing with IPv6
+ [ 0.734332] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
+ [ 0.740687] NET: Registered protocol family 17
+ [ 0.744660] Key type dns_resolver registered
+ [ 0.806775] mmc0: host does not support reading read-only switch, assuming write-enable
+ [ 0.814020] mmc0: new SDHC card on SPI
+ [ 0.820137] mmcblk0: mmc0:0000 SU08G 7.40 GiB
+ [ 0.850220] mmcblk0: p1 p2
+ [ 3.821524] macb 10090000.ethernet eth0: link up (1000/Full)
+ [ 3.828938] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
+ [ 3.848919] Sending DHCP requests .., OK
+ [ 6.252076] IP-Config: Got DHCP answer from 10.206.4.1, my address is 10.206.7.133
+ [ 6.259624] IP-Config: Complete:
+ [ 6.262831] device=eth0, hwaddr=70:b3:d5:92:f2:f3, ipaddr=10.206.7.133, mask=255.255.252.0, gw=10.206.4.1
+ [ 6.272809] host=dhcp-10-206-7-133, domain=sdcorp.global.sandisk.com, nis-domain=(none)
+ [ 6.281228] bootserver=10.206.126.11, rootserver=10.206.126.11, rootpath=
+ [ 6.281232] nameserver0=10.86.1.1, nameserver1=10.86.2.1
+ [ 6.294179] ntpserver0=10.86.1.1, ntpserver1=10.86.2.1
+ [ 6.301026] Freeing unused kernel memory: 212K
+ [ 6.304683] This architecture does not have kernel memory protection.
+ [ 6.311121] Run /init as init process
+ _ _
+ | ||_|
+ | | _ ____ _ _ _ _
+ | || | _ \| | | |\ \/ /
+ | || | | | | |_| |/ \
+ |_||_|_| |_|\____|\_/\_/
+
+ Busybox Rootfs
+
+ Please press Enter to activate this console.
+ / #
+
+Booting from MMC using U-Boot SPL
+---------------------------------
+
+Building
+~~~~~~~~
+
+Before building U-Boot SPL, OpenSBI must be built first. OpenSBI can be
+cloned and built for FU540 as below:
+
+.. code-block:: console
+
+ git clone https://github.com/riscv/opensbi.git
+ cd opensbi
+ make PLATFORM=generic
+ export OPENSBI=<path to opensbi/build/platform/generic/firmware/fw_dynamic.bin>
+
+Now build the U-Boot SPL and U-Boot proper
+
+.. code-block:: console
+
+ cd <U-Boot-dir>
+ make sifive_fu540_defconfig
+ make
+
+This will generate spl/u-boot-spl.bin and FIT image (u-boot.itb)
+
+
+Flashing
+~~~~~~~~
+
+ZSBL loads the U-Boot SPL (u-boot-spl.bin) from a partition with GUID type
+5B193300-FC78-40CD-8002-E86C45580B47
+
+U-Boot SPL expects a U-Boot FIT image (u-boot.itb) from a partition with GUID
+type 2E54B353-1271-4842-806F-E436D6AF6985
+
+FIT image (u-boot.itb) is a combination of fw_dynamic.bin, u-boot-nodtb.bin and
+device tree blob (hifive-unleashed-a00.dtb)
+
+Format the SD card (make sure the disk has GPT, otherwise use gdisk to switch)
+
+.. code-block:: none
+
+ # sudo sgdisk --clear \
+ > --set-alignment=2 \
+ > --new=1:34:2081 --change-name=1:loader1 --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \
+ > --new=2:2082:10273 --change-name=2:loader2 --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \
+ > --new=3:10274: --change-name=3:rootfs --typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
+ > /dev/sda
+
+Program the SD card
+
+.. code-block:: none
+
+ sudo dd if=spl/u-boot-spl.bin of=/dev/sda seek=34
+ sudo dd if=u-boot.itb of=/dev/sda seek=2082
+
+Booting
+~~~~~~~
+
+Once you plugin the sdcard and power up, you should see the U-Boot prompt.
+
+Sample boot log from HiFive Unleashed board
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: none
+
+ U-Boot SPL 2020.04-rc2-00109-g63efc7e07e-dirty (Apr 30 2020 - 13:52:36 +0530)
+ Trying to boot from MMC1
+
+
+ U-Boot 2020.04-rc2-00109-g63efc7e07e-dirty (Apr 30 2020 - 13:52:36 +0530)
+
+ CPU: rv64imafdc
+ Model: SiFive HiFive Unleashed A00
+ DRAM: 8 GiB
+ MMC: spi@10050000:mmc@0: 0
+ In: serial@10010000
+ Out: serial@10010000
+ Err: serial@10010000
+ Net: eth0: ethernet@10090000
+ Hit any key to stop autoboot: 0
+ => version
+ U-Boot 2020.04-rc2-00109-g63efc7e07e-dirty (Apr 30 2020 - 13:52:36 +0530)
+
+ riscv64-unknown-linux-gnu-gcc (crosstool-NG 1.24.0.37-3f461da) 9.2.0
+ GNU ld (crosstool-NG 1.24.0.37-3f461da) 2.32
+ => mmc info
+ Device: spi@10050000:mmc@0
+ Manufacturer ID: 3
+ OEM: 5344
+ Name: SC16G
+ Bus Speed: 20000000
+ Mode: SD Legacy
+ Rd Block Len: 512
+ SD version 2.0
+ High Capacity: Yes
+ Capacity: 14.8 GiB
+ Bus Width: 1-bit
+ Erase Group Size: 512 Bytes
+ => mmc part
+
+ Partition Map for MMC device 0 -- Partition Type: EFI
+
+ Part Start LBA End LBA Name
+ Attributes
+ Type GUID
+ Partition GUID
+ 1 0x00000022 0x00000821 "loader1"
+ attrs: 0x0000000000000000
+ type: 5b193300-fc78-40cd-8002-e86c45580b47
+ guid: 66e2b5d2-74db-4df8-ad6f-694b3617f87f
+ 2 0x00000822 0x00002821 "loader2"
+ attrs: 0x0000000000000000
+ type: 2e54b353-1271-4842-806f-e436d6af6985
+ guid: 8befaeaf-bca0-435d-b002-e201f37c0a2f
+ 3 0x00002822 0x01dacbde "rootfs"
+ attrs: 0x0000000000000000
+ type: 0fc63daf-8483-4772-8e79-3d69d8477de4
+ type: linux
+ guid: 9faa81b6-39b1-4418-af5e-89c48f29c20d
+
+Booting from SPI
+----------------
+
+Use Building steps from "Booting from MMC using U-Boot SPL" section.
+
+Partition the SPI in Linux via mtdblock. (Require to boot the board in
+SD boot mode by enabling MTD block in Linux)
+
+Use prebuilt image from here [1], which support to partition the SPI flash.
+
+.. code-block:: none
+
+ # sgdisk --clear \
+ > --set-alignment=2 \
+ > --new=1:40:2087 --change-name=1:loader1 --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \
+ > --new=2:2088:10279 --change-name=2:loader2 --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \
+ > --new=3:10536:65494 --change-name=3:rootfs --typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
+ > /dev/mtdblock0
+
+Program the SPI (Require to boot the board in SD boot mode)
+
+Execute below steps on U-Boot proper,
+
+.. code-block:: none
+
+ tftpboot $kernel_addr_r u-boot-spl.bin
+ sf erase 0x5000 $filesize
+ sf write $kernel_addr_r 0x5000 $filesize
+
+ tftpboot $kernel_addr_r u-boot.itb
+ sf erase 0x105000 $filesize
+ sf write $kernel_addr_r 0x105000 $filesize
+
+Power off the board
+
+Change DIP switches MSEL[3:0] are set to 0110
+
+Power up the board.
+
+[1] https://github.com/amarula/bsp-sifive
diff --git a/roms/u-boot/doc/board/sifive/unmatched.rst b/roms/u-boot/doc/board/sifive/unmatched.rst
new file mode 100644
index 000000000..e65b0d320
--- /dev/null
+++ b/roms/u-boot/doc/board/sifive/unmatched.rst
@@ -0,0 +1,536 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+HiFive Unmatched
+================
+
+FU740-C000 RISC-V SoC
+---------------------
+The FU740-C000 is a 4+1 64-bit RISC-V core SoC from SiFive.
+
+The HiFive Unmatched development platform is based on FU740-C000 and capable
+of running Linux.
+
+Mainline support
+----------------
+The support for following drivers are already enabled:
+
+1. SiFive UART Driver.
+2. SiFive PRCI Driver for clock.
+3. Cadence MACB ethernet driver for networking support.
+4. SiFive SPI Driver.
+5. MMC SPI Driver for MMC/SD support.
+
+Booting from uSD using U-Boot SPL
+---------------------------------
+
+Building
+--------
+
+Before building U-Boot SPL, OpenSBI must be built first. OpenSBI can be
+cloned and built for FU740 as below:
+
+.. code-block:: console
+
+ git clone https://github.com/riscv/opensbi.git
+ cd opensbi
+ make PLATFORM=generic
+ export OPENSBI=<path to opensbi/build/platform/generic/firmware/fw_dynamic.bin>
+
+Now build the U-Boot SPL and U-Boot proper
+
+.. code-block:: console
+
+ cd <U-Boot-dir>
+ make sifive_unmatched_defconfig
+ make
+
+This will generate spl/u-boot-spl.bin and u-boot.itb
+
+
+Flashing
+--------
+
+ZSBL loads the U-Boot SPL (u-boot-spl.bin) from a partition with GUID type
+5B193300-FC78-40CD-8002-E86C45580B47
+
+U-Boot SPL expects u-boot.itb from a partition with GUID
+type 2E54B353-1271-4842-806F-E436D6AF6985
+
+u-boot.itb is a combination of fw_dynamic.bin, u-boot-nodtb.bin and
+device tree blob (hifive-unmatched-a00.dtb)
+
+Format the SD card (make sure the disk has GPT, otherwise use gdisk to switch)
+
+.. code-block:: none
+
+ # sudo sgdisk -g --clear -a 1 \
+ > --new=1:34:2081 --change-name=1:spl --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \
+ > --new=2:2082:10273 --change-name=2:uboot --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \
+ > --new=3:16384:282623 --change-name=3:boot --typecode=3:0x0700 \
+ > --new=4:286720:13918207 --change-name=4:root --typecode=4:0x8300 \
+ > /dev/sdb
+
+Copy linux Image.gz and hifive-unmatched-a00.dtb to boot partition
+
+.. code-block:: none
+
+ sudo mkfs.vfat /dev/sdb3
+ sudo mkfs.ext4 /dev/sdb4
+
+ sudo mount /dev/sdb3 /media/sdb3
+ sudo cp Image.gz hifive-unmatched-a00.dtb /media/sdb3/
+
+Program the SD card
+
+.. code-block:: none
+
+ sudo dd if=spl/u-boot-spl.bin of=/dev/sda seek=34
+ sudo dd if=u-boot.itb of=/dev/sda seek=2082
+
+Booting
+-------
+Once you plugin the sdcard and power up, you should see the U-Boot prompt.
+
+
+Loading the kernel and dtb
+
+.. code-block:: none
+
+ fatload mmc 0:3 ${kernel_addr_r} Image.gz
+ fatload mmc 0:3 ${fdt_addr_r} hifive-unmatched-a00.dtb
+ booti ${kernel_addr_r} - ${fdt_addr_r}
+
+
+Sample boot log from HiFive Unmatched board
+-------------------------------------------
+
+.. code-block:: none
+
+ U-Boot SPL 2021.04-rc4-00009-g7d70643cc3-dirty (Mar 16 2021 - 18:03:14 +0800)
+ Trying to boot from MMC1
+
+ U-Boot 2021.04-rc4-00009-g7d70643cc3-dirty (Mar 16 2021 - 18:03:14 +0800)
+
+ CPU: rv64imafdc
+ Model: SiFive HiFive Unmatched A00
+ DRAM: 16 GiB
+ MMC: spi@10050000:mmc@0: 0
+ In: serial@10010000
+ Out: serial@10010000
+ Err: serial@10010000
+ Model: SiFive HiFive Unmatched A00
+ Net:
+ Error: ethernet@10090000 address not set.
+ No ethernet found.
+
+ Hit any key to stop autoboot: 0
+ PCIe Link up, Gen1
+
+ Device 0: Vendor: 0x126f Rev: S1111A0L Prod: AA000000000000001995
+ Type: Hard Disk
+ Capacity: 488386.3 MB = 476.9 GB (1000215216 x 512)
+ ... is now current device
+ Scanning nvme 0:1...
+ libfdt fdt_check_header(): FDT_ERR_BADMAGIC
+ Scanning disk mmc@0.blk...
+ ** Unrecognized filesystem type **
+ ** Unrecognized filesystem type **
+ Scanning disk nvme#0.blk#0...
+ Found 8 disks
+ No EFI system partition
+
+ Error: ethernet@10090000 address not set.
+ BootOrder not defined
+ EFI boot manager: Cannot load any image
+ starting USB...
+ Bus xhci_pci: Register 4000840 NbrPorts 4
+ Starting the controller
+ USB XHCI 1.00
+ scanning bus xhci_pci for devices... 3 USB Device(s) found
+ scanning usb for storage devices... 0 Storage Device(s) found
+
+ Device 0: unknown device
+ switch to partitions #0, OK
+ mmc0 is current device
+ Scanning mmc 0:3...
+ Found /extlinux/extlinux.conf
+ Retrieving file: /extlinux/extlinux.conf
+ 205 bytes read in 9 ms (21.5 KiB/s)
+ 1: OpenEmbedded-SiFive-HiFive-Unmatched
+ Retrieving file: /Image.gz
+ 7225919 bytes read in 4734 ms (1.5 MiB/s)
+ append: root=/dev/mmcblk0p4 rootfstype=ext4 rootwait console=ttySIF0,115200 earlycon=sbi
+ Retrieving file: /hifive-unmatched-a00.dtb
+ 10445 bytes read in 13 ms (784.2 KiB/s)
+ Uncompressing Kernel Image
+ Moving Image from 0x84000000 to 0x80200000, end=81629000
+ ## Flattened Device Tree blob at 88000000
+ Booting using the fdt blob at 0x88000000
+ Using Device Tree in place at 0000000088000000, end 00000000880058cc
+
+ Starting kernel ...
+
+ [ 0.000000] Linux version 5.10.15 (oe-user@oe-host) (riscv64-oe-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.0.201
+ [ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
+ [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
+ [ 0.000000] printk: bootconsole [sbi0] enabled
+ [ 0.000000] efi: UEFI not found.
+ [ 0.000000] Zone ranges:
+ [ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff]
+ [ 0.000000] Normal [mem 0x0000000100000000-0x000000027fffffff]
+ [ 0.000000] Movable zone start for each node
+ [ 0.000000] Early memory node ranges
+ [ 0.000000] node 0: [mem 0x0000000080200000-0x000000027fffffff]
+ [ 0.000000] Zeroed struct page in unavailable ranges: 512 pages
+ [ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x000000027fffffff]
+ [ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
+ [ 0.000000] SBI specification v0.3 detected
+ [ 0.000000] SBI implementation ID=0x1 Version=0x9
+ [ 0.000000] SBI v0.2 TIME extension detected
+ [ 0.000000] SBI v0.2 IPI extension detected
+ [ 0.000000] SBI v0.2 RFENCE extension detected
+ [ 0.000000] SBI v0.2 HSM extension detected
+ [ 0.000000] CPU with hartid=0 is not available
+ [ 0.000000] CPU with hartid=0 is not available
+ [ 0.000000] riscv: ISA extensions acdfim
+ [ 0.000000] riscv: ELF capabilities acdfim
+ [ 0.000000] percpu: Embedded 26 pages/cpu s66904 r8192 d31400 u106496
+ [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2067975
+ [ 0.000000] Kernel command line: root=/dev/mmcblk0p4 rootfstype=ext4 rootwait console=ttySIF0,115200 earlycon=sbi
+ [ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
+ [ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
+ [ 0.000000] Sorting __ex_table...
+ [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
+ [ 0.000000] Memory: 8155880K/8386560K available (8490K kernel code, 5515K rwdata, 4096K rodata, 285K init, 383K bss, 23)
+ [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
+ [ 0.000000] rcu: Hierarchical RCU implementation.
+ [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
+ [ 0.000000] Tracing variant of Tasks RCU enabled.
+ [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
+ [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
+ [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
+ [ 0.000000] CPU with hartid=0 is not available
+ [ 0.000000] riscv-intc: unable to find hart id for /cpus/cpu@0/interrupt-controller
+ [ 0.000000] riscv-intc: 64 local interrupts mapped
+ [ 0.000000] plic: interrupt-controller@c000000: mapped 69 interrupts with 4 handlers for 9 contexts.
+ [ 0.000000] random: get_random_bytes called from 0xffffffe000002a6a with crng_init=0
+ [ 0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [1]
+ [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 352636161696s
+ [ 0.000007] sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns
+ [ 0.008626] Console: colour dummy device 80x25
+ [ 0.013049] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=4000)
+ [ 0.023115] pid_max: default: 32768 minimum: 301
+ [ 0.028423] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
+ [ 0.035919] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
+ [ 0.045957] rcu: Hierarchical SRCU implementation.
+ [ 0.050393] EFI services will not be available.
+ [ 0.055132] smp: Bringing up secondary CPUs ...
+ [ 0.061824] smp: Brought up 1 node, 4 CPUs
+ [ 0.067458] devtmpfs: initialized
+ [ 0.072700] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
+ [ 0.081789] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
+ [ 0.089738] NET: Registered protocol family 16
+ [ 0.093999] thermal_sys: Registered thermal governor 'step_wise'
+ [ 0.109208] iommu: Default domain type: Translated
+ [ 0.119694] vgaarb: loaded
+ [ 0.122571] SCSI subsystem initialized
+ [ 0.126499] usbcore: registered new interface driver usbfs
+ [ 0.131686] usbcore: registered new interface driver hub
+ [ 0.137071] usbcore: registered new device driver usb
+ [ 0.142286] EDAC MC: Ver: 3.0.0
+ [ 0.145760] Advanced Linux Sound Architecture Driver Initialized.
+ [ 0.152205] clocksource: Switched to clocksource riscv_clocksource
+ [ 1.046286] VFS: Disk quotas dquot_6.6.0
+ [ 1.049651] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
+ [ 1.062844] NET: Registered protocol family 2
+ [ 1.067172] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
+ [ 1.075455] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
+ [ 1.085428] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
+ [ 1.096548] TCP: Hash tables configured (established 65536 bind 65536)
+ [ 1.103043] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
+ [ 1.109879] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
+ [ 1.117413] NET: Registered protocol family 1
+ [ 1.121881] RPC: Registered named UNIX socket transport module.
+ [ 1.127139] RPC: Registered udp transport module.
+ [ 1.131901] RPC: Registered tcp transport module.
+ [ 1.136677] RPC: Registered tcp NFSv4.1 backchannel transport module.
+ [ 1.143194] PCI: CLS 0 bytes, default 64
+ [ 1.148359] Initialise system trusted keyrings
+ [ 1.152364] workingset: timestamp_bits=62 max_order=21 bucket_order=0
+ [ 1.165382] NFS: Registering the id_resolver key type
+ [ 1.169781] Key type id_resolver registered
+ [ 1.174011] Key type id_legacy registered
+ [ 1.178179] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
+ [ 1.184874] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
+ [ 1.192453] 9p: Installing v9fs 9p2000 file system support
+ [ 1.198116] NET: Registered protocol family 38
+ [ 1.201886] Key type asymmetric registered
+ [ 1.206046] Asymmetric key parser 'x509' registered
+ [ 1.211029] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
+ [ 1.218468] io scheduler mq-deadline registered
+ [ 1.223072] io scheduler kyber registered
+ [ 1.228803] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
+ [ 1.235017] fu740-pcie e00000000.pcie: FPGA PCIE PROBE
+ [ 1.281706] fu740-pcie e00000000.pcie: PCIE-PERSTN is GPIO 504
+ [ 1.286922] fu740-pcie e00000000.pcie: PWREN is GPIO 501
+ [ 1.292377] fu740-pcie e00000000.pcie: host bridge /soc/pcie@e00000000 ranges:
+ [ 1.299603] fu740-pcie e00000000.pcie: IO 0x0060080000..0x006008ffff -> 0x0060080000
+ [ 1.307922] fu740-pcie e00000000.pcie: MEM 0x0060090000..0x0070ffffff -> 0x0060090000
+ [ 1.316244] fu740-pcie e00000000.pcie: MEM 0x2000000000..0x3fffffffff -> 0x2000000000
+ [ 1.432223] fu740-pcie e00000000.pcie: PWREN enabling
+ [ 1.436607] fu740-pcie e00000000.pcie: PWREN valid
+ [ 1.560226] fu740-pcie e00000000.pcie: invalid resource
+ [ 1.664802] fu740-pcie e00000000.pcie: Link up
+ [ 1.768582] fu740-pcie e00000000.pcie: Link up
+ [ 1.872369] fu740-pcie e00000000.pcie: Link up
+ [ 1.876116] fu740-pcie e00000000.pcie: Link up, Gen3
+ [ 1.881352] fu740-pcie e00000000.pcie: PCI host bridge to bus 0000:00
+ [ 1.887700] pci_bus 0000:00: root bus resource [bus 00-ff]
+ [ 1.893247] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] (bus address [0x60080000-0x6008ffff])
+ [ 1.902807] pci_bus 0000:00: root bus resource [mem 0x60090000-0x70ffffff]
+ [ 1.909748] pci_bus 0000:00: root bus resource [mem 0x2000000000-0x3fffffffff pref]
+ [ 1.917517] pci 0000:00:00.0: [f15e:0000] type 01 class 0x060400
+ [ 1.923569] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
+ [ 1.929902] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
+ [ 1.936723] pci 0000:00:00.0: supports D1
+ [ 1.940755] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
+ [ 1.947619] pci 0000:01:00.0: [1b21:2824] type 01 class 0x060400
+ [ 1.953052] pci 0000:01:00.0: enabling Extended Tags
+ [ 1.958165] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
+ [ 1.976890] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
+ [ 1.984425] pci 0000:02:00.0: [1b21:2824] type 01 class 0x060400
+ [ 1.990396] pci 0000:02:00.0: enabling Extended Tags
+ [ 1.995509] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
+ [ 2.001938] pci 0000:02:02.0: [1b21:2824] type 01 class 0x060400
+ [ 2.007682] pci 0000:02:02.0: enabling Extended Tags
+ [ 2.012793] pci 0000:02:02.0: PME# supported from D0 D3hot D3cold
+ [ 2.019167] pci 0000:02:03.0: [1b21:2824] type 01 class 0x060400
+ [ 2.024966] pci 0000:02:03.0: enabling Extended Tags
+ [ 2.030075] pci 0000:02:03.0: PME# supported from D0 D3hot D3cold
+ [ 2.036468] pci 0000:02:04.0: [1b21:2824] type 01 class 0x060400
+ [ 2.042250] pci 0000:02:04.0: enabling Extended Tags
+ [ 2.047359] pci 0000:02:04.0: PME# supported from D0 D3hot D3cold
+ [ 2.053811] pci 0000:02:08.0: [1b21:2824] type 01 class 0x060400
+ [ 2.059534] pci 0000:02:08.0: enabling Extended Tags
+ [ 2.064647] pci 0000:02:08.0: PME# supported from D0 D3hot D3cold
+ [ 2.071499] pci 0000:02:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
+ [ 2.078837] pci 0000:02:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
+ [ 2.086911] pci 0000:02:03.0: bridge configuration invalid ([bus 00-00]), reconfiguring
+ [ 2.094987] pci 0000:02:04.0: bridge configuration invalid ([bus 00-00]), reconfiguring
+ [ 2.103075] pci 0000:02:08.0: bridge configuration invalid ([bus 00-00]), reconfiguring
+ [ 2.111901] pci_bus 0000:03: busn_res: [bus 03-ff] end is updated to 03
+ [ 2.118031] pci 0000:04:00.0: [1b21:1142] type 00 class 0x0c0330
+ [ 2.123968] pci 0000:04:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit]
+ [ 2.131038] pci 0000:04:00.0: PME# supported from D3cold
+ [ 2.148888] pci_bus 0000:04: busn_res: [bus 04-ff] end is updated to 04
+ [ 2.155588] pci_bus 0000:05: busn_res: [bus 05-ff] end is updated to 05
+ [ 2.162286] pci_bus 0000:06: busn_res: [bus 06-ff] end is updated to 06
+ [ 2.168408] pci 0000:07:00.0: [126f:2263] type 00 class 0x010802
+ [ 2.174351] pci 0000:07:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
+ [ 2.192890] pci_bus 0000:07: busn_res: [bus 07-ff] end is updated to 07
+ [ 2.198837] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 07
+ [ 2.205522] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 07
+ [ 2.212241] pci 0000:00:00.0: BAR 0: assigned [mem 0x60100000-0x601fffff]
+ [ 2.219067] pci 0000:00:00.0: BAR 14: assigned [mem 0x60200000-0x603fffff]
+ [ 2.226010] pci 0000:00:00.0: BAR 6: assigned [mem 0x60090000-0x6009ffff pref]
+ [ 2.233308] pci 0000:01:00.0: BAR 14: assigned [mem 0x60200000-0x603fffff]
+ [ 2.240259] pci 0000:02:02.0: BAR 14: assigned [mem 0x60200000-0x602fffff]
+ [ 2.247203] pci 0000:02:08.0: BAR 14: assigned [mem 0x60300000-0x603fffff]
+ [ 2.254150] pci 0000:02:00.0: PCI bridge to [bus 03]
+ [ 2.259217] pci 0000:04:00.0: BAR 0: assigned [mem 0x60200000-0x60207fff 64bit]
+ [ 2.266594] pci 0000:02:02.0: PCI bridge to [bus 04]
+ [ 2.271615] pci 0000:02:02.0: bridge window [mem 0x60200000-0x602fffff]
+ [ 2.278485] pci 0000:02:03.0: PCI bridge to [bus 05]
+ [ 2.283529] pci 0000:02:04.0: PCI bridge to [bus 06]
+ [ 2.288572] pci 0000:07:00.0: BAR 0: assigned [mem 0x60300000-0x60303fff 64bit]
+ [ 2.295952] pci 0000:02:08.0: PCI bridge to [bus 07]
+ [ 2.300973] pci 0000:02:08.0: bridge window [mem 0x60300000-0x603fffff]
+ [ 2.307842] pci 0000:01:00.0: PCI bridge to [bus 02-07]
+ [ 2.313133] pci 0000:01:00.0: bridge window [mem 0x60200000-0x603fffff]
+ [ 2.320009] pci 0000:00:00.0: PCI bridge to [bus 01-07]
+ [ 2.325288] pci 0000:00:00.0: bridge window [mem 0x60200000-0x603fffff]
+ [ 2.332808] pcieport 0000:00:00.0: AER: enabled with IRQ 51
+ [ 2.337946] pcieport 0000:01:00.0: enabling device (0000 -> 0002)
+ [ 2.344786] pcieport 0000:02:02.0: enabling device (0000 -> 0002)
+ [ 2.351328] pcieport 0000:02:08.0: enabling device (0000 -> 0002)
+ [ 2.357091] pci 0000:04:00.0: enabling device (0000 -> 0002)
+ [ 2.362751] switchtec: loaded.
+ [ 2.365933] L2CACHE: DataError @ 0x00000003.00964470
+ [ 2.365992] L2CACHE: No. of Banks in the cache: 4
+ [ 2.375414] L2CACHE: No. of ways per bank: 16
+ [ 2.379846] L2CACHE: Sets per bank: 512
+ [ 2.383751] L2CACHE: Bytes per cache block: 64
+ [ 2.388267] L2CACHE: Index of the largest way enabled: 15
+ [ 2.434865] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
+ [ 2.441695] 10010000.serial: ttySIF0 at MMIO 0x10010000 (irq = 1, base_baud = 115200) is a SiFive UART v0
+ [ 2.450625] printk: console [ttySIF0] enabled
+ [ 2.450625] printk: console [ttySIF0] enabled
+ [ 2.459360] printk: bootconsole [sbi0] disabled
+ [ 2.459360] printk: bootconsole [sbi0] disabled
+ [ 2.468824] 10011000.serial: ttySIF1 at MMIO 0x10011000 (irq = 2, base_baud = 115200) is a SiFive UART v0
+ [ 2.493853] loop: module loaded
+ [ 2.526475] nvme nvme0: pci function 0000:07:00.0
+ [ 2.530852] nvme 0000:07:00.0: enabling device (0000 -> 0002)
+ [ 2.537716] Rounding down aligned max_sectors from 4294967295 to 4294967288
+ [ 2.544470] db_root: cannot open: /etc/target
+ [ 2.545926] nvme nvme0: allocated 64 MiB host memory buffer.
+ [ 2.549020] sifive_spi 10040000.spi: mapped; irq=4, cs=1
+ [ 2.559941] spi-nor spi0.0: is25wp256 (32768 Kbytes)
+ [ 2.566431] sifive_spi 10050000.spi: mapped; irq=6, cs=1
+ [ 2.566707] nvme nvme0: 4/0/0 default/read/poll queues
+ [ 2.571935] libphy: Fixed MDIO Bus: probed
+ [ 2.580950] macb 10090000.ethernet: Registered clk switch 'sifive-gemgxl-mgmt'
+ [ 2.587536] macb 10090000.ethernet: invalid hw address, using random
+ [ 2.588100] nvme0n1: p1 p2
+ [ 2.593875] BEU: Load or Store TILINK BUS ERR occurred
+ [ 2.594342] libphy: MACB_mii_bus: probed
+ [ 2.599312] macb 10090000.ethernet eth0: Cadence GEM rev 0x10070109 at 0x10090000 irq 7 (5e:57:b8:ab:24:4a)
+ [ 2.615501] e1000e: Intel(R) PRO/1000 Network Driver
+ [ 2.620251] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
+ [ 2.626463] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
+ [ 2.632684] ehci-pci: EHCI PCI platform driver
+ [ 2.637144] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
+ [ 2.643273] ohci-pci: OHCI PCI platform driver
+ [ 2.647731] uhci_hcd: USB Universal Host Controller Interface driver
+ [ 2.654315] xhci_hcd 0000:04:00.0: xHCI Host Controller
+ [ 2.659450] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 1
+ [ 2.807373] xhci_hcd 0000:04:00.0: hcc params 0x0200e081 hci version 0x100 quirks 0x0000000010000410
+ [ 2.816609] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
+ [ 2.824115] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
+ [ 2.831312] usb usb1: Product: xHCI Host Controller
+ [ 2.836174] usb usb1: Manufacturer: Linux 5.10.15 xhci-hcd
+ [ 2.841652] usb usb1: SerialNumber: 0000:04:00.0
+ [ 2.846639] hub 1-0:1.0: USB hub found
+ [ 2.850037] hub 1-0:1.0: 2 ports detected
+ [ 2.854306] xhci_hcd 0000:04:00.0: xHCI Host Controller
+ [ 2.859335] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 2
+ [ 2.866599] xhci_hcd 0000:04:00.0: Host supports USB 3.0 SuperSpeed
+ [ 2.873638] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
+ [ 2.881074] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
+ [ 2.889212] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
+ [ 2.896422] usb usb2: Product: xHCI Host Controller
+ [ 2.901282] usb usb2: Manufacturer: Linux 5.10.15 xhci-hcd
+ [ 2.906752] usb usb2: SerialNumber: 0000:04:00.0
+ [ 2.911671] hub 2-0:1.0: USB hub found
+ [ 2.915130] hub 2-0:1.0: 2 ports detected
+ [ 2.919486] usbcore: registered new interface driver usb-storage
+ [ 2.925212] usbcore: registered new interface driver usbserial_generic
+ [ 2.931620] usbserial: USB Serial support registered for generic
+ [ 2.937771] mousedev: PS/2 mouse device common for all mice
+ [ 2.943220] usbcore: registered new interface driver usbtouchscreen
+ [ 2.949466] i2c /dev entries driver
+ [ 2.954218] lm90 0-004c: supply vcc not found, using dummy regulator
+ [ 2.961629] EDAC DEVICE0: Giving out device to module Sifive ECC Manager controller sifive_edac.0: DEV sifive_edac.0 (I)
+ [ 2.997874] mmc_spi spi1.0: SD/MMC host mmc0, no DMA, no WP, no poweroff, cd polling
+ [ 3.005138] ledtrig-cpu: registered to indicate activity on CPUs
+ [ 3.010980] usbcore: registered new interface driver usbhid
+ [ 3.016407] usbhid: USB HID core driver
+ [ 3.020540] usbcore: registered new interface driver snd-usb-audio
+ [ 3.027209] NET: Registered protocol family 10
+ [ 3.031878] Segment Routing with IPv6
+ [ 3.034864] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
+ [ 3.041232] NET: Registered protocol family 17
+ [ 3.045324] 9pnet: Installing 9P2000 support
+ [ 3.049397] Key type dns_resolver registered
+ [ 3.053786] Loading compiled-in X.509 certificates
+ [ 3.059729] ALSA device list:
+ [ 3.061943] No soundcards found.
+ [ 3.066057] Waiting for root device /dev/mmcblk0p4...
+ [ 3.077319] mmc0: host does not support reading read-only switch, assuming write-enable
+ [ 3.084564] mmc0: new SDHC card on SPI
+ [ 3.089699] mmcblk0: mmc0:0000 SD32G 29.7 GiB
+ [ 3.126488] GPT:Primary header thinks Alt. header is not at the end of the disk.
+ [ 3.133144] GPT:13918241 != 62333951
+ [ 3.136679] GPT:Alternate GPT header not at the end of the disk.
+ [ 3.142673] GPT:13918241 != 62333951
+ [ 3.146231] GPT: Use GNU Parted to correct GPT errors.
+ [ 3.151398] mmcblk0: p1 p2 p3 p4
+ [ 3.212226] usb 1-2: new high-speed USB device number 2 using xhci_hcd
+ [ 3.258310] EXT4-fs (mmcblk0p4): INFO: recovery required on readonly filesystem
+ [ 3.264855] EXT4-fs (mmcblk0p4): write access will be enabled during recovery
+ [ 3.458247] usb 1-2: New USB device found, idVendor=174c, idProduct=2074, bcdDevice= 0.01
+ [ 3.465662] usb 1-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
+ [ 3.472775] usb 1-2: Product: AS2107
+ [ 3.476336] usb 1-2: Manufacturer: ASMedia
+ [ 3.480419] usb 1-2: SerialNumber: USB2.0 Hub
+ [ 3.533583] EXT4-fs (mmcblk0p4): recovery complete
+ [ 3.543756] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null)
+ [ 3.551132] VFS: Mounted root (ext4 filesystem) readonly on device 179:4.
+ [ 3.554682] hub 1-2:1.0: USB hub found
+ [ 3.561105] devtmpfs: mounted
+ [ 3.561778] hub 1-2:1.0: 4 ports detected
+ [ 3.565546] Freeing unused kernel memory: 284K
+ [ 3.572964] Kernel memory protection not selected by kernel config.
+ [ 3.579225] Run /sbin/init as init process
+ [ 3.613136] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
+ [ 3.643539] usb 2-2: New USB device found, idVendor=174c, idProduct=3074, bcdDevice= 0.01
+ [ 3.650948] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
+ [ 3.658072] usb 2-2: Product: AS2107
+ [ 3.661630] usb 2-2: Manufacturer: ASMedia
+ [ 3.665709] usb 2-2: SerialNumber: USB2.0 Hub
+ [ 3.762380] hub 2-2:1.0: USB hub found
+ [ 3.766074] hub 2-2:1.0: 4 ports detected
+ [ 7.487226] systemd[1]: System time before build time, advancing clock.
+ [ 7.788093] systemd[1]: systemd 247.2+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +U)
+ [ 7.809694] systemd[1]: Detected architecture riscv64.
+
+ Welcome to OpenEmbedded nodistro.0!
+
+ [ 7.832648] systemd[1]: Set hostname to <unmatched>.
+ [ 9.397499] systemd[1]: Queued start job for default target Multi-User System.
+ [ 9.408518] random: systemd: uninitialized urandom read (16 bytes read)
+ [ 9.429329] systemd[1]: Created slice system-getty.slice.
+ [ OK ] Created slice system-getty.slice.
+ [ 9.440400] random: systemd: uninitialized urandom read (16 bytes read)
+ [ 9.447086] systemd[1]: Created slice system-modprobe.slice.
+ [ OK ] Created slice system-modprobe.slice.
+ [ 9.458480] random: systemd: uninitialized urandom read (16 bytes read)
+ [ 9.465436] systemd[1]: Created slice system-serial\x2dgetty.slice.
+ [ OK ] Created slice system-serial\x2dgetty.slice.
+ [ 9.478594] systemd[1]: Created slice User and Session Slice.
+ [ OK ] Created slice User and Session Slice.
+ [ 9.490225] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
+ [ OK ] Started Dispatch Password ��…ts to Console Directory Watch.
+ [ 9.506407] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
+ [ OK ] Started Forward Password R��…uests to Wall Directory Watch.
+ [ 9.522312] systemd[1]: Reached target Paths.
+ [ OK ] Reached target Paths.
+ [ 9.531078] systemd[1]: Reached target Remote File Systems.
+ [ OK ] Reached target Remote File Systems.
+ [ 9.542855] systemd[1]: Reached target Slices.
+ [ OK ] Reached target Slices.
+ [ 9.552712] systemd[1]: Reached target Swap.
+ [ OK ] Reached target Swap.
+ [ 9.561566] systemd[1]: Listening on initctl Compatibility Named Pipe.
+ [ OK ] Listening on initctl Compatibility Named Pipe.
+ [ 9.578686] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
+ [ 9.586545] systemd[1]: Listening on Journal Socket (/dev/log).
+ [ OK ] Listening on Journal Socket (/dev/log).
+
+ [snip]
+
+ [ OK ] Reached target System Time Synchronized.
+ [ OK ] Reached target Timers.
+ [ OK ] Listening on D-Bus System Message Bus Socket.
+ [ OK ] Reached target Sockets.
+ [ OK ] Reached target Basic System.
+ [ OK ] Started D-Bus System Message Bus.
+ Starting User Login Management...
+ Starting Permit User Sessions...
+ [ OK ] Started Xinetd A Powerful Replacement For Inetd.
+ [ OK ] Finished Permit User Sessions.
+ [ OK ] Started Getty on tty1.
+ [ OK ] Started Serial Getty on hvc0.
+ [ OK ] Started Serial Getty on ttySIF0.
+ [ OK ] Reached target Login Prompts.
+ [ OK ] Started User Login Management.
+ [ OK ] Reached target Multi-User System.
+ Starting Update UTMP about System Runlevel Changes...
+ [ OK ] Finished Update UTMP about System Runlevel Changes.
+
+ OpenEmbedded nodistro.0 unmatched hvc0
+
+ unmatched login:
+ OpenEmbedded nodistro.0 unmatched ttySIF0
+
+ unmatched login: