diff options
author | Harald Welte <laforge@osmocom.org> | 2022-01-26 10:51:05 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2022-03-03 19:06:12 +0100 |
commit | 874a1a2d6418db4ce912ca0227d5a422af598d03 (patch) | |
tree | 69ced9d4c0e82fbcd6de433da32e6b77e48cda48 | |
parent | b07131f2a58e8b8253caa8947e331549ca154031 (diff) |
HACK: dump enabled interrupts and priorities during startup
Change-Id: I6a19aaa8674fa510e4e346cd14a3545f7bfcc838
-rw-r--r-- | firmware/libcommon/source/mode_cardemu.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 7fd069a..d5c8189 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -567,6 +567,35 @@ void mode_cardemu_configure(void) TRACE_ENTRY(); } +struct relevant_irq { + uint32_t irq; + uint32_t prio; + const char *name; +}; +static const struct relevant_irq relevant_irqs[] = { + { UDP_IRQn, 14, "USB" }, + { CONSOLE_IRQ, 15, "CONSOLE" }, + { FIRST_USART_IRQ, 0, "7816_0" }, +#ifdef CARDEMU_SECOND_UART + { USART0_IRQn, 0, "7816_1" }, +#endif +#ifdef DETECT_VCC_BY_ADC + { ADC_IRQn, 13, "ADC" }, +#endif + { PIOA_IRQn, 10, "PIOA" }, + { PIOB_IRQn, 10, "PIOB" }, + { PIOC_IRQn, 10, "PIOC" }, +}; +void dump_irq_prios(void) +{ + printf("Interrupt Enable Mask (ISER): %08x%08x\n\r", NVIC->ISER[1], NVIC->ISER[0]); + for (unsigned int i = 0; i < ARRAY_SIZE(relevant_irqs); i++) { + const struct relevant_irq *ri = &relevant_irqs[i]; + printf("IRQ prio %02u (%s): current=%u, expected=%u\r\n", ri->irq, ri->name, + NVIC_GetPriority(ri->irq), ri->prio); + } +} + /* called if config is activated */ void mode_cardemu_init(void) { @@ -636,6 +665,9 @@ void mode_cardemu_init(void) sim_switch_use_physical(1, 1); /* TODO check RST and VCC */ #endif /* CARDEMU_SECOND_UART */ + + dump_irq_prios(); + } /* called if config is deactivated */ |