driver: dmamux: use LL_DMAMUX_CHANNEL_X flag to check if channels exists

Use LL_DMAMUX_CHANNEL_x defines instead of DMAMUX_CSR_SOF7x to check
if corresponding LL_DMAMUX_IsActiveFlag_SOx and LL_DMAMUX_ClearFlag_SOx
inline functions exist and should be added to func_ll_is_active_so[]
and func_ll_clear_so[].
The HAL of some socs uses the same flag to decide which registers exist
on a specific soc. And the same defines are used for table_ll_channel[]
initializations.

This is necessary because DMAMUX_CSR_SOF5 and DMAMUX_CSR_SOF6 were
wrongly added in the HALs soc header file for some stm32g0 socs,
therefore without this change some stm32g0 socs couldn't compile.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
This commit is contained in:
Thomas Stranger
2021-03-17 22:31:50 +01:00
parent 8bb6933760
commit 5f6218a570

View File

@@ -60,37 +60,39 @@ uint32_t (*func_ll_is_active_so[])(DMAMUX_Channel_TypeDef *DMAMUXx) = {
LL_DMAMUX_IsActiveFlag_SO2,
LL_DMAMUX_IsActiveFlag_SO3,
LL_DMAMUX_IsActiveFlag_SO4,
#if defined(LL_DMAMUX_CHANNEL_5)
LL_DMAMUX_IsActiveFlag_SO5,
#if defined(DMAMUX_CSR_SOF6)
#endif /* LL_DMAMUX_CHANNEL_5 */
#if defined(LL_DMAMUX_CHANNEL_6)
LL_DMAMUX_IsActiveFlag_SO6,
#endif /* DMAMUX_CSR_SOF6 */
#if defined(DMAMUX_CSR_SOF7)
#endif /* LL_DMAMUX_CHANNEL_6 */
#if defined(LL_DMAMUX_CHANNEL_7)
LL_DMAMUX_IsActiveFlag_SO7,
#endif /* DMAMUX_CSR_SOF7 */
#if defined(DMAMUX_CSR_SOF8)
#endif /* LL_DMAMUX_CHANNEL_7 */
#if defined(LL_DMAMUX_CHANNEL_8)
LL_DMAMUX_IsActiveFlag_SO8,
#endif /* DMAMUX_CSR_SOF8 */
#if defined(DMAMUX_CSR_SOF9)
#endif /* LL_DMAMUX_CHANNEL_8 */
#if defined(LL_DMAMUX_CHANNEL_9)
LL_DMAMUX_IsActiveFlag_SO9,
#endif /* DMAMUX_CSR_SOF9 */
#if defined(DMAMUX_CSR_SOF10)
#endif /* LL_DMAMUX_CHANNEL_9 */
#if defined(LL_DMAMUX_CHANNEL_10)
LL_DMAMUX_IsActiveFlag_SO10,
#endif /* DMAMUX_CSR_SOF10 */
#if defined(DMAMUX_CSR_SOF11)
#endif /* LL_DMAMUX_CHANNEL_10 */
#if defined(LL_DMAMUX_CHANNEL_11)
LL_DMAMUX_IsActiveFlag_SO11,
#endif /* DMAMUX_CSR_SOF11 */
#if defined(DMAMUX_CSR_SOF12)
#endif /* LL_DMAMUX_CHANNEL_11 */
#if defined(LL_DMAMUX_CHANNEL_12)
LL_DMAMUX_IsActiveFlag_SO12,
#endif /* DMAMUX_CSR_SOF12 */
#if defined(DMAMUX_CSR_SOF130)
#endif /* LL_DMAMUX_CHANNEL_12 */
#if defined(LL_DMAMUX_CHANNEL_130)
LL_DMAMUX_IsActiveFlag_SO13,
#endif /* DMAMUX_CSR_SOF130 */
#if defined(DMAMUX_CSR_SOF14)
#endif /* LL_DMAMUX_CHANNEL_130 */
#if defined(LL_DMAMUX_CHANNEL_14)
LL_DMAMUX_IsActiveFlag_SO14,
#endif /* DMAMUX_CSR_SOF14 */
#if defined(DMAMUX_CSR_SOF15)
#endif /* LL_DMAMUX_CHANNEL_14 */
#if defined(LL_DMAMUX_CHANNEL_15)
LL_DMAMUX_IsActiveFlag_SO15,
#endif /* DMAMUX_CSR_SOF15 */
#endif /* LL_DMAMUX_CHANNEL_15 */
};
void (*func_ll_clear_so[])(DMAMUX_Channel_TypeDef *DMAMUXx) = {
@@ -99,37 +101,39 @@ void (*func_ll_clear_so[])(DMAMUX_Channel_TypeDef *DMAMUXx) = {
LL_DMAMUX_ClearFlag_SO2,
LL_DMAMUX_ClearFlag_SO3,
LL_DMAMUX_ClearFlag_SO4,
#if defined(LL_DMAMUX_CHANNEL_5)
LL_DMAMUX_ClearFlag_SO5,
#if defined(DMAMUX_CSR_SOF6)
#endif /* LL_DMAMUX_CHANNEL_5 */
#if defined(LL_DMAMUX_CHANNEL_6)
LL_DMAMUX_ClearFlag_SO6,
#endif /* DMAMUX_CSR_SOF6 */
#if defined(DMAMUX_CSR_SOF7)
#endif /* LL_DMAMUX_CHANNEL_6 */
#if defined(LL_DMAMUX_CHANNEL_7)
LL_DMAMUX_ClearFlag_SO7,
#endif /* DMAMUX_CSR_SOF7 */
#if defined(DMAMUX_CSR_SOF8)
#endif /* LL_DMAMUX_CHANNEL_7 */
#if defined(LL_DMAMUX_CHANNEL_8)
LL_DMAMUX_ClearFlag_SO8,
#endif /* DMAMUX_CSR_SOF8 */
#if defined(DMAMUX_CSR_SOF9)
#endif /* LL_DMAMUX_CHANNEL_8 */
#if defined(LL_DMAMUX_CHANNEL_9)
LL_DMAMUX_ClearFlag_SO9,
#endif /* DMAMUX_CSR_SOF9 */
#if defined(DMAMUX_CSR_SOF10)
#endif /* LL_DMAMUX_CHANNEL_9 */
#if defined(LL_DMAMUX_CHANNEL_10)
LL_DMAMUX_ClearFlag_SO10,
#endif /* DMAMUX_CSR_SOF10 */
#if defined(DMAMUX_CSR_SOF11)
#endif /* LL_DMAMUX_CHANNEL_10 */
#if defined(LL_DMAMUX_CHANNEL_11)
LL_DMAMUX_ClearFlag_SO11,
#endif /* DMAMUX_CSR_SOF11 */
#if defined(DMAMUX_CSR_SOF12)
#endif /* LL_DMAMUX_CHANNEL_11 */
#if defined(LL_DMAMUX_CHANNEL_12)
LL_DMAMUX_ClearFlag_SO12,
#endif /* DMAMUX_CSR_SOF12 */
#if defined(DMAMUX_CSR_SOF13)
#endif /* LL_DMAMUX_CHANNEL_12 */
#if defined(LL_DMAMUX_CHANNEL_13)
LL_DMAMUX_ClearFlag_SO13,
#endif /* DMAMUX_CSR_SOF13 */
#if defined(DMAMUX_CSR_SOF14)
#endif /* LL_DMAMUX_CHANNEL_13 */
#if defined(LL_DMAMUX_CHANNEL_14)
LL_DMAMUX_ClearFlag_SO14,
#endif /* DMAMUX_CSR_SOF145 */
#if defined(DMAMUX_CSR_SOF15)
#endif /* LL_DMAMUX_CHANNEL_14 */
#if defined(LL_DMAMUX_CHANNEL_15)
LL_DMAMUX_ClearFlag_SO15,
#endif /* DMAMUX_CSR_SOF15 */
#endif /* LL_DMAMUX_CHANNEL_15 */
};
uint32_t (*func_ll_is_active_rgo[])(DMAMUX_Channel_TypeDef *DMAMUXx) = {