laforge has uploaded this change for review. (
https://gerrit.osmocom.org/c/simtrace2/+/26995 )
Change subject: cardem: set more reasonable interrupt priorities
......................................................................
cardem: set more reasonable interrupt priorities
the ISO7816 UARTs have highest priority, while console has lowest.
remaining sources (USB, ADC, GPIO) are in between.
Change-Id: Ie6c97d61d8da3990b6e44144f36cb6d37d194307
---
M firmware/libboard/common/source/uart_console.c
M firmware/libcommon/source/mode_cardemu.c
2 files changed, 6 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/95/26995/1
diff --git a/firmware/libboard/common/source/uart_console.c
b/firmware/libboard/common/source/uart_console.c
index bcfb0b7..ead5555 100644
--- a/firmware/libboard/common/source/uart_console.c
+++ b/firmware/libboard/common/source/uart_console.c
@@ -100,6 +100,7 @@
/* Enable TX interrupts */
pUart->UART_IER = UART_IER_TXRDY;
+ NVIC_SetPriority(CONSOLE_IRQ, 15); /* lowest priority */
NVIC_EnableIRQ(CONSOLE_IRQ);
/* Enable receiver and transmitter */
diff --git a/firmware/libcommon/source/mode_cardemu.c
b/firmware/libcommon/source/mode_cardemu.c
index 8e4acf9..ff76863 100644
--- a/firmware/libcommon/source/mode_cardemu.c
+++ b/firmware/libcommon/source/mode_cardemu.c
@@ -461,6 +461,7 @@
ADC->ADC_CHER |= ADC_CHER_CH6;
ADC->ADC_IER |= ADC_IER_EOC6;
#endif
+ NVIC_SetPriority(ADC_IRQn, 13);
NVIC_EnableIRQ(ADC_IRQn);
ADC->ADC_CR |= ADC_CR_START;
@@ -564,6 +565,8 @@
TRACE_ENTRY();
+ NVIC_SetPriority(UDP_IRQn, 14);
+
#ifdef PINS_CARDSIM
PIO_Configure(pins_cardsim, PIO_LISTSIZE(pins_cardsim));
#endif
@@ -577,6 +580,7 @@
/* configure USART as ISO-7816 slave (e.g. card) */
ISO7816_Init(&cardem_inst[0].usart_info, CLK_SLAVE);
+ NVIC_SetPriority(FIRST_USART_IRQ, 0);
NVIC_EnableIRQ(FIRST_USART_IRQ);
PIO_ConfigureIt(&pin_usim1_rst, usim1_rst_irqhandler);
PIO_EnableIt(&pin_usim1_rst);
@@ -604,6 +608,7 @@
PIO_Configure(pins_usim2, PIO_LISTSIZE(pins_usim2));
ISO7816_Init(&cardem_inst[1].usart_info, CLK_SLAVE);
/* TODO enable timeout */
+ NVIC_SetPriority(USART0_IRQn, 0);
NVIC_EnableIRQ(USART0_IRQn);
PIO_ConfigureIt(&pin_usim2_rst, usim2_rst_irqhandler);
PIO_EnableIt(&pin_usim2_rst);
--
To view, visit
https://gerrit.osmocom.org/c/simtrace2/+/26995
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: simtrace2
Gerrit-Branch: master
Gerrit-Change-Id: Ie6c97d61d8da3990b6e44144f36cb6d37d194307
Gerrit-Change-Number: 26995
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange