From 910d288017ddac6ba289288a163bbbdd5419804b Mon Sep 17 00:00:00 2001 From: Luca Burelli Date: Thu, 18 Dec 2025 12:17:23 +0100 Subject: [PATCH 1/2] loader: fix unoq analog_reference return values Restore a minimal error handling for analog_reference() by returning an int status code. Signed-off-by: Luca Burelli --- loader/fixups.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/loader/fixups.c b/loader/fixups.c index 42afca2d..80aa4036 100644 --- a/loader/fixups.c +++ b/loader/fixups.c @@ -195,6 +195,7 @@ SYS_INIT(maybe_flash_bootloader, POST_KERNEL, CONFIG_FILE_SYSTEM_INIT_PRIORITY); int analog_reference(uint8_t reference) { uint8_t init_status; + /* VREF+ is connected to VDDA by default */ const struct gpio_dt_spec spec = GPIO_DT_SPEC_GET_BY_IDX(DT_PATH(zephyr_user), analog_switch_gpios, 0); @@ -210,7 +211,7 @@ int analog_reference(uint8_t reference) { if (reference == AR_DEFAULT) { /* VREF+ is connected to VDDA */ gpio_pin_set_dt(&spec, 0); - return; + return 0; } gpio_pin_set_dt(&spec, 1); @@ -236,7 +237,7 @@ int analog_reference(uint8_t reference) { } HAL_SYSCFG_VREFBUF_VoltageScalingConfig(voltageScaling); - HAL_SYSCFG_EnableVREFBUF(); + init_status = HAL_SYSCFG_EnableVREFBUF(); HAL_SYSCFG_VREFBUF_HighImpedanceConfig(SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE); __ASSERT(init_status == HAL_OK, "ADC Conversion value may be incorrect"); @@ -248,7 +249,7 @@ EXPORT_SYMBOL(analog_reference); int disable_vrefbuf() { // This is the safe HW configuration - analog_reference(AR_DEFAULT); + return analog_reference(AR_DEFAULT); } SYS_INIT(disable_vrefbuf, POST_KERNEL, 0); From 959de177425b63c1151c8e887745fdfa750851c2 Mon Sep 17 00:00:00 2001 From: Luca Burelli Date: Thu, 18 Dec 2025 12:52:22 +0100 Subject: [PATCH 2/2] loader: minor warning cleanup --- loader/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/loader/main.c b/loader/main.c index a77b1fd3..c141af70 100644 --- a/loader/main.c +++ b/loader/main.c @@ -168,7 +168,7 @@ static int loader(const struct shell *sh) { return -ENOMEM; } memset(ram_firmware, 0, 64 * 1024); - *ram_start = &ram_firmware[0]; + *ram_start = (uint32_t)&ram_firmware[0]; } if (gpio_pin_get_dt(&spec) == 0) { matrixBegin();