From 415cc17c54a775982b18f167b5bbde3a13b49cf7 Mon Sep 17 00:00:00 2001 From: Nazar Palamar Date: Wed, 8 Jan 2025 23:07:52 +0200 Subject: [PATCH] drivers: ifx_cat1: Updates to support latest version of HAL/PDL - Refactoring to support latest versions of HAL/PDL Signed-off-by: Nazar Palamar --- drivers/i2c/i2c_ifx_cat1.c | 5 ++++- drivers/serial/uart_ifx_cat1.c | 5 ++++- drivers/spi/spi_ifx_cat1.c | 5 ++++- .../source/COMPONENT_ZEPHYR/cyabs_rtos_zephyr.c | 16 +--------------- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/drivers/i2c/i2c_ifx_cat1.c b/drivers/i2c/i2c_ifx_cat1.c index 3759be1d981..f272d87346e 100644 --- a/drivers/i2c/i2c_ifx_cat1.c +++ b/drivers/i2c/i2c_ifx_cat1.c @@ -81,11 +81,14 @@ static const cy_stc_scb_i2c_config_t _cyhal_i2c_default_config = { static int32_t _get_hw_block_num(CySCB_Type *reg_addr) { + extern const uint8_t _CYHAL_SCB_BASE_ADDRESS_INDEX[_SCB_ARRAY_SIZE]; + extern CySCB_Type *const _CYHAL_SCB_BASE_ADDRESSES[_SCB_ARRAY_SIZE]; + uint32_t i; for (i = 0u; i < _SCB_ARRAY_SIZE; i++) { if (_CYHAL_SCB_BASE_ADDRESSES[i] == reg_addr) { - return i; + return _CYHAL_SCB_BASE_ADDRESS_INDEX[i]; } } diff --git a/drivers/serial/uart_ifx_cat1.c b/drivers/serial/uart_ifx_cat1.c index c421a01c4a9..ab217190e24 100644 --- a/drivers/serial/uart_ifx_cat1.c +++ b/drivers/serial/uart_ifx_cat1.c @@ -153,11 +153,14 @@ static uint32_t _convert_uart_data_bits_z_to_cyhal(enum uart_config_data_bits da static int32_t _get_hw_block_num(CySCB_Type *reg_addr) { + extern const uint8_t _CYHAL_SCB_BASE_ADDRESS_INDEX[_SCB_ARRAY_SIZE]; + extern CySCB_Type *const _CYHAL_SCB_BASE_ADDRESSES[_SCB_ARRAY_SIZE]; + uint32_t i; for (i = 0u; i < _SCB_ARRAY_SIZE; i++) { if (_CYHAL_SCB_BASE_ADDRESSES[i] == reg_addr) { - return i; + return _CYHAL_SCB_BASE_ADDRESS_INDEX[i]; } } diff --git a/drivers/spi/spi_ifx_cat1.c b/drivers/spi/spi_ifx_cat1.c index bec34768556..2a1cf0b6a8b 100644 --- a/drivers/spi/spi_ifx_cat1.c +++ b/drivers/spi/spi_ifx_cat1.c @@ -45,11 +45,14 @@ struct ifx_cat1_spi_data { static int32_t get_hw_block_num(CySCB_Type *reg_addr) { + extern const uint8_t _CYHAL_SCB_BASE_ADDRESS_INDEX[_SCB_ARRAY_SIZE]; + extern CySCB_Type *const _CYHAL_SCB_BASE_ADDRESSES[_SCB_ARRAY_SIZE]; + uint32_t i; for (i = 0u; i < _SCB_ARRAY_SIZE; i++) { if (_CYHAL_SCB_BASE_ADDRESSES[i] == reg_addr) { - return i; + return _CYHAL_SCB_BASE_ADDRESS_INDEX[i]; } } diff --git a/modules/hal_infineon/abstraction-rtos/source/COMPONENT_ZEPHYR/cyabs_rtos_zephyr.c b/modules/hal_infineon/abstraction-rtos/source/COMPONENT_ZEPHYR/cyabs_rtos_zephyr.c index ae06b13892c..27cf46f9a58 100644 --- a/modules/hal_infineon/abstraction-rtos/source/COMPONENT_ZEPHYR/cyabs_rtos_zephyr.c +++ b/modules/hal_infineon/abstraction-rtos/source/COMPONENT_ZEPHYR/cyabs_rtos_zephyr.c @@ -308,10 +308,8 @@ cy_rslt_t cy_rtos_wait_thread_notification(cy_time_t timeout_ms) return status; } -cy_rslt_t cy_rtos_thread_set_notification(cy_thread_t *thread, bool in_isr) +cy_rslt_t cy_rtos_thread_set_notification(cy_thread_t *thread) { - CY_UNUSED_PARAMETER(in_isr); - cy_rslt_t status = CY_RSLT_SUCCESS; if (thread == NULL) { @@ -426,8 +424,6 @@ cy_rslt_t cy_rtos_init_semaphore(cy_semaphore_t *semaphore, uint32_t maxcount, u cy_rslt_t cy_rtos_get_semaphore(cy_semaphore_t *semaphore, cy_time_t timeout_ms, bool in_isr) { - CY_UNUSED_PARAMETER(in_isr); - cy_rtos_error_t status_internal; cy_rslt_t status; @@ -462,8 +458,6 @@ cy_rslt_t cy_rtos_get_semaphore(cy_semaphore_t *semaphore, cy_time_t timeout_ms, cy_rslt_t cy_rtos_set_semaphore(cy_semaphore_t *semaphore, bool in_isr) { - CY_UNUSED_PARAMETER(in_isr); - cy_rslt_t status = CY_RSLT_SUCCESS; if (semaphore == NULL) { @@ -523,8 +517,6 @@ cy_rslt_t cy_rtos_init_event(cy_event_t *event) cy_rslt_t cy_rtos_setbits_event(cy_event_t *event, uint32_t bits, bool in_isr) { - CY_UNUSED_PARAMETER(in_isr); - cy_rslt_t status = CY_RSLT_SUCCESS; if (event == NULL) { @@ -539,8 +531,6 @@ cy_rslt_t cy_rtos_setbits_event(cy_event_t *event, uint32_t bits, bool in_isr) cy_rslt_t cy_rtos_clearbits_event(cy_event_t *event, uint32_t bits, bool in_isr) { - CY_UNUSED_PARAMETER(in_isr); - cy_rslt_t status = CY_RSLT_SUCCESS; if (event == NULL) { @@ -645,8 +635,6 @@ cy_rslt_t cy_rtos_init_queue(cy_queue_t *queue, size_t length, size_t itemsize) cy_rslt_t cy_rtos_put_queue(cy_queue_t *queue, const void *item_ptr, cy_time_t timeout_ms, bool in_isr) { - CY_UNUSED_PARAMETER(in_isr); - cy_rtos_error_t status_internal; cy_rslt_t status; @@ -674,8 +662,6 @@ cy_rslt_t cy_rtos_put_queue(cy_queue_t *queue, const void *item_ptr, cy_time_t t cy_rslt_t cy_rtos_get_queue(cy_queue_t *queue, void *item_ptr, cy_time_t timeout_ms, bool in_isr) { - CY_UNUSED_PARAMETER(in_isr); - cy_rtos_error_t status_internal; cy_rslt_t status;