hw/misc: In STM32L4x5 EXTI, consolidate 2 constants
Up until now, the EXTI implementation had 16 inbound GPIOs connected to the 16 outbound GPIOs of STM32L4x5 SYSCFG. The EXTI actually handles 40 lines (namely 5 from STM32L4x5 USART devices which are already implemented in QEMU). In order to connect USART devices to EXTI, this commit consolidates constants `EXTI_NUM_INTERRUPT_OUT_LINES` (40) and `EXTI_NUM_GPIO_EVENT_IN_LINES` (16) into `EXTI_NUM_LINES` (40). Signed-off-by: Inès Varhol <ines.varhol@telecom-paris.fr> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20240707085927.122867-2-ines.varhol@telecom-paris.fr Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
0487c63180
commit
27d405301a
@ -42,7 +42,6 @@
|
||||
#define EXTI_SWIER2 0x30
|
||||
#define EXTI_PR2 0x34
|
||||
|
||||
#define EXTI_NUM_GPIO_EVENT_IN_LINES 16
|
||||
#define EXTI_MAX_IRQ_PER_BANK 32
|
||||
#define EXTI_IRQS_BANK0 32
|
||||
#define EXTI_IRQS_BANK1 8
|
||||
@ -238,7 +237,7 @@ static void stm32l4x5_exti_init(Object *obj)
|
||||
{
|
||||
Stm32l4x5ExtiState *s = STM32L4X5_EXTI(obj);
|
||||
|
||||
for (size_t i = 0; i < EXTI_NUM_INTERRUPT_OUT_LINES; i++) {
|
||||
for (size_t i = 0; i < EXTI_NUM_LINES; i++) {
|
||||
sysbus_init_irq(SYS_BUS_DEVICE(obj), &s->irq[i]);
|
||||
}
|
||||
|
||||
@ -246,8 +245,7 @@ static void stm32l4x5_exti_init(Object *obj)
|
||||
TYPE_STM32L4X5_EXTI, 0x400);
|
||||
sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->mmio);
|
||||
|
||||
qdev_init_gpio_in(DEVICE(obj), stm32l4x5_exti_set_irq,
|
||||
EXTI_NUM_GPIO_EVENT_IN_LINES);
|
||||
qdev_init_gpio_in(DEVICE(obj), stm32l4x5_exti_set_irq, EXTI_NUM_LINES);
|
||||
}
|
||||
|
||||
static const VMStateDescription vmstate_stm32l4x5_exti = {
|
||||
|
@ -30,7 +30,7 @@
|
||||
#define TYPE_STM32L4X5_EXTI "stm32l4x5-exti"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(Stm32l4x5ExtiState, STM32L4X5_EXTI)
|
||||
|
||||
#define EXTI_NUM_INTERRUPT_OUT_LINES 40
|
||||
#define EXTI_NUM_LINES 40
|
||||
#define EXTI_NUM_REGISTER 2
|
||||
|
||||
struct Stm32l4x5ExtiState {
|
||||
@ -47,7 +47,7 @@ struct Stm32l4x5ExtiState {
|
||||
|
||||
/* used for edge detection */
|
||||
uint32_t irq_levels[EXTI_NUM_REGISTER];
|
||||
qemu_irq irq[EXTI_NUM_INTERRUPT_OUT_LINES];
|
||||
qemu_irq irq[EXTI_NUM_LINES];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user