List of Restructured BSP Files

When upgrading Sapphire SoC IP using Efinity software v2025.1, the following files are restructured.

Changes in software:
  1. Obsolete and exclusion of legacy print functions.
  2. Obsolete of old definition:
    The old definition from legacy SoC like BSP_MACHINE_TIMER, BSP_MACHINE_TIMER_HZ, machineTimer_setmp, machineTimer_getTime, machineTimer_uDelay,bsp_putString, configMTIME_BASE_ADDRESS, configMTIMECMP_BASE_ADDRESS, configCPU_CLOCK_HZ, BSP_LED_GPIO, BSP_LED_MASKhave been removed.
  3. soc.h, freertosHalConfig.h, print.h, print_full.h, and semihosting.h moved from bsp/efinix/EfxSapphireSoc/app to bsp/efinix/EfxSapphireSoc/include folder.
  4. Every hardware definition for demo bsp/efinix/EfxSapphireSoc/app has been removed and replaced with userDef.h in the demo folder. The bsp/efinix/ EfxSapphireSoc/app folder is redefined to put the middleware like FatFs and LWIP.
Note: This feature is enabled by default. The BSP files are restructured when you upgrade using the Efinity software v2025.1, For backup purpose, the old embedded_sw/SapphireSoc folder is backed up as embedded_sw/SapphireSoc_backup.
Table 1. List of Files Structure Changes
Directory Files/Folder Changes
embedded_sw config/
config_linux/
Removed.
embedded_sw/software application
  • coremark
  • dhrystone
  • memTest
apb3
  • apb3Demo
axi4
  • axi4Demo
customInstruction
  • customInstructionDemo
fpu
  • fpuDemo
gpio
  • gpioDemo
  • inlineAsmDemo
i2c
  • i2cDemo
  • i2cEepromDemo
  • i2cMasterDemo
  • i2cSlaveDemo
smp
  • smpDemo
spi
  • spiDemo
timer
  • clintTimerInterruptDemo
  • nestedInterruptDemo
  • userTimerDemo
  • watchdogDemo
File Restructure.
Note: spiReadFlashDemo, spiWriteFlashDemo, and coreTimerInterrupt are no longer supported.
embedded_sw/software/
freeRTOS/driver
apb3_cl.h, clint.h, dmasg.h, asdefx_mmc_driver.h, efx_tse_mac.h, efx_tse_phy.h, gpio.h, i2c.h, io.h, mmc.h, plic.h, prescaler.h, riscv.h, spi.h, spiFlash.h, start.h, timer.h, type.h, uart.h, vexriscv.h Removed.
bsp/efinix/EfxSapphireSoC/app bootloaderConfig.h, core_portme.h,coremark.h, DDRCali_i2c.h, i2cDemo.h, i2cMcp4725.h, nestedInterruptDemo.h, print.h, print_full.h, sdHostDemo.h, semihosting.h, smpDemo.h, spiDemo.h, tseDemo.h, userTimerDemo.h, freertosHalConfig.h Reallocated.
Refer to Table 2.
bsp/efinix/EfxSapphireSoC/include print.h,
print_full.h,
semihosting.h
Added.
bsp/efinix/EfxSapphireSoC/linker freertos_i.ld
freertos.ld
Added.

All hardware definitions for demo bsp/efinix/EfxSapphireSoC/app have been removed and replaced with userDef.h in the demo folder. The bsp/efinix/EfxSapphireSoC/app has been redefined to include the middleware such as FatFs and LWIP. Refer to the Table 2 for the location of the old header file.

Table 2. List of Reallocation File
Original Path Original File Destination Path
bsp/efinix/ EfxSapphireSoC/app freertosHalConfig.h bsp/efinix/EfxSapphireSoc/include/
freertosHalConfig.h
print.h bsp/efinix/EfxSapphireSoc/include/print.h
print_full.h bsp/efinix/EfxSapphireSoc/include/print_full.h
semihosting.h bsp/efinix/EfxSapphireSoc/include/
semihosting.h
bootloaderConfig.h software/standalone/bootloader/src/
bootloaderConfig.h
coremark.h software/standalone/application/coremark/
src/coremark.h
core_portme.h software/standalone/application/coremark/src/
core_portme.h
i2cDemo.h software/standalone/i2c/i2cDemo/src/userDef.h
smpDemo.h software/standalone/smp/smpDemo/
src/userDef.h
spiDemo.h software/standalone/smp/spiDemo/src/userDef.h
nestedInterruptDemo.h software/standalone/timer/
nestedInterruptDemo/src/userDef.h
userTimerDemo.h software/standalone/timer/userTimerDemo/src/
userDef.h
DDRCali_i2c.h software/standalone/driver/DDRCali_i2c.h
i2cMcp4725.h Removed.
sdHostDemo.h Removed.
tseDemo.h Removed.