Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 14 additions & 10 deletions config/examples/vorago_va416x0.config
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,19 @@ WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x9800
WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x24800
WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x3F800

# ML-DSA 5: 36KB boot, 104KB partitions, 12KB swap
# ML-DSA 5: 36KB boot, 96KB partitions, 12KB swap
#WOLFBOOT_SECTOR_SIZE?=0x3000
#WOLFBOOT_PARTITION_SIZE?=0x1A000
#WOLFBOOT_PARTITION_SIZE?=0x18000
#WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x9000
#WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x23000
#WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x3D000
#WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x21000
#WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x39000

# Debug: 64KB boot, 95KB partitions, 2KB swap
# Debug: 64KB boot, 94KB partitions, 2KB swap
#WOLFBOOT_SECTOR_SIZE?=0x800
#WOLFBOOT_PARTITION_SIZE?=0x18000
#WOLFBOOT_PARTITION_BOOT_ADDRESS?=0xFC00
#WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x27C00
#WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x3FC00
#WOLFBOOT_PARTITION_SIZE?=0x17800
#WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x10000
#WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x27800
#WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x3F000

# Vorago SDK common drivers directory
VORAGO_SDK_DIR?=$(PWD)/../VA416xx_SDK/
Expand All @@ -76,4 +76,8 @@ USE_HAL_SPI_FRAM=1
#CFLAGS_EXTRA+=-DWOLFBOOT_EDAC_ROM_SCRUB=125

# Leave clock at 100MHz (to restore clock to heart beat oscillator use =1)
WOLFBOOT_RESTORE_CLOCK?=0
WOLFBOOT_RESTORE_CLOCK?=1

# Optional debugging
#CFLAGS_EXTRA+=-DDEBUG_EXT_FLASH
#CFLAGS_EXTRA+=-DTEST_EXT_FLASH
28 changes: 27 additions & 1 deletion hal/va416x0.c
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,6 @@ static int test_ext_flash(void)
int ret;
uint32_t i;
uint8_t pageData[WOLFBOOT_SECTOR_SIZE];
uint32_t wait = 0;

#ifndef READONLY
/* Erase sector */
Expand Down Expand Up @@ -547,11 +546,38 @@ void hal_prepare_boot(void)
{
#ifdef DEBUG_UART
uart_flush();

/* Disable UART to give app a clean state */
DEBUG_UART_BASE->IRQ_ENB = 0;
DEBUG_UART_BASE->ENABLE = 0;
#if defined(DEBUG_UART_NUM) && DEBUG_UART_NUM == 1
NVIC_DisableIRQ(UART1_RX_IRQn);
NVIC_ClearPendingIRQ(UART1_RX_IRQn);
#elif defined(DEBUG_UART_NUM) && DEBUG_UART_NUM == 2
NVIC_DisableIRQ(UART2_RX_IRQn);
NVIC_ClearPendingIRQ(UART2_RX_IRQn);
#else /* default: UART0 */
NVIC_DisableIRQ(UART0_RX_IRQn);
NVIC_ClearPendingIRQ(UART0_RX_IRQn);
#endif
#endif

#ifdef WOLFBOOT_RESTORE_CLOCK
/* Restore clock to heart-beat oscillator */
(void)HAL_Clkgen_Init(CLK_CFG_HBO);
SystemCoreClockUpdate();
#endif

/* Disable SysTick - enabled by Vorago SDK HAL_Init() */
SysTick->CTRL = 0;
SCB->ICSR = SCB_ICSR_PENDSTCLR_Msk;

/* Disable EDAC interrupts - enabled by ConfigEdac() */
NVIC_DisableIRQ(EDAC_MBE_IRQn);
NVIC_DisableIRQ(EDAC_SBE_IRQn);
NVIC_ClearPendingIRQ(EDAC_MBE_IRQn);
NVIC_ClearPendingIRQ(EDAC_SBE_IRQn);

/* Disable system config IRQs */
VOR_SYSCONFIG->IRQ_ENB = 0;
}