Skip to content

Reference design does not appear to boot on Polarfire Discovery Kit #523

@klab-d

Description

@klab-d

I have reprogrammed the board with the reference design from here:

https://github.com/polarfire-soc/polarfire-soc-discovery-kit-reference-design/releases/tag/v2024.06

I have downloaded the prebuilt Linux Image for the Discovery Board from here:

https://github.com/polarfire-soc/meta-polarfire-soc-yocto-bsp/releases/download/v2024.06/core-image-minimal-dev-mpfs-disco-kit-20240703233429.rootfs.wic.gz

I have used USBImager to program the .wic file onto an SDCard.

The following output is seen on UART0

[0.778720] loop 3 took 417090204 ticks (max 417090204 ticks)
[0.786167] Initializing PMPs
[0.790273] PolarFire(R) SoC Hart Software Services (HSS) - version 0.99.41-v2024.06
MPFS HAL version 2.3.102 / DDR Driver version 0.4.024 / Mi-V IHC version 0.1.1 / BOARD=mpfs-disco-kit
(c) Copyright 2017-2022 Microchip FPGA Embedded Systems Solutions.

incorporating OpenSBI - version 1.2
(c) Copyright 2019-2022 Western Digital Corporation.

[0.825314] Build ID: 8c4c2f2ca49f8236d079f86da5e4e2bcec883c13
[0.832857] Built with the following tools:

  • riscv64-unknown-elf-gcc (xPack GNU RISC-V Embedded GCC (Microsemi SoftConsole build), 64-bit) 8.3.0
  • GNU ld () 2.35.1

[0.850712] Serial Number:
bd1d7006836b2efc3b87507a073afa0700000000000000000000000000000000000000000000000000000000000000000000
[0.864652] Segment Configuration:
Cached: SEG0_0: offset 0x0080000000, physical DDR 0x00000000
Cached: SEG0_1: offset 0x1000000000, physical DDR 0x00000000
Non-cached: SEG1_2: offset 0x00c0000000, physical DDR 0x00000000
Non-cached: SEG1_3: offset 0x1400000000, physical DDR 0x00000000
Non-cached WCB: SEG1_4: offset 0x00d0000000, physical DDR 0x00000000
Non-cached WCB: SEG1_5: offset 0x1800000000, physical DDR 0x00000000
[0.909623] L2 Cache Configuration:
L2-Scratchpad: 4 ways (512 KiB)
L2-Cache: 8 ways (1024 KiB)
L2-LIM: 4 ways (512 KiB)
[0.925568] DESIGNID: MPFS_DISCOVERY_KIT
[0.931011] DESIGNVER: 0000
[0.935212] BACKLEVEL: 0000
[0.939413] startup_service :: [init] -> [boot]
[0.945523] ipi_poll_service :: [Init] -> [Monitoring]
Press a key to enter CLI, ESC to skip
Timeout in 1 second
..
[4.49648] CLI boot interrupt timeout
[4.54517] loop 299461 took 606473341 ticks (max 606473341 ticks)
[4.62347] Initializing Boot Image ...
[4.67311] Trying to get boot image via MMC ...
[4.73136] Attempting to select SDCARD ... Passed
[4.245295] Preparing to copy from MMC to DDR ...
[4.251857] Validated GPT Header ...
[4.308147] Validated GPT Partition Entries ...
[4.314961] Boot Partition found at index 1
[4.320898] Attempting to read image header (1632 bytes) ...
[4.329257] Copying 742696 bytes to 0x103fc00000
[4.367700] MMC: Boot Image registered ...
[4.373117] Boot image set name: "PolarFire-SoC-HSS::U-Boot"
[4.380182] healthmon_service :: [init] -> [monitoring]
[4.387057] boot_service(u54_1) :: [Init] -> [SetupPMP]
[4.393931] boot_service(u54_2) :: [Init] -> [SetupPMP]
[4.400806] boot_service(u54_3) :: [Init] -> [SetupPMP]
[4.407680] boot_service(u54_4) :: [Init] -> [SetupPMP]

[4.414841] boot_service(u54_1)::Registering domain "u-boot.bin" (hart mask 0x1e)
[4.423912] boot_service(u54_1) :: [SetupPMP] -> [SetupPMPComplete]
[4.431932] boot_service(u54_2) :: [SetupPMP] -> [SetupPMPComplete]
[4.439953] boot_service(u54_3) :: [SetupPMP] -> [SetupPMPComplete]
[4.447973] boot_service(u54_4) :: [SetupPMP] -> [SetupPMPComplete]
[4.455993] u54 State Change: [Booting] [Booting] [Booting] [Booting]
[4.465350] boot_service(u54_1) :: [SetupPMPComplete] -> [ZeroInit]
[4.473371] boot_service(u54_2) :: [SetupPMPComplete] -> [ZeroInit]
[4.481391] boot_service(u54_3) :: [SetupPMPComplete] -> [ZeroInit]
[4.489411] boot_service(u54_4) :: [SetupPMPComplete] -> [ZeroInit]
[4.497432] boot_service(u54_1) :: [ZeroInit] -> [Download]
[4.504688] boot_service(u54_2) :: [ZeroInit] -> [Download]
[4.511944] boot_service(u54_3) :: [ZeroInit] -> [Download]
[4.519201] boot_service(u54_4) :: [ZeroInit] -> [Download]
[4.526457] boot_service(u54_1)::Processing boot image: "u-boot.bin"
[4.534287] boot_service(u54_2) :: [Download] -> [Complete]
[4.541543] boot_service(u54_3) :: [Download] -> [Complete]
[4.548800] boot_service(u54_4) :: [Download] -> [Complete]
[4.615749] boot_service(u54_1) :: [Download] -> [OpenSBIInit]
[4.623292] boot_service(u54_1)::Registering domain "u-boot.bin" (hart mask 0x1e)
[4.632362] boot_service(u54_1) :: [OpenSBIInit] -> [Wait]
[4.640860] boot_service(u54_1) :: [Wait] -> [Complete]
[4.696039] u54 State Change: [SBIHartInit] [Booting] [Booting] [Booting]
[4.740723] boot_service(u54_1) :: [Complete] -> [Idle]
[4.753709] boot_service(u54_2) :: [Complete] -> [Idle]
[4.773178] boot_service(u54_3) :: [Complete] -> [Idle]
[4.790651] boot_service(u54_4) :: [Complete] -> [Idle]
[4.886790] u54 State Change: [Running] [SBIWaitForColdboot] [SBIWaitForColdboot] [SBIWaitForColdboot]
[5.00576] SYSREG:PLL_STATUS_SR not equal to 0x707 (0x727)
[5.08788] SYSREG:MAINTENANCE_INT_SR changed since last read (0xf080)
[5.18049] SYSREG:DLL_STATUS_SR changed since last read (0xf0017)
[5.26929] IOSCB_PLL:pll_sw_0:PLL_CTRL changed since last read (0x1)

Somtimes I get the following on UART1:

** No partition table - mmc 0 **
Couldn't find partition mmc 0:1
ethernet@20110000: PHY present at 11
ethernet@20110000: Starting autonegotiation...
ethernet@20110000: Autonegotiation timed out (status=0x7949)
ethernet@20110000: link up, 1000Mbps full-duplex (lpa: 0x3c00)
BOOTP broadcast 1
BOOTP broadcast 2

But most of the time i get nothing all.

I have run the memory tests code which passes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions