https://blog.csdn.net/fa99999/article/details/54880229
1.4 GIC中断类型
GIC 中断类型有3种:SGI(Software-generated interrupt)、PPI(Private peripheral interrupt )、SPI(Shared peripheral interrupt)。
SGI: SGI为软件可以触发的中断,统一编号为0~15,用于各个core之间的通信。
PPI: PPI为每个 core 的私有外设中断,统一编号为 16-31 。例如每个 CPU 的 local timer 即 Arch Timer 产生的中断就是通过 PPI 发送给 CPU 的(安全为29,非安全为30)。
SPI: SPI 是系统的外设产生的中断,为各个 core 公用的中断,统一编号为 32~1019 ,如 global timer 、uart 、gpio 产生的中断。
离线
https://github.com/Lichee-Pi/linux/blob/zero-4.13.y/arch/arm/boot/dts/sun8i-v3s.dtsi
#include <dt-bindings/interrupt-controller/arm-gic.h>
interrupt-parent = <&gic>;
timer {
compatible = "arm,armv7-timer";
interrupts = <GIC_PPI13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
};
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
离线
我的V3s tina3.x linux4.9 PB口可以中断,PG不能中断,请问是什么问题?
离线
我的V3s tina3.x linux4.9 PB口可以中断,PG不能中断,请问是什么问题?
找到问题了吗? 我这环境和你一样,PG口申请出来的中断号 和 uart0 一样,都是32. 根据楼主位发的表,显然uart0 32是对的,PG中断号32是错的。
离线