Green Wan | 2e5da52 | 2021-05-27 06:52:13 -0700 | [diff] [blame] | 1 | .. SPDX-License-Identifier: GPL-2.0+ |
| 2 | |
| 3 | HiFive Unmatched |
| 4 | ================ |
| 5 | |
| 6 | FU740-C000 RISC-V SoC |
| 7 | --------------------- |
| 8 | The FU740-C000 is a 4+1 64-bit RISC-V core SoC from SiFive. |
| 9 | |
| 10 | The HiFive Unmatched development platform is based on FU740-C000 and capable |
| 11 | of running Linux. |
| 12 | |
| 13 | Mainline support |
| 14 | ---------------- |
| 15 | The support for following drivers are already enabled: |
| 16 | |
| 17 | 1. SiFive UART Driver. |
| 18 | 2. SiFive PRCI Driver for clock. |
| 19 | 3. Cadence MACB ethernet driver for networking support. |
| 20 | 4. SiFive SPI Driver. |
| 21 | 5. MMC SPI Driver for MMC/SD support. |
| 22 | |
Heinrich Schuchardt | 5d327b2 | 2022-01-27 02:50:28 +0100 | [diff] [blame] | 23 | Booting from micro SD card using U-Boot SPL |
| 24 | ------------------------------------------- |
| 25 | |
| 26 | Booting from an SD card requires that the boot mode selection DIP switches |
| 27 | MSEL[3:0] are set to 1011. |
Green Wan | 2e5da52 | 2021-05-27 06:52:13 -0700 | [diff] [blame] | 28 | |
| 29 | Building |
| 30 | -------- |
| 31 | |
| 32 | Before building U-Boot SPL, OpenSBI must be built first. OpenSBI can be |
| 33 | cloned and built for FU740 as below: |
| 34 | |
| 35 | .. code-block:: console |
| 36 | |
| 37 | git clone https://github.com/riscv/opensbi.git |
| 38 | cd opensbi |
| 39 | make PLATFORM=generic |
| 40 | export OPENSBI=<path to opensbi/build/platform/generic/firmware/fw_dynamic.bin> |
| 41 | |
| 42 | Now build the U-Boot SPL and U-Boot proper |
| 43 | |
| 44 | .. code-block:: console |
| 45 | |
| 46 | cd <U-Boot-dir> |
| 47 | make sifive_unmatched_defconfig |
| 48 | make |
| 49 | |
| 50 | This will generate spl/u-boot-spl.bin and u-boot.itb |
| 51 | |
| 52 | |
| 53 | Flashing |
| 54 | -------- |
| 55 | |
| 56 | ZSBL loads the U-Boot SPL (u-boot-spl.bin) from a partition with GUID type |
| 57 | 5B193300-FC78-40CD-8002-E86C45580B47 |
| 58 | |
| 59 | U-Boot SPL expects u-boot.itb from a partition with GUID |
| 60 | type 2E54B353-1271-4842-806F-E436D6AF6985 |
| 61 | |
| 62 | u-boot.itb is a combination of fw_dynamic.bin, u-boot-nodtb.bin and |
| 63 | device tree blob (hifive-unmatched-a00.dtb) |
| 64 | |
| 65 | Format the SD card (make sure the disk has GPT, otherwise use gdisk to switch) |
| 66 | |
Heinrich Schuchardt | bc856e4 | 2021-07-28 10:52:53 +0200 | [diff] [blame] | 67 | .. code-block:: bash |
Green Wan | 2e5da52 | 2021-05-27 06:52:13 -0700 | [diff] [blame] | 68 | |
Heinrich Schuchardt | bc856e4 | 2021-07-28 10:52:53 +0200 | [diff] [blame] | 69 | sudo sgdisk -g --clear -a 1 \ |
| 70 | --new=1:34:2081 --change-name=1:spl --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \ |
| 71 | --new=2:2082:10273 --change-name=2:uboot --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \ |
| 72 | --new=3:16384:282623 --change-name=3:boot --typecode=3:0x0700 \ |
| 73 | --new=4:286720:13918207 --change-name=4:root --typecode=4:0x8300 \ |
| 74 | /dev/sdX |
Green Wan | 2e5da52 | 2021-05-27 06:52:13 -0700 | [diff] [blame] | 75 | |
| 76 | Copy linux Image.gz and hifive-unmatched-a00.dtb to boot partition |
| 77 | |
Heinrich Schuchardt | bc856e4 | 2021-07-28 10:52:53 +0200 | [diff] [blame] | 78 | .. code-block:: bash |
Green Wan | 2e5da52 | 2021-05-27 06:52:13 -0700 | [diff] [blame] | 79 | |
Heinrich Schuchardt | bc856e4 | 2021-07-28 10:52:53 +0200 | [diff] [blame] | 80 | sudo mkfs.vfat /dev/sdX3 |
| 81 | sudo mkfs.ext4 /dev/sdX4 |
Green Wan | 2e5da52 | 2021-05-27 06:52:13 -0700 | [diff] [blame] | 82 | |
Heinrich Schuchardt | bc856e4 | 2021-07-28 10:52:53 +0200 | [diff] [blame] | 83 | sudo mount /dev/sdX3 /media/sdX3 |
| 84 | sudo cp Image.gz hifive-unmatched-a00.dtb /media/sdX3/ |
Green Wan | 2e5da52 | 2021-05-27 06:52:13 -0700 | [diff] [blame] | 85 | |
| 86 | Program the SD card |
| 87 | |
Heinrich Schuchardt | bc856e4 | 2021-07-28 10:52:53 +0200 | [diff] [blame] | 88 | .. code-block:: bash |
Green Wan | 2e5da52 | 2021-05-27 06:52:13 -0700 | [diff] [blame] | 89 | |
Heinrich Schuchardt | bc856e4 | 2021-07-28 10:52:53 +0200 | [diff] [blame] | 90 | sudo dd if=spl/u-boot-spl.bin of=/dev/sdX seek=34 |
| 91 | sudo dd if=u-boot.itb of=/dev/sdX seek=2082 |
Green Wan | 2e5da52 | 2021-05-27 06:52:13 -0700 | [diff] [blame] | 92 | |
| 93 | Booting |
| 94 | ------- |
| 95 | Once you plugin the sdcard and power up, you should see the U-Boot prompt. |
| 96 | |
| 97 | |
| 98 | Loading the kernel and dtb |
| 99 | |
| 100 | .. code-block:: none |
| 101 | |
| 102 | fatload mmc 0:3 ${kernel_addr_r} Image.gz |
| 103 | fatload mmc 0:3 ${fdt_addr_r} hifive-unmatched-a00.dtb |
| 104 | booti ${kernel_addr_r} - ${fdt_addr_r} |
| 105 | |
| 106 | |
| 107 | Sample boot log from HiFive Unmatched board |
| 108 | ------------------------------------------- |
| 109 | |
| 110 | .. code-block:: none |
| 111 | |
| 112 | U-Boot SPL 2021.04-rc4-00009-g7d70643cc3-dirty (Mar 16 2021 - 18:03:14 +0800) |
| 113 | Trying to boot from MMC1 |
| 114 | |
| 115 | U-Boot 2021.04-rc4-00009-g7d70643cc3-dirty (Mar 16 2021 - 18:03:14 +0800) |
| 116 | |
| 117 | CPU: rv64imafdc |
| 118 | Model: SiFive HiFive Unmatched A00 |
| 119 | DRAM: 16 GiB |
| 120 | MMC: spi@10050000:mmc@0: 0 |
| 121 | In: serial@10010000 |
| 122 | Out: serial@10010000 |
| 123 | Err: serial@10010000 |
| 124 | Model: SiFive HiFive Unmatched A00 |
| 125 | Net: |
| 126 | Error: ethernet@10090000 address not set. |
| 127 | No ethernet found. |
| 128 | |
| 129 | Hit any key to stop autoboot: 0 |
| 130 | PCIe Link up, Gen1 |
| 131 | |
| 132 | Device 0: Vendor: 0x126f Rev: S1111A0L Prod: AA000000000000001995 |
| 133 | Type: Hard Disk |
| 134 | Capacity: 488386.3 MB = 476.9 GB (1000215216 x 512) |
| 135 | ... is now current device |
| 136 | Scanning nvme 0:1... |
| 137 | libfdt fdt_check_header(): FDT_ERR_BADMAGIC |
| 138 | Scanning disk mmc@0.blk... |
| 139 | ** Unrecognized filesystem type ** |
| 140 | ** Unrecognized filesystem type ** |
| 141 | Scanning disk nvme#0.blk#0... |
| 142 | Found 8 disks |
| 143 | No EFI system partition |
| 144 | |
| 145 | Error: ethernet@10090000 address not set. |
| 146 | BootOrder not defined |
| 147 | EFI boot manager: Cannot load any image |
| 148 | starting USB... |
| 149 | Bus xhci_pci: Register 4000840 NbrPorts 4 |
| 150 | Starting the controller |
| 151 | USB XHCI 1.00 |
| 152 | scanning bus xhci_pci for devices... 3 USB Device(s) found |
| 153 | scanning usb for storage devices... 0 Storage Device(s) found |
| 154 | |
| 155 | Device 0: unknown device |
| 156 | switch to partitions #0, OK |
| 157 | mmc0 is current device |
| 158 | Scanning mmc 0:3... |
| 159 | Found /extlinux/extlinux.conf |
| 160 | Retrieving file: /extlinux/extlinux.conf |
| 161 | 205 bytes read in 9 ms (21.5 KiB/s) |
| 162 | 1: OpenEmbedded-SiFive-HiFive-Unmatched |
| 163 | Retrieving file: /Image.gz |
| 164 | 7225919 bytes read in 4734 ms (1.5 MiB/s) |
| 165 | append: root=/dev/mmcblk0p4 rootfstype=ext4 rootwait console=ttySIF0,115200 earlycon=sbi |
| 166 | Retrieving file: /hifive-unmatched-a00.dtb |
| 167 | 10445 bytes read in 13 ms (784.2 KiB/s) |
| 168 | Uncompressing Kernel Image |
| 169 | Moving Image from 0x84000000 to 0x80200000, end=81629000 |
| 170 | ## Flattened Device Tree blob at 88000000 |
| 171 | Booting using the fdt blob at 0x88000000 |
| 172 | Using Device Tree in place at 0000000088000000, end 00000000880058cc |
| 173 | |
| 174 | Starting kernel ... |
| 175 | |
| 176 | [ 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 |
| 177 | [ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000 |
| 178 | [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '') |
| 179 | [ 0.000000] printk: bootconsole [sbi0] enabled |
| 180 | [ 0.000000] efi: UEFI not found. |
| 181 | [ 0.000000] Zone ranges: |
| 182 | [ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff] |
| 183 | [ 0.000000] Normal [mem 0x0000000100000000-0x000000027fffffff] |
| 184 | [ 0.000000] Movable zone start for each node |
| 185 | [ 0.000000] Early memory node ranges |
| 186 | [ 0.000000] node 0: [mem 0x0000000080200000-0x000000027fffffff] |
| 187 | [ 0.000000] Zeroed struct page in unavailable ranges: 512 pages |
| 188 | [ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x000000027fffffff] |
| 189 | [ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB) |
| 190 | [ 0.000000] SBI specification v0.3 detected |
| 191 | [ 0.000000] SBI implementation ID=0x1 Version=0x9 |
| 192 | [ 0.000000] SBI v0.2 TIME extension detected |
| 193 | [ 0.000000] SBI v0.2 IPI extension detected |
| 194 | [ 0.000000] SBI v0.2 RFENCE extension detected |
| 195 | [ 0.000000] SBI v0.2 HSM extension detected |
| 196 | [ 0.000000] CPU with hartid=0 is not available |
| 197 | [ 0.000000] CPU with hartid=0 is not available |
| 198 | [ 0.000000] riscv: ISA extensions acdfim |
| 199 | [ 0.000000] riscv: ELF capabilities acdfim |
| 200 | [ 0.000000] percpu: Embedded 26 pages/cpu s66904 r8192 d31400 u106496 |
| 201 | [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2067975 |
| 202 | [ 0.000000] Kernel command line: root=/dev/mmcblk0p4 rootfstype=ext4 rootwait console=ttySIF0,115200 earlycon=sbi |
| 203 | [ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear) |
| 204 | [ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) |
| 205 | [ 0.000000] Sorting __ex_table... |
| 206 | [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off |
| 207 | [ 0.000000] Memory: 8155880K/8386560K available (8490K kernel code, 5515K rwdata, 4096K rodata, 285K init, 383K bss, 23) |
| 208 | [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 |
| 209 | [ 0.000000] rcu: Hierarchical RCU implementation. |
| 210 | [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4. |
| 211 | [ 0.000000] Tracing variant of Tasks RCU enabled. |
| 212 | [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. |
| 213 | [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 |
| 214 | [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 |
| 215 | [ 0.000000] CPU with hartid=0 is not available |
| 216 | [ 0.000000] riscv-intc: unable to find hart id for /cpus/cpu@0/interrupt-controller |
| 217 | [ 0.000000] riscv-intc: 64 local interrupts mapped |
| 218 | [ 0.000000] plic: interrupt-controller@c000000: mapped 69 interrupts with 4 handlers for 9 contexts. |
| 219 | [ 0.000000] random: get_random_bytes called from 0xffffffe000002a6a with crng_init=0 |
| 220 | [ 0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [1] |
| 221 | [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 352636161696s |
| 222 | [ 0.000007] sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns |
| 223 | [ 0.008626] Console: colour dummy device 80x25 |
| 224 | [ 0.013049] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=4000) |
| 225 | [ 0.023115] pid_max: default: 32768 minimum: 301 |
| 226 | [ 0.028423] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) |
| 227 | [ 0.035919] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) |
| 228 | [ 0.045957] rcu: Hierarchical SRCU implementation. |
| 229 | [ 0.050393] EFI services will not be available. |
| 230 | [ 0.055132] smp: Bringing up secondary CPUs ... |
| 231 | [ 0.061824] smp: Brought up 1 node, 4 CPUs |
| 232 | [ 0.067458] devtmpfs: initialized |
| 233 | [ 0.072700] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns |
| 234 | [ 0.081789] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) |
| 235 | [ 0.089738] NET: Registered protocol family 16 |
| 236 | [ 0.093999] thermal_sys: Registered thermal governor 'step_wise' |
| 237 | [ 0.109208] iommu: Default domain type: Translated |
| 238 | [ 0.119694] vgaarb: loaded |
| 239 | [ 0.122571] SCSI subsystem initialized |
| 240 | [ 0.126499] usbcore: registered new interface driver usbfs |
| 241 | [ 0.131686] usbcore: registered new interface driver hub |
| 242 | [ 0.137071] usbcore: registered new device driver usb |
| 243 | [ 0.142286] EDAC MC: Ver: 3.0.0 |
| 244 | [ 0.145760] Advanced Linux Sound Architecture Driver Initialized. |
| 245 | [ 0.152205] clocksource: Switched to clocksource riscv_clocksource |
| 246 | [ 1.046286] VFS: Disk quotas dquot_6.6.0 |
| 247 | [ 1.049651] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) |
| 248 | [ 1.062844] NET: Registered protocol family 2 |
| 249 | [ 1.067172] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear) |
| 250 | [ 1.075455] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear) |
| 251 | [ 1.085428] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear) |
| 252 | [ 1.096548] TCP: Hash tables configured (established 65536 bind 65536) |
| 253 | [ 1.103043] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear) |
| 254 | [ 1.109879] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear) |
| 255 | [ 1.117413] NET: Registered protocol family 1 |
| 256 | [ 1.121881] RPC: Registered named UNIX socket transport module. |
| 257 | [ 1.127139] RPC: Registered udp transport module. |
| 258 | [ 1.131901] RPC: Registered tcp transport module. |
| 259 | [ 1.136677] RPC: Registered tcp NFSv4.1 backchannel transport module. |
| 260 | [ 1.143194] PCI: CLS 0 bytes, default 64 |
| 261 | [ 1.148359] Initialise system trusted keyrings |
| 262 | [ 1.152364] workingset: timestamp_bits=62 max_order=21 bucket_order=0 |
| 263 | [ 1.165382] NFS: Registering the id_resolver key type |
| 264 | [ 1.169781] Key type id_resolver registered |
| 265 | [ 1.174011] Key type id_legacy registered |
| 266 | [ 1.178179] nfs4filelayout_init: NFSv4 File Layout Driver Registering... |
| 267 | [ 1.184874] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). |
| 268 | [ 1.192453] 9p: Installing v9fs 9p2000 file system support |
| 269 | [ 1.198116] NET: Registered protocol family 38 |
| 270 | [ 1.201886] Key type asymmetric registered |
| 271 | [ 1.206046] Asymmetric key parser 'x509' registered |
| 272 | [ 1.211029] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) |
| 273 | [ 1.218468] io scheduler mq-deadline registered |
| 274 | [ 1.223072] io scheduler kyber registered |
| 275 | [ 1.228803] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 |
| 276 | [ 1.235017] fu740-pcie e00000000.pcie: FPGA PCIE PROBE |
| 277 | [ 1.281706] fu740-pcie e00000000.pcie: PCIE-PERSTN is GPIO 504 |
| 278 | [ 1.286922] fu740-pcie e00000000.pcie: PWREN is GPIO 501 |
| 279 | [ 1.292377] fu740-pcie e00000000.pcie: host bridge /soc/pcie@e00000000 ranges: |
| 280 | [ 1.299603] fu740-pcie e00000000.pcie: IO 0x0060080000..0x006008ffff -> 0x0060080000 |
| 281 | [ 1.307922] fu740-pcie e00000000.pcie: MEM 0x0060090000..0x0070ffffff -> 0x0060090000 |
| 282 | [ 1.316244] fu740-pcie e00000000.pcie: MEM 0x2000000000..0x3fffffffff -> 0x2000000000 |
| 283 | [ 1.432223] fu740-pcie e00000000.pcie: PWREN enabling |
| 284 | [ 1.436607] fu740-pcie e00000000.pcie: PWREN valid |
| 285 | [ 1.560226] fu740-pcie e00000000.pcie: invalid resource |
| 286 | [ 1.664802] fu740-pcie e00000000.pcie: Link up |
| 287 | [ 1.768582] fu740-pcie e00000000.pcie: Link up |
| 288 | [ 1.872369] fu740-pcie e00000000.pcie: Link up |
| 289 | [ 1.876116] fu740-pcie e00000000.pcie: Link up, Gen3 |
| 290 | [ 1.881352] fu740-pcie e00000000.pcie: PCI host bridge to bus 0000:00 |
| 291 | [ 1.887700] pci_bus 0000:00: root bus resource [bus 00-ff] |
| 292 | [ 1.893247] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] (bus address [0x60080000-0x6008ffff]) |
| 293 | [ 1.902807] pci_bus 0000:00: root bus resource [mem 0x60090000-0x70ffffff] |
| 294 | [ 1.909748] pci_bus 0000:00: root bus resource [mem 0x2000000000-0x3fffffffff pref] |
| 295 | [ 1.917517] pci 0000:00:00.0: [f15e:0000] type 01 class 0x060400 |
| 296 | [ 1.923569] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff] |
| 297 | [ 1.929902] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref] |
| 298 | [ 1.936723] pci 0000:00:00.0: supports D1 |
| 299 | [ 1.940755] pci 0000:00:00.0: PME# supported from D0 D1 D3hot |
| 300 | [ 1.947619] pci 0000:01:00.0: [1b21:2824] type 01 class 0x060400 |
| 301 | [ 1.953052] pci 0000:01:00.0: enabling Extended Tags |
| 302 | [ 1.958165] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold |
| 303 | [ 1.976890] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring |
| 304 | [ 1.984425] pci 0000:02:00.0: [1b21:2824] type 01 class 0x060400 |
| 305 | [ 1.990396] pci 0000:02:00.0: enabling Extended Tags |
| 306 | [ 1.995509] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold |
| 307 | [ 2.001938] pci 0000:02:02.0: [1b21:2824] type 01 class 0x060400 |
| 308 | [ 2.007682] pci 0000:02:02.0: enabling Extended Tags |
| 309 | [ 2.012793] pci 0000:02:02.0: PME# supported from D0 D3hot D3cold |
| 310 | [ 2.019167] pci 0000:02:03.0: [1b21:2824] type 01 class 0x060400 |
| 311 | [ 2.024966] pci 0000:02:03.0: enabling Extended Tags |
| 312 | [ 2.030075] pci 0000:02:03.0: PME# supported from D0 D3hot D3cold |
| 313 | [ 2.036468] pci 0000:02:04.0: [1b21:2824] type 01 class 0x060400 |
| 314 | [ 2.042250] pci 0000:02:04.0: enabling Extended Tags |
| 315 | [ 2.047359] pci 0000:02:04.0: PME# supported from D0 D3hot D3cold |
| 316 | [ 2.053811] pci 0000:02:08.0: [1b21:2824] type 01 class 0x060400 |
| 317 | [ 2.059534] pci 0000:02:08.0: enabling Extended Tags |
| 318 | [ 2.064647] pci 0000:02:08.0: PME# supported from D0 D3hot D3cold |
| 319 | [ 2.071499] pci 0000:02:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring |
| 320 | [ 2.078837] pci 0000:02:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring |
| 321 | [ 2.086911] pci 0000:02:03.0: bridge configuration invalid ([bus 00-00]), reconfiguring |
| 322 | [ 2.094987] pci 0000:02:04.0: bridge configuration invalid ([bus 00-00]), reconfiguring |
| 323 | [ 2.103075] pci 0000:02:08.0: bridge configuration invalid ([bus 00-00]), reconfiguring |
| 324 | [ 2.111901] pci_bus 0000:03: busn_res: [bus 03-ff] end is updated to 03 |
| 325 | [ 2.118031] pci 0000:04:00.0: [1b21:1142] type 00 class 0x0c0330 |
| 326 | [ 2.123968] pci 0000:04:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit] |
| 327 | [ 2.131038] pci 0000:04:00.0: PME# supported from D3cold |
| 328 | [ 2.148888] pci_bus 0000:04: busn_res: [bus 04-ff] end is updated to 04 |
| 329 | [ 2.155588] pci_bus 0000:05: busn_res: [bus 05-ff] end is updated to 05 |
| 330 | [ 2.162286] pci_bus 0000:06: busn_res: [bus 06-ff] end is updated to 06 |
| 331 | [ 2.168408] pci 0000:07:00.0: [126f:2263] type 00 class 0x010802 |
| 332 | [ 2.174351] pci 0000:07:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit] |
| 333 | [ 2.192890] pci_bus 0000:07: busn_res: [bus 07-ff] end is updated to 07 |
| 334 | [ 2.198837] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 07 |
| 335 | [ 2.205522] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 07 |
| 336 | [ 2.212241] pci 0000:00:00.0: BAR 0: assigned [mem 0x60100000-0x601fffff] |
| 337 | [ 2.219067] pci 0000:00:00.0: BAR 14: assigned [mem 0x60200000-0x603fffff] |
| 338 | [ 2.226010] pci 0000:00:00.0: BAR 6: assigned [mem 0x60090000-0x6009ffff pref] |
| 339 | [ 2.233308] pci 0000:01:00.0: BAR 14: assigned [mem 0x60200000-0x603fffff] |
| 340 | [ 2.240259] pci 0000:02:02.0: BAR 14: assigned [mem 0x60200000-0x602fffff] |
| 341 | [ 2.247203] pci 0000:02:08.0: BAR 14: assigned [mem 0x60300000-0x603fffff] |
| 342 | [ 2.254150] pci 0000:02:00.0: PCI bridge to [bus 03] |
| 343 | [ 2.259217] pci 0000:04:00.0: BAR 0: assigned [mem 0x60200000-0x60207fff 64bit] |
| 344 | [ 2.266594] pci 0000:02:02.0: PCI bridge to [bus 04] |
| 345 | [ 2.271615] pci 0000:02:02.0: bridge window [mem 0x60200000-0x602fffff] |
| 346 | [ 2.278485] pci 0000:02:03.0: PCI bridge to [bus 05] |
| 347 | [ 2.283529] pci 0000:02:04.0: PCI bridge to [bus 06] |
| 348 | [ 2.288572] pci 0000:07:00.0: BAR 0: assigned [mem 0x60300000-0x60303fff 64bit] |
| 349 | [ 2.295952] pci 0000:02:08.0: PCI bridge to [bus 07] |
| 350 | [ 2.300973] pci 0000:02:08.0: bridge window [mem 0x60300000-0x603fffff] |
| 351 | [ 2.307842] pci 0000:01:00.0: PCI bridge to [bus 02-07] |
| 352 | [ 2.313133] pci 0000:01:00.0: bridge window [mem 0x60200000-0x603fffff] |
| 353 | [ 2.320009] pci 0000:00:00.0: PCI bridge to [bus 01-07] |
| 354 | [ 2.325288] pci 0000:00:00.0: bridge window [mem 0x60200000-0x603fffff] |
| 355 | [ 2.332808] pcieport 0000:00:00.0: AER: enabled with IRQ 51 |
| 356 | [ 2.337946] pcieport 0000:01:00.0: enabling device (0000 -> 0002) |
| 357 | [ 2.344786] pcieport 0000:02:02.0: enabling device (0000 -> 0002) |
| 358 | [ 2.351328] pcieport 0000:02:08.0: enabling device (0000 -> 0002) |
| 359 | [ 2.357091] pci 0000:04:00.0: enabling device (0000 -> 0002) |
| 360 | [ 2.362751] switchtec: loaded. |
| 361 | [ 2.365933] L2CACHE: DataError @ 0x00000003.00964470 |
| 362 | [ 2.365992] L2CACHE: No. of Banks in the cache: 4 |
| 363 | [ 2.375414] L2CACHE: No. of ways per bank: 16 |
| 364 | [ 2.379846] L2CACHE: Sets per bank: 512 |
| 365 | [ 2.383751] L2CACHE: Bytes per cache block: 64 |
| 366 | [ 2.388267] L2CACHE: Index of the largest way enabled: 15 |
| 367 | [ 2.434865] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled |
| 368 | [ 2.441695] 10010000.serial: ttySIF0 at MMIO 0x10010000 (irq = 1, base_baud = 115200) is a SiFive UART v0 |
| 369 | [ 2.450625] printk: console [ttySIF0] enabled |
| 370 | [ 2.450625] printk: console [ttySIF0] enabled |
| 371 | [ 2.459360] printk: bootconsole [sbi0] disabled |
| 372 | [ 2.459360] printk: bootconsole [sbi0] disabled |
| 373 | [ 2.468824] 10011000.serial: ttySIF1 at MMIO 0x10011000 (irq = 2, base_baud = 115200) is a SiFive UART v0 |
| 374 | [ 2.493853] loop: module loaded |
| 375 | [ 2.526475] nvme nvme0: pci function 0000:07:00.0 |
| 376 | [ 2.530852] nvme 0000:07:00.0: enabling device (0000 -> 0002) |
| 377 | [ 2.537716] Rounding down aligned max_sectors from 4294967295 to 4294967288 |
| 378 | [ 2.544470] db_root: cannot open: /etc/target |
| 379 | [ 2.545926] nvme nvme0: allocated 64 MiB host memory buffer. |
| 380 | [ 2.549020] sifive_spi 10040000.spi: mapped; irq=4, cs=1 |
| 381 | [ 2.559941] spi-nor spi0.0: is25wp256 (32768 Kbytes) |
| 382 | [ 2.566431] sifive_spi 10050000.spi: mapped; irq=6, cs=1 |
| 383 | [ 2.566707] nvme nvme0: 4/0/0 default/read/poll queues |
| 384 | [ 2.571935] libphy: Fixed MDIO Bus: probed |
| 385 | [ 2.580950] macb 10090000.ethernet: Registered clk switch 'sifive-gemgxl-mgmt' |
| 386 | [ 2.587536] macb 10090000.ethernet: invalid hw address, using random |
| 387 | [ 2.588100] nvme0n1: p1 p2 |
| 388 | [ 2.593875] BEU: Load or Store TILINK BUS ERR occurred |
| 389 | [ 2.594342] libphy: MACB_mii_bus: probed |
| 390 | [ 2.599312] macb 10090000.ethernet eth0: Cadence GEM rev 0x10070109 at 0x10090000 irq 7 (5e:57:b8:ab:24:4a) |
| 391 | [ 2.615501] e1000e: Intel(R) PRO/1000 Network Driver |
| 392 | [ 2.620251] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. |
| 393 | [ 2.626463] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver |
| 394 | [ 2.632684] ehci-pci: EHCI PCI platform driver |
| 395 | [ 2.637144] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver |
| 396 | [ 2.643273] ohci-pci: OHCI PCI platform driver |
| 397 | [ 2.647731] uhci_hcd: USB Universal Host Controller Interface driver |
| 398 | [ 2.654315] xhci_hcd 0000:04:00.0: xHCI Host Controller |
| 399 | [ 2.659450] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 1 |
| 400 | [ 2.807373] xhci_hcd 0000:04:00.0: hcc params 0x0200e081 hci version 0x100 quirks 0x0000000010000410 |
| 401 | [ 2.816609] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10 |
| 402 | [ 2.824115] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 |
| 403 | [ 2.831312] usb usb1: Product: xHCI Host Controller |
| 404 | [ 2.836174] usb usb1: Manufacturer: Linux 5.10.15 xhci-hcd |
| 405 | [ 2.841652] usb usb1: SerialNumber: 0000:04:00.0 |
| 406 | [ 2.846639] hub 1-0:1.0: USB hub found |
| 407 | [ 2.850037] hub 1-0:1.0: 2 ports detected |
| 408 | [ 2.854306] xhci_hcd 0000:04:00.0: xHCI Host Controller |
| 409 | [ 2.859335] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 2 |
| 410 | [ 2.866599] xhci_hcd 0000:04:00.0: Host supports USB 3.0 SuperSpeed |
| 411 | [ 2.873638] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. |
| 412 | [ 2.881074] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10 |
| 413 | [ 2.889212] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 |
| 414 | [ 2.896422] usb usb2: Product: xHCI Host Controller |
| 415 | [ 2.901282] usb usb2: Manufacturer: Linux 5.10.15 xhci-hcd |
| 416 | [ 2.906752] usb usb2: SerialNumber: 0000:04:00.0 |
| 417 | [ 2.911671] hub 2-0:1.0: USB hub found |
| 418 | [ 2.915130] hub 2-0:1.0: 2 ports detected |
| 419 | [ 2.919486] usbcore: registered new interface driver usb-storage |
| 420 | [ 2.925212] usbcore: registered new interface driver usbserial_generic |
| 421 | [ 2.931620] usbserial: USB Serial support registered for generic |
| 422 | [ 2.937771] mousedev: PS/2 mouse device common for all mice |
| 423 | [ 2.943220] usbcore: registered new interface driver usbtouchscreen |
| 424 | [ 2.949466] i2c /dev entries driver |
| 425 | [ 2.954218] lm90 0-004c: supply vcc not found, using dummy regulator |
| 426 | [ 2.961629] EDAC DEVICE0: Giving out device to module Sifive ECC Manager controller sifive_edac.0: DEV sifive_edac.0 (I) |
| 427 | [ 2.997874] mmc_spi spi1.0: SD/MMC host mmc0, no DMA, no WP, no poweroff, cd polling |
| 428 | [ 3.005138] ledtrig-cpu: registered to indicate activity on CPUs |
| 429 | [ 3.010980] usbcore: registered new interface driver usbhid |
| 430 | [ 3.016407] usbhid: USB HID core driver |
| 431 | [ 3.020540] usbcore: registered new interface driver snd-usb-audio |
| 432 | [ 3.027209] NET: Registered protocol family 10 |
| 433 | [ 3.031878] Segment Routing with IPv6 |
| 434 | [ 3.034864] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver |
| 435 | [ 3.041232] NET: Registered protocol family 17 |
| 436 | [ 3.045324] 9pnet: Installing 9P2000 support |
| 437 | [ 3.049397] Key type dns_resolver registered |
| 438 | [ 3.053786] Loading compiled-in X.509 certificates |
| 439 | [ 3.059729] ALSA device list: |
| 440 | [ 3.061943] No soundcards found. |
| 441 | [ 3.066057] Waiting for root device /dev/mmcblk0p4... |
| 442 | [ 3.077319] mmc0: host does not support reading read-only switch, assuming write-enable |
| 443 | [ 3.084564] mmc0: new SDHC card on SPI |
| 444 | [ 3.089699] mmcblk0: mmc0:0000 SD32G 29.7 GiB |
| 445 | [ 3.126488] GPT:Primary header thinks Alt. header is not at the end of the disk. |
| 446 | [ 3.133144] GPT:13918241 != 62333951 |
| 447 | [ 3.136679] GPT:Alternate GPT header not at the end of the disk. |
| 448 | [ 3.142673] GPT:13918241 != 62333951 |
| 449 | [ 3.146231] GPT: Use GNU Parted to correct GPT errors. |
| 450 | [ 3.151398] mmcblk0: p1 p2 p3 p4 |
| 451 | [ 3.212226] usb 1-2: new high-speed USB device number 2 using xhci_hcd |
| 452 | [ 3.258310] EXT4-fs (mmcblk0p4): INFO: recovery required on readonly filesystem |
| 453 | [ 3.264855] EXT4-fs (mmcblk0p4): write access will be enabled during recovery |
| 454 | [ 3.458247] usb 1-2: New USB device found, idVendor=174c, idProduct=2074, bcdDevice= 0.01 |
| 455 | [ 3.465662] usb 1-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1 |
| 456 | [ 3.472775] usb 1-2: Product: AS2107 |
| 457 | [ 3.476336] usb 1-2: Manufacturer: ASMedia |
| 458 | [ 3.480419] usb 1-2: SerialNumber: USB2.0 Hub |
| 459 | [ 3.533583] EXT4-fs (mmcblk0p4): recovery complete |
| 460 | [ 3.543756] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null) |
| 461 | [ 3.551132] VFS: Mounted root (ext4 filesystem) readonly on device 179:4. |
| 462 | [ 3.554682] hub 1-2:1.0: USB hub found |
| 463 | [ 3.561105] devtmpfs: mounted |
| 464 | [ 3.561778] hub 1-2:1.0: 4 ports detected |
| 465 | [ 3.565546] Freeing unused kernel memory: 284K |
| 466 | [ 3.572964] Kernel memory protection not selected by kernel config. |
| 467 | [ 3.579225] Run /sbin/init as init process |
| 468 | [ 3.613136] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd |
| 469 | [ 3.643539] usb 2-2: New USB device found, idVendor=174c, idProduct=3074, bcdDevice= 0.01 |
| 470 | [ 3.650948] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1 |
| 471 | [ 3.658072] usb 2-2: Product: AS2107 |
| 472 | [ 3.661630] usb 2-2: Manufacturer: ASMedia |
| 473 | [ 3.665709] usb 2-2: SerialNumber: USB2.0 Hub |
| 474 | [ 3.762380] hub 2-2:1.0: USB hub found |
| 475 | [ 3.766074] hub 2-2:1.0: 4 ports detected |
| 476 | [ 7.487226] systemd[1]: System time before build time, advancing clock. |
| 477 | [ 7.788093] systemd[1]: systemd 247.2+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +U) |
| 478 | [ 7.809694] systemd[1]: Detected architecture riscv64. |
| 479 | |
| 480 | Welcome to OpenEmbedded nodistro.0! |
| 481 | |
| 482 | [ 7.832648] systemd[1]: Set hostname to <unmatched>. |
| 483 | [ 9.397499] systemd[1]: Queued start job for default target Multi-User System. |
| 484 | [ 9.408518] random: systemd: uninitialized urandom read (16 bytes read) |
| 485 | [ 9.429329] systemd[1]: Created slice system-getty.slice. |
| 486 | [ OK ] Created slice system-getty.slice. |
| 487 | [ 9.440400] random: systemd: uninitialized urandom read (16 bytes read) |
| 488 | [ 9.447086] systemd[1]: Created slice system-modprobe.slice. |
| 489 | [ OK ] Created slice system-modprobe.slice. |
| 490 | [ 9.458480] random: systemd: uninitialized urandom read (16 bytes read) |
| 491 | [ 9.465436] systemd[1]: Created slice system-serial\x2dgetty.slice. |
| 492 | [ OK ] Created slice system-serial\x2dgetty.slice. |
| 493 | [ 9.478594] systemd[1]: Created slice User and Session Slice. |
| 494 | [ OK ] Created slice User and Session Slice. |
| 495 | [ 9.490225] systemd[1]: Started Dispatch Password Requests to Console Directory Watch. |
| 496 | [ OK ] Started Dispatch Password ��…ts to Console Directory Watch. |
| 497 | [ 9.506407] systemd[1]: Started Forward Password Requests to Wall Directory Watch. |
| 498 | [ OK ] Started Forward Password R��…uests to Wall Directory Watch. |
| 499 | [ 9.522312] systemd[1]: Reached target Paths. |
| 500 | [ OK ] Reached target Paths. |
| 501 | [ 9.531078] systemd[1]: Reached target Remote File Systems. |
| 502 | [ OK ] Reached target Remote File Systems. |
| 503 | [ 9.542855] systemd[1]: Reached target Slices. |
| 504 | [ OK ] Reached target Slices. |
| 505 | [ 9.552712] systemd[1]: Reached target Swap. |
| 506 | [ OK ] Reached target Swap. |
| 507 | [ 9.561566] systemd[1]: Listening on initctl Compatibility Named Pipe. |
| 508 | [ OK ] Listening on initctl Compatibility Named Pipe. |
| 509 | [ 9.578686] systemd[1]: Condition check resulted in Journal Audit Socket being skipped. |
| 510 | [ 9.586545] systemd[1]: Listening on Journal Socket (/dev/log). |
| 511 | [ OK ] Listening on Journal Socket (/dev/log). |
| 512 | |
| 513 | [snip] |
| 514 | |
| 515 | [ OK ] Reached target System Time Synchronized. |
| 516 | [ OK ] Reached target Timers. |
| 517 | [ OK ] Listening on D-Bus System Message Bus Socket. |
| 518 | [ OK ] Reached target Sockets. |
| 519 | [ OK ] Reached target Basic System. |
| 520 | [ OK ] Started D-Bus System Message Bus. |
| 521 | Starting User Login Management... |
| 522 | Starting Permit User Sessions... |
| 523 | [ OK ] Started Xinetd A Powerful Replacement For Inetd. |
| 524 | [ OK ] Finished Permit User Sessions. |
| 525 | [ OK ] Started Getty on tty1. |
| 526 | [ OK ] Started Serial Getty on hvc0. |
| 527 | [ OK ] Started Serial Getty on ttySIF0. |
| 528 | [ OK ] Reached target Login Prompts. |
| 529 | [ OK ] Started User Login Management. |
| 530 | [ OK ] Reached target Multi-User System. |
| 531 | Starting Update UTMP about System Runlevel Changes... |
| 532 | [ OK ] Finished Update UTMP about System Runlevel Changes. |
| 533 | |
| 534 | OpenEmbedded nodistro.0 unmatched hvc0 |
| 535 | |
| 536 | unmatched login: |
| 537 | OpenEmbedded nodistro.0 unmatched ttySIF0 |
| 538 | |
| 539 | unmatched login: |
Thomas Skibo | f50fad6 | 2021-11-24 14:32:09 -0800 | [diff] [blame] | 540 | |
| 541 | |
| 542 | Booting from SPI |
| 543 | ---------------- |
| 544 | |
| 545 | Use Building steps from "Booting from uSD using U-Boot SPL" section. |
| 546 | |
| 547 | Partition the SPI in Linux via mtdblock. The partition types here are |
| 548 | "HiFive Unleashed FSBL", "HiFive Unleashed BBL", and "U-Boot environment" |
| 549 | for partitions one through three respectively. |
| 550 | |
| 551 | .. code-block:: none |
| 552 | |
| 553 | sgdisk --clear -a 1 \ |
| 554 | --new=1:40:2087 --change-name=1:spl --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \ |
| 555 | --new=2:2088:10279 --change-name=2:uboot --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \ |
| 556 | --new=3:10280:10535 --change-name=3:env --typecode=3:3DE21764-95BD-54BD-A5C3-4ABE786F38A8 \ |
| 557 | /dev/mtdblock0 |
| 558 | |
| 559 | Write U-boot SPL and U-boot to their partitions. |
| 560 | |
| 561 | .. code-block:: none |
| 562 | |
| 563 | dd if=u-boot-spl.bin of=/dev/mtdblock0 bs=4096 seek=5 conv=sync |
| 564 | dd if=u-boot.itb of=/dev/mtdblock0 bs=4096 seek=261 conv=sync |
| 565 | |
| 566 | Power off the board. |
| 567 | |
| 568 | Change DIP switches MSEL[3:0] to 0110. |
| 569 | |
| 570 | Power up the board. |