summaryrefslogtreecommitdiff
path: root/libcpu
diff options
context:
space:
mode:
authorGuEe-GUI <[email protected]>2026-08-15 22:36:46 +0800
committerRbb666 <[email protected]>2026-08-16 19:56:03 +0800
commitf7258a6bb80d9be12e73675ab35a04651e32eda3 (patch)
tree050411e5f5e9990179a554bc8d0608762fabfa05 /libcpu
parent2bcc47d418a4aed421d9750569a565a954daf045 (diff)
[bsp/raspberry-pi] update DM support
- reorganize common Raspberry Pi drivers under the device framework - add the Raspberry Pi 5 BSP, configuration and documentation - add BCM2712 and DesignWare AXI DMA controller support - distinguish BCM2712 DMA32 and DMA40 channels by channel mask - restore DesignWare AXI DMA enable bits after controller reset - support a shared AXI maximum burst length across DMA channels Signed-off-by: GuEe-GUI <[email protected]>
Diffstat (limited to 'libcpu')
-rw-r--r--libcpu/aarch64/common/trap.c64
1 files changed, 0 insertions, 64 deletions
diff --git a/libcpu/aarch64/common/trap.c b/libcpu/aarch64/common/trap.c
index 0ac2dca8ba..fad0b120d9 100644
--- a/libcpu/aarch64/common/trap.c
+++ b/libcpu/aarch64/common/trap.c
@@ -172,69 +172,6 @@ void rt_hw_show_register(struct rt_hw_exp_stack *regs)
#ifndef RT_USING_PIC
static void _rt_hw_trap_irq(rt_interrupt_context_t irq_context)
{
-#ifdef SOC_BCM283x
- extern rt_uint8_t core_timer_flag;
- void *param;
- uint32_t irq;
- rt_isr_handler_t isr_func;
- extern struct rt_irq_desc isr_table[];
- uint32_t value = 0;
- value = IRQ_PEND_BASIC & 0x3ff;
-
- if(core_timer_flag != 0)
- {
- uint32_t cpu_id = rt_hw_cpu_id();
- uint32_t int_source = CORE_IRQSOURCE(cpu_id);
- if (int_source & 0x0f)
- {
- if (int_source & 0x08)
- {
- isr_func = isr_table[IRQ_ARM_TIMER].handler;
-#ifdef RT_USING_INTERRUPT_INFO
- isr_table[IRQ_ARM_TIMER].counter++;
-#endif
- if (isr_func)
- {
- param = isr_table[IRQ_ARM_TIMER].param;
- isr_func(IRQ_ARM_TIMER, param);
- }
- }
- }
- }
-
- /* local interrupt*/
- if (value)
- {
- if (value & (1 << 8))
- {
- value = IRQ_PEND1;
- irq = __rt_ffs(value) - 1;
- }
- else if (value & (1 << 9))
- {
- value = IRQ_PEND2;
- irq = __rt_ffs(value) + 31;
- }
- else
- {
- value &= 0x0f;
- irq = __rt_ffs(value) + 63;
- }
-
- /* get interrupt service routine */
- isr_func = isr_table[irq].handler;
-#ifdef RT_USING_INTERRUPT_INFO
- isr_table[irq].counter++;
-#endif
- if (isr_func)
- {
- /* Interrupt for myself. */
- param = isr_table[irq].param;
- /* turn to interrupt service routine */
- isr_func(irq, param);
- }
- }
-#else
void *param;
int ir, ir_self;
rt_isr_handler_t isr_func;
@@ -269,7 +206,6 @@ static void _rt_hw_trap_irq(rt_interrupt_context_t irq_context)
/* end of interrupt */
rt_hw_interrupt_ack(ir);
-#endif
}
#else
static void _rt_hw_trap_irq(struct rt_interrupt_context *this_ctx)