VisionFive2 8GByteが届きました。
早速、配布されているイメージからLinuxを起動してみました。
SDにイメージを書き込んでOK、とは行かなかったので、Linuxを起動させるまでの手順を書いておきます。
試したイメージはDebian Image 69です。
またターゲットとの通信はUARTを使用しました。
以下は起動することだけを目的としているので、必ずしも正しい方法とは限らないことにご注意ください。
ダウンロードしたイメージをMicroSDに書き込みます。
32GByteのMicorSDを使用しました。
UARTをPCとつないで、電源を投入します。
UARTからは以下のログが出力されます(必要な部分だけ抜粋しています)。
1Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB 2*** Warning - bad CRC, using default environment 3… 4Enter choice: 1 51: Debian GNU/Linux bookworm/sid 5.15.0-starfive 6Retrieving file: /boot/initrd.img-5.15.0-starfive 79684953 bytes read in 411 ms (22.5 MiB/s) 8Retrieving file: /boot/vmlinuz-5.15.0-starfive 9… 10append: root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 single 11Retrieving file: /boot/dtbs/starfive/starfive_visionfive2.dtb 12Failed to load '/boot/dtbs/starfive/starfive_visionfive2.dtb' 13kernel_comp_addr_r or kernel_comp_size is not provided! 14…
U-Bootの環境変数が壊れている(もしくは書かれていない)ため、デフォルトの環境変数を読んでいます。
デフォルトでも必要なことは書かれており、Linux Kernelの起動は行おうとしています。
ただ、DTBが見つからず、エラーとなっていました。
MicorSDの中身をPCで見てみると、それっぽいDTBが見つかります。
1/mnt/boot$ find . 2… 3./dtbs/starfive/jh7110-evb-usbdevice.dtb 4./dtbs/starfive/jh7110-evb.dtb 5./dtbs/starfive/jh7110-fpga.dtb 6./dtbs/starfive/jh7110-visionfive-v2-A10.dtb 7./dtbs/starfive/jh7110-visionfive-v2-A11.dtb 8./dtbs/starfive/jh7110-visionfive-v2-ac108.dtb 9./dtbs/starfive/jh7110-visionfive-v2-wm8960.dtb 10./dtbs/starfive/jh7110-visionfive-v2.dtb 11./dtbs/starfive/evb-overlay
ロードしようとしているファイル名にコピーします。
1/mnt/boot/dtbs/starfive$ sudo cp jh7110-visionfive-v2.dtb starfive_visionfive2.dtb
ひとまず、先ほどのエラーはこれで消えます。
次に問題になるのは以下の部分。
1kernel_comp_addr_r or kernel_comp_size is not provided!
Linux Kernelのdecompress先のアドレスとサイズが設定されていないとエラーとなります。
これらを設定します。
この辺りは、8GByteもRAMがあるのでざっくりと取っておけば間違いはないです。
bdinfoでDRAMの開始アドレスと(U-Bootの)DTBの配置先、リロケート先を確認しておきます。
startが0x4000_0000(+1GByte)です。
DTBの配置先とリロケート先は4GByteの手前ぐらいなので、ここは避けたほうが良さそうです。
また、U-BootがロードするLinuxのDTBの配置先とLinux Kernelのアドレスを確認します。
先頭1GByteから64MByteと96MByteの位置に取っています。
また一時的にloadaddrも使用しているので、ここも避けたほうが良さそうです。
以上から展開先は1GByteから+256MByteの0x5000_0000を設定しています。
サイズは16MByteを指定します。
(以降のログでは起動していますが、後から考えると16MByteは少ない可能性があるため、もっと増やしたほうが良いです)
ここまでできたら、後はブートするのみです。
1# run bootcmd
以下に起動までのログを示します。
1U-Boot SPL 2021.10 (Oct 31 2022 - 12:11:37 +0800) 2DDR version: dc2e84f0. 3Trying to boot from SPI 4 5OpenSBI v1.0 6 ____ _____ ____ _____ 7 / __ \ / ____| _ \_ _| 8 | | | |_ __ ___ _ __ | (___ | |_) || | 9 | | | | '_ \ / _ \ '_ \ \___ \| _ < | | 10 | |__| | |_) | __/ | | |____) | |_) || |_ 11 \____/| .__/ \___|_| |_|_____/|____/_____| 12 | | 13 |_| 14 15Platform Name : StarFive VisionFive V2 16Platform Features : medeleg 17Platform HART Count : 5 18Platform IPI Device : aclint-mswi 19Platform Timer Device : aclint-mtimer @ 4000000Hz 20Platform Console Device : uart8250 21Platform HSM Device : --- 22Platform Reboot Device : --- 23Platform Shutdown Device : --- 24Firmware Base : 0x40000000 25Firmware Size : 360 KB 26Runtime SBI Version : 0.3 27 28Domain0 Name : root 29Domain0 Boot HART : 1 30Domain0 HARTs : 0*,1*,2*,3*,4* 31Domain0 Region00 : 0x0000000002000000-0x000000000200ffff (I) 32Domain0 Region01 : 0x0000000040000000-0x000000004007ffff () 33Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X) 34Domain0 Next Address : 0x0000000040200000 35Domain0 Next Arg1 : 0x0000000042200000 36Domain0 Next Mode : S-mode 37Domain0 SysReset : yes 38 39Boot HART ID : 1 40Boot HART Domain : root 41Boot HART Priv Version : v1.11 42Boot HART Base ISA : rv64imafdcbx 43Boot HART ISA Extensions : none 44Boot HART PMP Count : 8 45Boot HART PMP Granularity : 4096 46Boot HART PMP Address Bits: 34 47Boot HART MHPM Count : 2 48Boot HART MIDELEG : 0x0000000000000222 49Boot HART MEDELEG : 0x000000000000b109 50 51 52U-Boot 2021.10 (Oct 31 2022 - 12:11:37 +0800), Build: jenkins-VF2_515_Branch_SDK_Release-10 53 54 55CPU: rv64imacu 56Model: StarFive VisionFive V2 57DRAM: 8 GiB 58MMC: sdio0@16010000: 0, sdio1@16020000: 1 59Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB 60*** Warning - bad CRC, using default environment 61 62StarFive EEPROM format v2 63 64--------EEPROM INFO-------- 65Vendor : StarFive Technology Co., Ltd. 66Product full SN: VF7110A1-2250-D008E000-00001168 67data version: 0x2 68PCB revision: 0xa1 69BOM revision: A 70Ethernet MAC0 address: 6c:cf:39:00:1c:9f 71Ethernet MAC1 address: 6c:cf:39:00:1c:a0 72--------EEPROM INFO-------- 73 74In: serial@10000000 75Out: serial@10000000 76Err: serial@10000000 77Model: StarFive VisionFive V2 78Net: eth0: ethernet@16030000, eth1: ethernet@16040000 79switch to partitions #0, OK 80mmc1 is current device 81found device 1 82bootmode flash device 1 83Can't set block device 84Failed to load '/boot/uEnv.txt' 85Hit any key to stop autoboot: 0 86Can't set block device 87Importing environment from mmc1 ... 88## Warning: Input data exceeds 1048576 bytes - truncated 89## Info: input data size = 1048578 = 0x100002 90## Error: "boot2" not defined 91switch to partitions #0, OK 92mmc1 is current device 93Scanning mmc 1:2... 94Found /boot/extlinux/extlinux.conf 95Retrieving file: /boot/extlinux/extlinux.conf 96823 bytes read in 5 ms (160.2 KiB/s) 97U-Boot menu 981: Debian GNU/Linux bookworm/sid 5.15.0-starfive 992: Debian GNU/Linux bookworm/sid 5.15.0-starfive (rescue target) 100Enter choice: 1: Debian GNU/Linux bookworm/sid 5.15.0-starfive 101Retrieving file: /boot/initrd.img-5.15.0-starfive 1029684953 bytes read in 411 ms (22.5 MiB/s) 103Retrieving file: /boot/vmlinuz-5.15.0-starfive 1048015200 bytes read in 340 ms (22.5 MiB/s) 105append: root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 106Retrieving file: /boot/dtbs/starfive/starfive_visionfive2.dtb 10747546 bytes read in 10 ms (4.5 MiB/s) 108kernel_comp_addr_r or kernel_comp_size is not provided! 1092: Debian GNU/Linux bookworm/sid 5.15.0-starfive (rescue target) 110Retrieving file: /boot/initrd.img-5.15.0-starfive 1119684953 bytes read in 411 ms (22.5 MiB/s) 112Retrieving file: /boot/vmlinuz-5.15.0-starfive 1138015200 bytes read in 340 ms (22.5 MiB/s) 114append: root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 single 115Retrieving file: /boot/dtbs/starfive/starfive_visionfive2.dtb 11647546 bytes read in 10 ms (4.5 MiB/s) 117kernel_comp_addr_r or kernel_comp_size is not provided! 118SCRIPT FAILED: continuing... 119Card did not respond to voltage select! : -110 120 121** Unable to read file ubootefi.var ** 122Failed to load EFI variables 123Scanning mmc 1:3... 124ethernet@16030000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! 125phy_startup() failed: -110FAILED: -110ethernet@16040000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! 126phy_startup() failed: -110FAILED: -110ethernet@16030000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! 127phy_startup() failed: -110FAILED: -110ethernet@16040000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! 128phy_startup() failed: -110FAILED: -110StarFive # setenv kernel_comp_addr_r 0x50000000 129StarFive # setenv kernel_comp_size 0x1000000 130StarFive # run bootcmd 131Can't set block device 132Importing environment from mmc1 ... 133## Error: "boot2" not defined 134switch to partitions #0, OK 135mmc1 is current device 136Scanning mmc 1:2... 137Found /boot/extlinux/extlinux.conf 138Retrieving file: /boot/extlinux/extlinux.conf 139823 bytes read in 5 ms (160.2 KiB/s) 140U-Boot menu 1411: Debian GNU/Linux bookworm/sid 5.15.0-starfive 1422: Debian GNU/Linux bookworm/sid 5.15.0-starfive (rescue target) 143Enter choice: 1 1441: Debian GNU/Linux bookworm/sid 5.15.0-starfive 145Retrieving file: /boot/initrd.img-5.15.0-starfive 1469684953 bytes read in 412 ms (22.4 MiB/s) 147Retrieving file: /boot/vmlinuz-5.15.0-starfive 1488015200 bytes read in 340 ms (22.5 MiB/s) 149append: root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 150Retrieving file: /boot/dtbs/starfive/starfive_visionfive2.dtb 15147546 bytes read in 9 ms (5 MiB/s) 152 Uncompressing Kernel Image 153Moving Image from 0x44000000 to 0x40200000, end=41767000 154## Flattened Device Tree blob at 46000000 155 Booting using the fdt blob at 0x46000000 156 Using Device Tree in place at 0000000046000000, end 000000004600e9b9 157 158Starting kernel ... 159 160clk u5_dw_i2c_clk_core already disabled 161clk u5_dw_i2c_clk_apb already disabled 162[ 0.000000] Linux version 5.15.0-starfive (sw_buildbot@mdcsw02) (riscv64-unknown-linux-gnu-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35) #1 SMP Mon Dec 19 07:56:37 EST 2022 163[ 0.000000] OF: fdt: Ignoring memory range 0x40000000 - 0x40200000 164[ 0.000000] Machine model: StarFive VisionFive V2 165[ 0.000000] earlycon: uart0 at MMIO32 0x0000000010000000 (options '115200') 166[ 0.000000] printk: bootconsole [uart0] enabled 167[ 0.000000] efi: UEFI not found. 168[ 0.000000] OF: reserved mem: failed to allocate memory for node 'linux,cma' 169[ 0.000000] cma: Reserved 16 MiB at 0x00000000bf000000 170[ 0.000000] Zone ranges: 171[ 0.000000] DMA32 [mem 0x0000000040200000-0x00000000ffffffff] 172[ 0.000000] Normal [mem 0x0000000100000000-0x000000013fffffff] 173[ 0.000000] Movable zone start for each node 174[ 0.000000] Early memory node ranges 175[ 0.000000] node 0: [mem 0x0000000040200000-0x00000000c010ffff] 176[ 0.000000] node 0: [mem 0x00000000c0110000-0x00000000c01fffff] 177[ 0.000000] node 0: [mem 0x00000000c0200000-0x000000013fffffff] 178[ 0.000000] Initmem setup node 0 [mem 0x0000000040200000-0x000000013fffffff] 179[ 0.000000] SBI specification v0.3 detected 180[ 0.000000] SBI implementation ID=0x1 Version=0x10000 181[ 0.000000] SBI TIME extension detected 182[ 0.000000] SBI IPI extension detected 183[ 0.000000] SBI RFENCE extension detected 184[ 0.000000] SBI v0.2 HSM extension detected 185[ 0.000000] CPU with hartid=0 is not available 186[ 0.000000] CPU with hartid=0 is not available 187 188[ 0.000000] riscv: ISA extensions acdfim 189[ 0.000000] riscv: ELF capabilities acdfim 190[ 0.000000] percpu: Embedded 17 pages/cpu s31528 r8192 d29912 u69632 191[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1033735 192[ 0.000000] Kernel command line: root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 193[ 0.000000] Unknown command line parameters: stmmaceth=chain_mode:1 selinux=0 194[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) 195[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) 196[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off 197[ 0.000000] software IO TLB: mapped [mem 0x00000000fb000000-0x00000000ff000000] (64MB) 198[ 0.000000] Memory: 3942888K/4192256K available (9884K kernel code, 4982K rwdata, 4096K rodata, 2191K init, 401K bss, 232984K reserved, 16384K cma-reserved) 199[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 200[ 0.000000] rcu: Hierarchical RCU implementation. 201[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4. 202[ 0.000000] rcu: RCU debug extended QS entry/exit. 203[ 0.000000] Tracing variant of Tasks RCU enabled. 204[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. 205[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 206[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 207[ 0.000000] CPU with hartid=0 is not available 208[ 0.000000] riscv-intc: unable to find hart id for /cpus/cpu@0/interrupt-controller 209[ 0.000000] riscv-intc: 64 local interrupts mapped 210[ 0.000000] plic: plic@c000000: mapped 136 interrupts with 4 handlers for 9 contexts. 211[ 0.000000] random: get_random_bytes called from start_kernel+0x4d0/0x6e2 with crng_init=0 212[ 0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [1] 213[ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 881590404240 ns 214[ 0.000000] sched_clock: 64 bits at 4MHz, resolution 250ns, wraps every 2199023255500ns 215[ 0.008967] clocksource: timer@13050000.ch0: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns 216[ 0.020277] clocksource: timer@13050000.ch1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns 217[ 0.031594] clocksource: timer@13050000.ch2: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns 218[ 0.042905] clocksource: timer@13050000.ch3: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns 219[ 0.054353] Console: colour dummy device 80x25 220[ 0.060256] printk: console [tty0] enabled 221[ 0.064799] Calibrating delay loop (skipped), value calculated using timer frequency.. 8.00 BogoMIPS (lpj=40000) 222[ 0.076009] pid_max: default: 32768 minimum: 301 223[ 0.081239] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear) 224[ 0.089463] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear) 225[ 0.099335] ASID allocator disabled 226[ 0.103269] rcu: Hierarchical SRCU implementation. 227[ 0.108694] EFI services will not be available. 228[ 0.114024] smp: Bringing up secondary CPUs ... 229[ 0.120417] smp: Brought up 1 node, 4 CPUs 230[ 0.125987] devtmpfs: initialized 231[ 0.135789] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns 232[ 0.146636] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) 233[ 0.154663] pinctrl core: initialized pinctrl subsystem 234[ 0.161100] NET: Registered PF_NETLINK/PF_ROUTE protocol family 235[ 0.168134] cpuidle: using governor menu 236[ 0.190004] platform soc:dsi-output: Fixing up cyclic dependency with 29400000.dc8200 237[ 0.199088] platform 295d0000.mipi: Fixing up cyclic dependency with soc:dsi-output 238[ 0.207842] platform 29590000.hdmi: Fixing up cyclic dependency with 29400000.dc8200 239[ 0.225951] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages 240[ 0.233348] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages 241[ 0.243400] vgaarb: loaded 242[ 0.246584] SCSI subsystem initialized 243[ 0.250972] usbcore: registered new interface driver usbfs 244[ 0.257054] usbcore: registered new interface driver hub 245[ 0.262914] usbcore: registered new device driver usb 246[ 0.268728] mc: Linux media interface: v0.10 247[ 0.273439] videodev: Linux video capture interface: v2.00 248[ 0.279635] Advanced Linux Sound Architecture Driver Initialized. 249[ 0.286651] Bluetooth: Core ver 2.22 250[ 0.290614] NET: Registered PF_BLUETOOTH protocol family 251[ 0.296454] Bluetooth: HCI device and connection manager initialized 252[ 0.303451] Bluetooth: HCI socket layer initialized 253 254[ 0.308818] Bluetooth: L2CAP socket layer initialized 255[ 0.314389] Bluetooth: SCO socket layer initialized 256[ 0.320090] clocksource: Switched to clocksource riscv_clocksource 257[ 0.332768] NET: Registered PF_INET protocol family 258[ 0.338772] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear) 259[ 0.350050] tcp_listen_portaddr_hash hash table entries: 2048 (order: 4, 81920 bytes, linear) 260[ 0.359548] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear) 261[ 0.368654] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear) 262[ 0.377896] TCP: Hash tables configured (established 32768 bind 32768) 263[ 0.385350] UDP hash table entries: 2048 (order: 5, 196608 bytes, linear) 264[ 0.393085] UDP-Lite hash table entries: 2048 (order: 5, 196608 bytes, linear) 265[ 0.401432] NET: Registered PF_UNIX/PF_LOCAL protocol family 266[ 0.408117] RPC: Registered named UNIX socket transport module. 267[ 0.414654] RPC: Registered udp transport module. 268[ 0.419824] RPC: Registered tcp transport module. 269[ 0.425001] RPC: Registered tcp NFSv4.1 backchannel transport module. 270[ 0.432662] PCI: CLS 0 bytes, default 64 271[ 0.437540] Initialise system trusted keyrings 272[ 0.440391] Unpacking initramfs... 273[ 0.442591] workingset: timestamp_bits=62 max_order=20 bucket_order=0 274[ 0.458172] NFS: Registering the id_resolver key type 275[ 0.463792] Key type id_resolver registered 276[ 0.468404] Key type id_legacy registered 277[ 0.472952] nfs4filelayout_init: NFSv4 File Layout Driver Registering... 278[ 0.480355] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... 279[ 0.488553] ntfs: driver 2.1.32 [Flags: R/W]. 280[ 0.493638] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. 281[ 0.500768] fuse: init (API version 7.34) 282[ 0.536216] NET: Registered PF_ALG protocol family 283[ 0.541542] Key type asymmetric registered 284[ 0.546056] Asymmetric key parser 'x509' registered 285[ 0.551522] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249) 286[ 0.559674] io scheduler mq-deadline registered 287[ 0.564695] io scheduler kyber registered 288[ 0.655630] clk-starfive-jh7110 13020000.clock-controller: starfive JH7110 clkgen init successfully. 289[ 0.666899] L2CACHE: DataError @ 0x00000000.08040140 290[ 0.672493] L2CACHE: DataFail @ 0x00000000.0804000C 291[ 0.677961] L2CACHE: No. of Banks in the cache: 8 292[ 0.683181] L2CACHE: No. of ways per bank: 16 293[ 0.687991] L2CACHE: Sets per bank: 256 294[ 0.692242] L2CACHE: Bytes per cache block: 64 295[ 0.697149] L2CACHE: Index of the largest way enabled: 15 296[ 0.703455] jh7110-pmu 17030000.power-controller: registered 8 power domains 297[ 0.773166] Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled 298[ 0.783097] @@#########################@@ 299[ 0.825259] @@ dev ptr:ffffffe0bfedc000/1500/1 300[ 0.830436] PVR_K: 1: Read BVNC 36.50.54.182 from HW device registers 301[ 0.837714] PVR_K: 1: RGX Device registered BVNC 36.50.54.182 with 1 core in the system 302[ 0.847944] [drm] Initialized pvr 1.17.6210866 20170530 for 18000000.gpu on minor 0 303[ 0.869026] loop: module loaded 304[ 0.875003] spi-nor spi0.0: gd25lq128d (16384 Kbytes) 305[ 1.090678] Freeing initrd memory: 9456K 306[ 1.111323] 3 fixed-partitions partitions found on MTD device 13010000.spi.0 307[ 1.119119] Creating 3 MTD partitions on "13010000.spi.0": 308[ 1.125199] 0x000000000000-0x000000020000 : "spl" 309[ 1.132172] 0x000000100000-0x000000400000 : "uboot" 310[ 1.139080] 0x000000f00000-0x000001000000 : "data" 311[ 1.147008] libphy: Fixed MDIO Bus: probed 312 313[ 1.153018] CAN device driver interface 314[ 1.157850] starfive-eth-plat 16030000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set. 315[ 1.169283] starfive-eth-plat 16030000.ethernet: User ID: 0x41, Synopsys ID: 0x52 316[ 1.177561] starfive-eth-plat 16030000.ethernet: DWMAC4/5 317[ 1.183627] starfive-eth-plat 16030000.ethernet: DMA HW capability register supported 318[ 1.192274] starfive-eth-plat 16030000.ethernet: RX Checksum Offload Engine supported 319[ 1.200914] starfive-eth-plat 16030000.ethernet: Wake-Up On Lan supported 320[ 1.208389] starfive-eth-plat 16030000.ethernet: TSO supported 321[ 1.214841] starfive-eth-plat 16030000.ethernet: Enable RX Mitigation via HW Watchdog Timer 322[ 1.224074] starfive-eth-plat 16030000.ethernet: Enabled Flow TC (entries=1) 323[ 1.231856] starfive-eth-plat 16030000.ethernet: TSO feature enabled 324[ 1.238853] starfive-eth-plat 16030000.ethernet: Using 40 bits DMA width 325[ 1.498340] libphy: stmmac: probed 326[ 1.502151] YT8531 Gigabit Ethernet stmmac-0:00: attached PHY driver (mii_bus:phy_addr=stmmac-0:00, irq=POLL) 327[ 1.513100] YT8531 Gigabit Ethernet stmmac-0:01: attached PHY driver (mii_bus:phy_addr=stmmac-0:01, irq=POLL) 328[ 1.525258] starfive-eth-plat 16040000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set. 329[ 1.536672] starfive-eth-plat 16040000.ethernet: User ID: 0x41, Synopsys ID: 0x52 330[ 1.544951] starfive-eth-plat 16040000.ethernet: DWMAC4/5 331[ 1.551018] starfive-eth-plat 16040000.ethernet: DMA HW capability register supported 332[ 1.559648] starfive-eth-plat 16040000.ethernet: RX Checksum Offload Engine supported 333[ 1.568291] starfive-eth-plat 16040000.ethernet: Wake-Up On Lan supported 334[ 1.575782] starfive-eth-plat 16040000.ethernet: TSO supported 335[ 1.582233] starfive-eth-plat 16040000.ethernet: Enable RX Mitigation via HW Watchdog Timer 336[ 1.591480] starfive-eth-plat 16040000.ethernet: Enabled Flow TC (entries=1) 337[ 1.599243] starfive-eth-plat 16040000.ethernet: TSO feature enabled 338[ 1.606252] starfive-eth-plat 16040000.ethernet: Using 40 bits DMA width 339[ 1.864194] libphy: stmmac: probed 340[ 1.867967] YT8512B Ethernet stmmac-1:00: attached PHY driver (mii_bus:phy_addr=stmmac-1:00, irq=POLL) 341[ 1.878273] YT8512B Ethernet stmmac-1:03: attached PHY driver (mii_bus:phy_addr=stmmac-1:03, irq=POLL) 342[ 1.890152] Intel(R) Wireless WiFi driver for Linux 343[ 1.897468] cdns3-starfive 10210000.usbdrd: usb mode 2 2.0 probe success 344[ 1.905661] usbcore: registered new interface driver uas 345[ 1.911596] usbcore: registered new interface driver usb-storage 346[ 1.930426] starfive-rtc 17040000.rtc: registered as rtc0 347[ 1.936395] starfive-rtc 17040000.rtc: setting system clock to 2001-01-01T00:00:00 UTC (978307200) 348[ 1.946442] i2c_dev: i2c /dev entries driver 349[ 1.951408] usbcore: registered new interface driver uvcvideo 350[ 1.958909] starfive-wdt 13070000.wdog: Heartbeat: timeout=15, count/2=180000000 (0aba9500) 351[ 1.968664] Bluetooth: HCI UART driver ver 2.3 352[ 1.973591] Bluetooth: HCI UART protocol H4 registered 353[ 1.979470] starfive-cpufreq soc:starfive,jh7110-cpufreq: Failed to get regulator for cpu! 354[ 1.988614] starfive-cpufreq soc:starfive,jh7110-cpufreq: Failed to init starfive cpu dvfs info 355[ 1.998753] sdhci: Secure Digital Host Controller Interface driver 356[ 2.005592] sdhci: Copyright(c) Pierre Ossman 357[ 2.010437] Synopsys Designware Multimedia Card Interface Driver 358[ 2.017361] sdhci-pltfm: SDHCI platform and OF driver helper 359[ 2.024429] jh7110-sec 16000000.crypto: Unable to request sec_m dma channel in DMA channel 360[ 2.033575] jh7110-sec 16000000.crypto: Cannot initial dma chan 361[ 2.040410] usbcore: registered new interface driver usbhid 362[ 2.046561] usbhid: USB HID core driver 363[ 2.051056] usbcore: registered new interface driver snd-usb-audio 364[ 2.061142] NET: Registered PF_PACKET protocol family 365[ 2.066734] can: controller area network core 366[ 2.071652] NET: Registered PF_CAN protocol family 367[ 2.076944] can: raw protocol 368[ 2.080229] can: broadcast manager protocol 369[ 2.084851] can: netlink gateway - max_hops=1 370[ 2.089963] Bluetooth: RFCOMM TTY layer initialized 371[ 2.095385] Bluetooth: RFCOMM socket layer initialized 372[ 2.101101] Bluetooth: RFCOMM ver 1.11 373[ 2.105269] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 374[ 2.111143] Bluetooth: BNEP filters: protocol multicast 375[ 2.116916] Bluetooth: BNEP socket layer initialized 376[ 2.122578] 9pnet: Installing 9P2000 support 377[ 2.127344] Key type dns_resolver registered 378 379[ 2.132830] Loading compiled-in X.509 certificates 380[ 2.174109] starfive_jh7110-pinctrl 13040000.gpio: SiFive GPIO chip registered 64 GPIOs 381[ 2.183785] starfive_jh7110-pinctrl 17020000.gpio: SiFive GPIO chip registered 4 GPIOs 382[ 2.192770] pl08xdmac 16008000.sec_dma: initialized 8 virtual memcpy channels 383[ 2.200677] pl08xdmac 16008000.sec_dma: initialized 16 virtual slave channels 384[ 2.210216] debugfs: Directory '16008000.sec_dma' with parent 'dmaengine' already present! 385[ 2.219364] pl08xdmac 16008000.sec_dma: DMA: PL080 rev0 at 0x16008000 irq 23 386[ 2.227426] ssp-pl022 10060000.spi: ARM PL022 driver for StarFive SoC platform, device ID: 0x00041022 387[ 2.237631] ssp-pl022 10060000.spi: mapped registers from 0x0000000010060000 to (____ptrval____) 388[ 2.247779] ssp-pl022 10060000.spi: Requested frequency: 10000000 Hz is unsupported,select by default 8250000 Hz 389[ 2.259395] ssp-pl022 10060000.spi: will use autosuspend for runtime pm, delay 100ms 390[ 2.269288] i2c 2-0045: Fixing up cyclic dependency with 295d0000.mipi 391[ 2.276782] seeed_panel 2-0045: Unknown Atmel firmware revision: 0x00 392[ 2.284121] i2c 2-0019: Fixing up cyclic dependency with 295d0000.mipi 393[ 2.292743] at24 5-0050: supply vcc not found, using dummy regulator 394[ 2.300588] at24 5-0050: 512 byte 24c04 EEPROM, writable, 16 bytes/write 395[ 2.309908] axp15060-regulator 5-0036: Register mipi_0p9 done! vol range:900 ~ 900 mV 396[ 2.320057] axp15060-regulator 5-0036: Register hdmi_1p8 done! vol range:1800 ~ 1800 mV 397[ 2.330401] axp15060-regulator 5-0036: Register hdmi_0p9 done! vol range:900 ~ 900 mV 398[ 2.340571] axp15060-regulator 5-0036: Register cpu_vdd done! vol range:500 ~ 1540 mV 399[ 2.350006] i2c 6-0010: Fixing up cyclic dependency with 19800000.vin_sysctl 400[ 2.358206] imx219 6-0010: supply VANA not found, using dummy regulator 401[ 2.365642] imx219 6-0010: supply VDIG not found, using dummy regulator 402[ 2.373006] imx219 6-0010: supply VDDL not found, using dummy regulator 403[ 2.387798] imx219 6-0010: failed to read chip id 219 404[ 2.393606] imx219: probe of 6-0010 failed with error -5 405[ 2.402042] pcie_plda 2b000000.pcie: host bridge /soc/pcie@2B000000 ranges: 406[ 2.409769] pcie_plda 2b000000.pcie: MEM 0x0030000000..0x0037ffffff -> 0x0030000000 407[ 2.418741] pcie_plda 2b000000.pcie: MEM 0x0900000000..0x093fffffff -> 0x0900000000 408[ 2.427723] ATR entry: 0x0940000000 -> 0x0000000000 [0x0010000000] (param: 0x000001) 409[ 2.436293] ATR entry: 0x0030000000 -> 0x0030000000 [0x0008000000] (param: 0x000000) 410[ 2.444856] ATR entry: 0x0900000000 -> 0x0900000000 [0x0040000000] (param: 0x000000) 411[ 2.800188] pcie_plda 2b000000.pcie: Port link up. 412[ 2.805633] pcie_plda 2b000000.pcie: PCI host bridge to bus 0000:00 413[ 2.812571] pci_bus 0000:00: root bus resource [bus 00-ff] 414[ 2.818623] pci_bus 0000:00: root bus resource [mem 0x30000000-0x37ffffff] 415[ 2.826224] pci_bus 0000:00: root bus resource [mem 0x900000000-0x93fffffff pref] 416[ 2.834517] pci 0000:00:00.0: [1556:1111] type 01 class 0x060400 417[ 2.841163] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0xffffffff 64bit pref] 418[ 2.849191] pci 0000:00:00.0: supports D1 D2 419[ 2.853911] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold 420[ 2.864775] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring 421[ 2.873759] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330 422[ 2.880415] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit] 423[ 2.887980] pci 0000:01:00.0: PME# supported from D0 D3cold 424[ 2.897488] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01 425[ 2.904828] pci 0000:00:00.0: BAR 0: no space for [mem size 0x100000000 64bit pref] 426[ 2.913301] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x100000000 64bit pref] 427[ 2.922154] pci 0000:00:00.0: BAR 8: assigned [mem 0x30000000-0x300fffff] 428[ 2.929638] pci 0000:01:00.0: BAR 0: assigned [mem 0x30000000-0x30000fff 64bit] 429[ 2.937731] pci 0000:00:00.0: PCI bridge to [bus 01] 430[ 2.943218] pci 0000:00:00.0: bridge window [mem 0x30000000-0x300fffff] 431[ 2.950815] pci 0000:00:00.0: enabling device (0000 -> 0002) 432[ 2.957057] pci 0000:01:00.0: enabling device (0000 -> 0002) 433[ 2.963338] pci 0000:01:00.0: quirk_usb_early_handoff+0x0/0x9d4 took 12238 usecs 434[ 2.971727] xhci_hcd 0000:01:00.0: xHCI Host Controller 435[ 2.977509] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1 436[ 2.986085] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000040000000890 437[ 2.996243] pcie_plda 2b000000.pcie: msi#0 address_hi 0x0 address_lo 0x190 438[ 3.004224] xhci_hcd 0000:01:00.0: xHCI Host Controller 439[ 3.010000] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2 440[ 3.018191] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed 441 442[ 3.025844] hub 1-0:1.0: USB hub found 443[ 3.030016] hub 1-0:1.0: 1 port detected 444[ 3.035395] hub 2-0:1.0: USB hub found 445[ 3.039570] hub 2-0:1.0: 4 ports detected 446[ 3.046871] pcie_plda 2c000000.pcie: host bridge /soc/pcie@2C000000 ranges: 447[ 3.054619] pcie_plda 2c000000.pcie: MEM 0x0038000000..0x003fffffff -> 0x0038000000 448[ 3.063576] pcie_plda 2c000000.pcie: MEM 0x0980000000..0x09bfffffff -> 0x0980000000 449[ 3.072567] ATR entry: 0x09c0000000 -> 0x0000000000 [0x0010000000] (param: 0x000001) 450[ 3.081134] ATR entry: 0x0038000000 -> 0x0038000000 [0x0008000000] (param: 0x000000) 451[ 3.089680] ATR entry: 0x0980000000 -> 0x0980000000 [0x0040000000] (param: 0x000000) 452[ 3.250164] usb usb2-port2: over-current condition 453[ 3.350168] usb 1-1: new high-speed USB device number 2 using xhci_hcd 454[ 3.410143] usb usb2-port4: over-current condition 455[ 3.520348] pcie_plda 2c000000.pcie: Port link down, exit. 456[ 3.540223] clk-starfive-jh7110-vout 295c0000.clock-controller: starfive JH7110 clk_vout init successfully. 457[ 3.561252] hub 1-1:1.0: USB hub found 458[ 3.562674] clk-starfive-jh7110-isp 19810000.clock-controller: starfive JH7110 clk_isp init successfully. 459[ 3.565610] hub 1-1:1.0: 4 ports detected 460[ 3.576608] dw_axi_dmac_platform 16050000.dma-controller: DesignWare AXI DMA Controller, 4 channels 461[ 3.591411] printk: console [ttyS0] disabled 462[ 3.616354] 10000000.serial: ttyS0 at MMIO 0x10000000 (irq = 17, base_baud = 1500000) is a 16550A 463[ 3.626209] printk: console [ttyS0] enabled 464[ 3.626209] printk: console [ttyS0] enabled 465[ 3.635018] printk: bootconsole [uart0] disabled 466[ 3.635018] printk: bootconsole [uart0] disabled 467[ 3.645246] jh7110-vin 19800000.vin_sysctl: stfcamss probe enter! 468[ 3.653400] jh7110-vin 19800000.vin_sysctl: stfcamss probe success! 469[ 3.662192] dwmmc_starfive 16010000.sdio0: IDMAC supports 32-bit address mode. 470[ 3.662711] dwmmc_starfive 16020000.sdio1: IDMAC supports 32-bit address mode. 471[ 3.669488] dwmmc_starfive 16010000.sdio0: Using internal DMA controller. 472[ 3.676786] dwmmc_starfive 16020000.sdio1: Using internal DMA controller. 473[ 3.676973] jh7110-sec 16000000.crypto: will run requests pump with realtime priority 474[ 3.680184] jh7110-sec 16000000.crypto: Initialized 475[ 3.681285] starfive-i2s 120b0000.i2stx_4ch0: designware: play supported 476[ 3.681295] starfive-i2s 120b0000.i2stx_4ch0: designware: i2s master mode supported 477[ 3.681484] sf-mipi-dphy-tx 295e0000.mipi-dphy: sf_dphy_probe begin 478[ 3.681498] sf-mipi-dphy-tx 295e0000.mipi-dphy: ===> sf_dphy_probe enter, 445 479[ 3.681627] sf-mipi-dphy-tx 295e0000.mipi-dphy: control ECO 480[ 3.681647] sf-mipi-dphy-tx 295e0000.mipi-dphy: supply mipi_1p8 not found, using dummy regulator 481[ 3.681929] sf-mipi-dphy-tx 295e0000.mipi-dphy: sf_dphy_probe end 482[ 3.682122] cdns-dsi 295d0000.mipi: dsi_sys_clk = 297000000 483[ 3.682361] cdns-dsi 295d0000.mipi: starfive dsi bind end 484[ 3.683603] dwmmc_starfive 16010000.sdio0: Version ID is 290a 485[ 3.684906] of_cfs_init 486[ 3.684954] of_cfs_init: OK 487[ 3.685470] starfive-pwmdac 100b0000.pwmdac: clk_apb0 = 49500000, clk_pwmdac_apb = 49500000, clk_pwmdac_core = 4068493 488[ 3.685912] cfg80211: Loading compiled-in X.509 certificates for regulatory database 489[ 3.690450] dwmmc_starfive 16020000.sdio1: Version ID is 290a 490[ 3.698353] dwmmc_starfive 16010000.sdio0: DW MMC controller at irq 29,32 bit host data width,32 deep fifo 491[ 3.703293] dwmmc_starfive 16020000.sdio1: DW MMC controller at irq 30,32 bit host data width,32 deep fifo 492[ 3.710201] mmc_host mmc0: card is non-removable. 493[ 3.717889] mmc_host mmc1: card is polling. 494[ 3.806912] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' 495[ 3.834563] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 496[ 3.835994] starfive soc:display-subsystem: bound 29400000.dc8200 (ops 0xffffffff80e75af8) 497[ 3.843223] cfg80211: failed to load regulatory.db 498[ 3.856322] innohdmi-starfive 29590000.hdmi: inno hdmi bind begin 499[ 3.863843] innohdmi-starfive 29590000.hdmi: [drm:inno_hdmi_bind] registered Inno HDMI I2C bus driver success 500[ 3.873931] innohdmi-starfive 29590000.hdmi: HDMI&AUDIO register done. 501 502[ 3.880496] innohdmi-starfive 29590000.hdmi: inno hdmi bind end 503[ 3.886423] starfive soc:display-subsystem: bound 29590000.hdmi (ops 0xffffffff80e768a8) 504[ 3.894549] vs-simple-encoder soc:dsi-output: encoder_bind begin 505[ 3.900594] no panel, -517 506[ 3.903306] vs-simple-encoder soc:dsi-output: encoder_bind error 507[ 3.909315] starfive soc:display-subsystem: bound soc:dsi-output (ops 0xffffffff80e764f0) 508[ 3.917893] [drm] Initialized starfive 1.0.0 20191101 for soc:display-subsystem on minor 1 509[ 3.940109] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 400000Hz, actual 399193HZ div = 248) 510[ 4.020218] mmc_host mmc1: Bus speed (slot 0) = 198000000Hz (slot req 400000Hz, actual 399193HZ div = 248) 511[ 4.272444] mmc_host mmc1: Bus speed (slot 0) = 198000000Hz (slot req 50000000Hz, actual 49500000HZ div = 2) 512[ 4.282563] mmc1: new high speed SDHC card at address 1234 513[ 4.289656] mmcblk1: mmc1:1234 SA32G 28.8 GiB 514[ 4.296892] random: fast init done 515[ 4.306974] GPT:Primary header thinks Alt. header is not at the end of the disk. 516[ 4.314458] GPT:32767999 != 60456959 517[ 4.318054] GPT:Alternate GPT header not at the end of the disk. 518[ 4.324104] GPT:32767999 != 60456959 519[ 4.327700] GPT: Use GNU Parted to correct GPT errors. 520[ 4.332962] mmcblk1: p1 p2 p3 521[ 4.390178] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 300000Hz, actual 300000HZ div = 330) 522[ 4.830160] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 200000Hz, actual 200000HZ div = 495) 523[ 5.280204] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 100000Hz, actual 100000HZ div = 990) 524[ 6.010170] ALSA device list: 525[ 6.013194] #0: Starfive-PWMDAC-Sound-Card 526[ 6.017518] #1: Starfive-HDMI-Sound-Card 527[ 6.026630] Freeing unused kernel image (initmem) memory: 2188K 528[ 6.032927] Run /init as init process
1root@starfive:~# cat /proc/cpuinfo 2processor : 0 3hart : 1 4isa : rv64imafdc 5mmu : sv39 6uarch : sifive,u74-mc 7 8processor : 1 9hart : 2 10isa : rv64imafdc 11mmu : sv39 12uarch : sifive,u74-mc 13 14processor : 2 15hart : 3 16isa : rv64imafdc 17mmu : sv39 18uarch : sifive,u74-mc 19 20processor : 3 21hart : 4 22isa : rv64imafdc 23mmu : sv39 24uarch : sifive,u74-mc