From f7258a6bb80d9be12e73675ab35a04651e32eda3 Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Sat, 15 Aug 2026 22:36:46 +0800 Subject: [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 <2991707448@qq.com> --- libcpu/aarch64/common/trap.c | 64 -------------------------------------------- 1 file changed, 64 deletions(-) (limited to 'libcpu') 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) -- cgit v1.3.1