File tree Expand file tree Collapse file tree 5 files changed +36
-3
lines changed
tests/arch/arm/arm_irq_vector_table Expand file tree Collapse file tree 5 files changed +36
-3
lines changed Original file line number Diff line number Diff line change @@ -105,6 +105,7 @@ static void uart_ambiq_pm_policy_state_lock_get(const struct device *dev)
105
105
}
106
106
}
107
107
108
+ #if defined(CONFIG_UART_INTERRUPT_DRIVEN ) || defined(CONFIG_UART_ASYNC_API )
108
109
static void uart_ambiq_pm_policy_state_lock_put_unconditional (void )
109
110
{
110
111
if (IS_ENABLED (CONFIG_PM )) {
@@ -123,6 +124,7 @@ static void uart_ambiq_pm_policy_state_lock_put(const struct device *dev)
123
124
}
124
125
}
125
126
}
127
+ #endif
126
128
127
129
static int uart_ambiq_configure (const struct device * dev , const struct uart_config * cfg )
128
130
{
Original file line number Diff line number Diff line change 1
1
/*
2
2
* Copyright (c) 2023 Antmicro <www.antmicro.com>
3
+ * Copyright (c) 2025, Ambiq Micro Inc. <www.ambiq.com>
3
4
*
4
5
* SPDX-License-Identifier: Apache-2.0
5
6
*/
@@ -94,7 +95,7 @@ static void ambiq_stimer_delta_set(uint32_t ui32Delta)
94
95
#endif
95
96
}
96
97
97
- static void stimer_isr (const void * arg )
98
+ void stimer_isr (const void * arg )
98
99
{
99
100
ARG_UNUSED (arg );
100
101
Original file line number Diff line number Diff line change @@ -48,9 +48,9 @@ void soc_early_init_hook(void)
48
48
/*
49
49
* Set default temperature for spotmgr to room temperature
50
50
*/
51
- am_hal_pwrctrl_temp_thresh_t dummy [ 32 ] ;
51
+ am_hal_pwrctrl_temp_thresh_t dummy ;
52
52
53
- am_hal_pwrctrl_temp_update (25.0f , dummy );
53
+ am_hal_pwrctrl_temp_update (25.0f , & dummy );
54
54
55
55
/* Enable Icache*/
56
56
sys_cache_instr_enable ();
Original file line number Diff line number Diff line change
1
+ # start of software interrupt number
2
+ CONFIG_ISR_OFFSET=92
3
+ CONFIG_UART_INTERRUPT_DRIVEN=n
Original file line number Diff line number Diff line change @@ -243,6 +243,33 @@ const vth __irq_vector_table _irq_vector_table[] = {
243
243
#else
244
244
#error "GPT timer enabled, but no known SOC selected. ISR table needs rework"
245
245
#endif
246
+
247
+ #elif defined(CONFIG_SOC_FAMILY_AMBIQ )
248
+
249
+ #if defined(CONFIG_AMBIQ_STIMER_TIMER )
250
+ extern void stimer_isr (void );
251
+ #define TIMER_IRQ_NUM DT_IRQN(DT_INST(0, ambiq_stimer))
252
+ #define TIMER_IRQ_HANDLER stimer_isr
253
+ #define IRQ_VECTOR_TABLE_SIZE _ISR_OFFSET > TIMER_IRQ_NUM ? (_ISR_OFFSET + 3) : (TIMER_IRQ_NUM + 2)
254
+ #else
255
+ #define IRQ_VECTOR_TABLE_SIZE (_ISR_OFFSET + 3)
256
+ #endif /* CONFIG_AMBIQ_STIMER_TIMER */
257
+
258
+ const vth __irq_vector_table _irq_vector_table [IRQ_VECTOR_TABLE_SIZE ] = {
259
+ [_ISR_OFFSET ] = isr0 ,
260
+ [_ISR_OFFSET + 1 ] = isr1 ,
261
+ [_ISR_OFFSET + 2 ] = isr2 ,
262
+ #ifdef CONFIG_AMBIQ_STIMER_TIMER
263
+ [TIMER_IRQ_NUM ] = TIMER_IRQ_HANDLER ,
264
+ #if defined(CONFIG_SOC_SERIES_APOLLO3X ) || defined (CONFIG_SOC_SERIES_APOLLO4X )
265
+ [TIMER_IRQ_NUM + 1 ] = TIMER_IRQ_HANDLER ,
266
+ #endif
267
+ #endif
268
+ #ifdef CONFIG_SOC_SERIES_APOLLO5X
269
+ [TIMER0_IRQn + AM_HAL_INTERNAL_TIMER_NUM_A ] = hal_internal_timer_isr ,
270
+ #endif
271
+ };
272
+
246
273
#else
247
274
248
275
#if defined(CONFIG_MCUX_OS_TIMER )
You can’t perform that action at this time.
0 commit comments