From 8860ac247e0cc179cfd24e9b85fba0a548d40f15 Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Mon, 5 Jan 2026 13:38:52 +0100 Subject: [PATCH 1/4] kinetis: edma compile fix Refactoring didn't add the required spinlock Signed-off-by: Peter van der Perk --- arch/arm/src/kinetis/kinetis_edma.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm/src/kinetis/kinetis_edma.c b/arch/arm/src/kinetis/kinetis_edma.c index a44cbc0be5a9a..699e4dd4c8c3f 100644 --- a/arch/arm/src/kinetis/kinetis_edma.c +++ b/arch/arm/src/kinetis/kinetis_edma.c @@ -144,6 +144,7 @@ struct kinetis_edma_s /* This array describes each DMA channel */ struct kinetis_dmach_s dmach[KINETIS_EDMA_NCHANNELS]; + spinlock_t lock; }; /**************************************************************************** @@ -223,8 +224,6 @@ static struct kinetis_edmatcd_s *kinetis_tcd_alloc(void) #if CONFIG_KINETIS_EDMA_NTCD > 0 static void kinetis_tcd_free_nolock(struct kinetis_edmatcd_s *tcd) { - irqstate_t flags; - /* Add the the TCD to the end of the free list and post the 'dsem', * possibly waking up another thread that might be waiting for * a TCD. From 59361290cd26f32204a79183a0daf92c760c923b Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Mon, 5 Jan 2026 13:39:12 +0100 Subject: [PATCH 2/4] s32k3xx: edma compile fix Refactoring didn't add the required spinlock Signed-off-by: Peter van der Perk --- arch/arm/src/s32k3xx/s32k3xx_edma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/src/s32k3xx/s32k3xx_edma.c b/arch/arm/src/s32k3xx/s32k3xx_edma.c index 9ad23261dc527..03049b4364e0c 100644 --- a/arch/arm/src/s32k3xx/s32k3xx_edma.c +++ b/arch/arm/src/s32k3xx/s32k3xx_edma.c @@ -156,6 +156,7 @@ struct s32k3xx_edma_s /* This array describes each DMA channel */ struct s32k3xx_dmach_s dmach[S32K3XX_EDMA_NCHANNELS]; + spinlock_t lock; }; /**************************************************************************** From ef89b7400bdf64e067d1270f7e21a26a5254a072 Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Mon, 5 Jan 2026 13:39:35 +0100 Subject: [PATCH 3/4] s32k3xx: emac compile fix Fix compile error with undefined barrier function Signed-off-by: Peter van der Perk --- arch/arm/src/s32k3xx/s32k3xx_emac.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/src/s32k3xx/s32k3xx_emac.c b/arch/arm/src/s32k3xx/s32k3xx_emac.c index 459367f07a3ef..4288d1a013a07 100644 --- a/arch/arm/src/s32k3xx/s32k3xx_emac.c +++ b/arch/arm/src/s32k3xx/s32k3xx_emac.c @@ -36,6 +36,7 @@ #include #include +#include #include From d909794af0bf0a714183ba833399ccc2873fa070 Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Mon, 5 Jan 2026 18:45:14 +0100 Subject: [PATCH 4/4] kinetis: fix flexcan header typo Fix PROSEG -> PROPSEG typo Signed-off-by: Peter van der Perk --- arch/arm/src/kinetis/hardware/kinetis_flexcan.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/src/kinetis/hardware/kinetis_flexcan.h b/arch/arm/src/kinetis/hardware/kinetis_flexcan.h index 72817caeba195..7849050b8277f 100644 --- a/arch/arm/src/kinetis/hardware/kinetis_flexcan.h +++ b/arch/arm/src/kinetis/hardware/kinetis_flexcan.h @@ -151,9 +151,9 @@ /* Control 1 Register */ -#define CAN_CTRL1_PROSEG_SHIFT (0) /* Bits 0-2: Propagation Segment */ -#define CAN_CTRL1_PROSEG_MASK (7 << CAN_CTRL1_PROSEG_SHIFT) -#define CAN_CTRL1_PROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PROPSEG_SHIFT)) & CAN_CTRL1_PROSEG_MASK) +#define CAN_CTRL1_PROPSEG_SHIFT (0) /* Bits 0-2: Propagation Segment */ +#define CAN_CTRL1_PROPSEG_MASK (7 << CAN_CTRL1_PROPSEG_SHIFT) +#define CAN_CTRL1_PROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PROPSEG_SHIFT)) & CAN_CTRL1_PROPSEG_MASK) #define CAN_CTRL1_LOM (1 << 3) /* Bit 3: Listen-Only Mode */ #define CAN_CTRL1_LBUF (1 << 4) /* Bit 4: Lowest Buffer Transmitted First */ #define CAN_CTRL1_TSYN (1 << 5) /* Bit 5: Timer Sync */ @@ -166,7 +166,7 @@ #define CAN_CTRL1_CLKSRC (1 << 13) /* Bit 13: CAN Engine Clock Source */ #define CAN_CTRL1_ERRMSK (1 << 14) /* Bit 14: Error Mask */ #define CAN_CTRL1_BOFFMSK (1 << 15) /* Bit 15: Bus Off Mask */ -#define CAN_CTRL1_TIMINGMSK ((0xFFFF << 16) | CAN_CTRL1_PROSEG_MASK) +#define CAN_CTRL1_TIMINGMSK ((0xFFFF << 16) | CAN_CTRL1_PROPSEG_MASK) /* Bitmask for propseg, pseg1/2, rjw & presdiv */ /* Bits 16-31: Timing Mask */ #define CAN_CTRL1_PSEG2_SHIFT (16) /* Bits 16-18: Phase Segment 2 */