<p>Hoernchen has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/simtrace2/+/25082">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">firmware: cardem for ngff<br><br>Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255<br>---<br>M firmware/apps/cardem/main.c<br>M firmware/libboard/ngff_cardem/include/board.h<br>M firmware/libboard/ngff_cardem/source/board_ngff_cardem.c<br>M firmware/libboard/ngff_cardem/source/card_pres.c<br>M firmware/libboard/ngff_cardem/source/sim_switch.c<br>M firmware/libcommon/source/mode_cardemu.c<br>6 files changed, 86 insertions(+), 41 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/82/25082/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/firmware/apps/cardem/main.c b/firmware/apps/cardem/main.c</span><br><span>index a30a211..95967ba 100644</span><br><span>--- a/firmware/apps/cardem/main.c</span><br><span>+++ b/firmware/apps/cardem/main.c</span><br><span>@@ -71,8 +71,13 @@</span><br><span>             .init = mode_cardemu_init,</span><br><span>           .exit = mode_cardemu_exit,</span><br><span>           .run = mode_cardemu_run,</span><br><span style="color: hsl(120, 100%, 40%);">+#if defined (ngff_cardem)</span><br><span style="color: hsl(120, 100%, 40%);">+           .usart0_irq = mode_cardemu_usart1_irq,</span><br><span style="color: hsl(120, 100%, 40%);">+                .usart1_irq = mode_cardemu_usart0_irq,</span><br><span style="color: hsl(120, 100%, 40%);">+#else</span><br><span>                .usart0_irq = mode_cardemu_usart0_irq,</span><br><span>               .usart1_irq = mode_cardemu_usart1_irq,</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span>       },</span><br><span> #endif</span><br><span> #ifdef HAVE_MITM</span><br><span>diff --git a/firmware/libboard/ngff_cardem/include/board.h b/firmware/libboard/ngff_cardem/include/board.h</span><br><span>index 8520d6b..bdedcf3 100644</span><br><span>--- a/firmware/libboard/ngff_cardem/include/board.h</span><br><span>+++ b/firmware/libboard/ngff_cardem/include/board.h</span><br><span>@@ -68,7 +68,7 @@</span><br><span> #define PINS_TC_USIM1          PIN_USIM1_IO_TC, PIN_USIM1_CLK_TC</span><br><span> </span><br><span> #define PIN_USIM1_nRST         {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT}</span><br><span style="color: hsl(0, 100%, 40%);">-#define PIN_USIM1_VCC          {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_USIM1_VCC         {PIO_PB3, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT}</span><br><span> </span><br><span> #define PIN_USIM2_nRST          {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT}</span><br><span> //#define PIN_USIM2_VCC             {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT}</span><br><span>@@ -77,14 +77,17 @@</span><br><span> #define PINS_USIM2            PINS_TC_USIM2, PINS_ISO7816_USIM2, PIN_USIM2_nRST</span><br><span> </span><br><span> /* from v3 and onwards only (!) */</span><br><span style="color: hsl(0, 100%, 40%);">-#define PIN_DET_USIM1_PRES   {PIO_PA8, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH | PIO_IT_EDGE}</span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_DET_USIM1_PRES        {PIO_PA8, PIOA, ID_PIOA, PIO_INPUT, PIO_DEGLITCH | PIO_IT_EDGE}</span><br><span> </span><br><span> /* inputs reading the WWAN LED level */</span><br><span> #define PIN_WWAN1             {PIO_PA15, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH | PIO_IT_EDGE}</span><br><span> #define PINS_WWAN_IN           { PIN_WWAN1 }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_MODEM_EN {PIO_PA11, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_N_MODEM_PWR_ON {PIO_PA26, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* outputs controlling RESET input of modems */</span><br><span style="color: hsl(0, 100%, 40%);">-#define PIN_PERST1            {PIO_PA25, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_PULLUP}</span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_PERST1         {PIO_PA25, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span> #define PINS_PERST              { PIN_PERST1 }</span><br><span> </span><br><span> #define PIN_VERSION_DET           {PIO_PA19, PIOA, ID_PIOA, PIO_PERIPH_D, PIO_DEFAULT}</span><br><span>@@ -102,6 +105,9 @@</span><br><span> </span><br><span> #define DETECT_VCC_BY_ADC</span><br><span> #define VCC_UV_THRESH_1V8        1500000</span><br><span style="color: hsl(0, 100%, 40%);">-#define VCC_UV_THRESH_3V 2500000</span><br><span style="color: hsl(120, 100%, 40%);">+#define VCC_UV_THRESH_3V       VCC_UV_THRESH_1V8</span><br><span> </span><br><span> #define HAVE_CARDEM</span><br><span style="color: hsl(120, 100%, 40%);">+#define HAVE_BOARD_CARDINSERT</span><br><span style="color: hsl(120, 100%, 40%);">+struct cardem_inst;</span><br><span style="color: hsl(120, 100%, 40%);">+void board_set_card_insert(struct cardem_inst *ci, bool card_insert);</span><br><span>\ No newline at end of file</span><br><span>diff --git a/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c b/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c</span><br><span>index 742ec55..6bfe997 100644</span><br><span>--- a/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c</span><br><span>+++ b/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c</span><br><span>@@ -101,6 +101,7 @@</span><br><span>     /* Initialize checking for card insert/remove events */</span><br><span>      card_present_init();</span><br><span> #endif</span><br><span style="color: hsl(120, 100%, 40%);">+        wwan_perst_set(0, 0);</span><br><span> }</span><br><span> </span><br><span> static int uart_has_loopback_jumper(void)</span><br><span>@@ -150,3 +151,11 @@</span><br><span> </span><br><span>       return 0;</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ static const Pin deton = {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT};</span><br><span style="color: hsl(120, 100%, 40%);">+ static const Pin detoff = {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void board_set_card_insert(struct cardem_inst *ci, bool card_insert)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+        PIO_Configure(card_insert ? &deton : &detoff, 1);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span>\ No newline at end of file</span><br><span>diff --git a/firmware/libboard/ngff_cardem/source/card_pres.c b/firmware/libboard/ngff_cardem/source/card_pres.c</span><br><span>index 198318f..7d6c483 100644</span><br><span>--- a/firmware/libboard/ngff_cardem/source/card_pres.c</span><br><span>+++ b/firmware/libboard/ngff_cardem/source/card_pres.c</span><br><span>@@ -39,9 +39,9 @@</span><br><span>          return -1;</span><br><span>   pin = &pin_cardpres[port];</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      /* Card present signals are low-active, as we have a switch</span><br><span style="color: hsl(0, 100%, 40%);">-      * against GND and an internal-pull-up in the SAM3 */</span><br><span style="color: hsl(0, 100%, 40%);">-   present = PIO_Get(pin) ? 0 : 1;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* high active here */</span><br><span style="color: hsl(120, 100%, 40%);">+        present = PIO_Get(pin);</span><br><span> </span><br><span>  return present;</span><br><span> }</span><br><span>diff --git a/firmware/libboard/ngff_cardem/source/sim_switch.c b/firmware/libboard/ngff_cardem/source/sim_switch.c</span><br><span>index 59513ad..3961747 100644</span><br><span>--- a/firmware/libboard/ngff_cardem/source/sim_switch.c</span><br><span>+++ b/firmware/libboard/ngff_cardem/source/sim_switch.c</span><br><span>@@ -21,18 +21,41 @@</span><br><span> #include "led.h"</span><br><span> #include "sim_switch.h"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#ifdef PIN_SIM_SWITCH1</span><br><span style="color: hsl(0, 100%, 40%);">-static const Pin pin_conn_usim1 = {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT};</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(0, 100%, 40%);">-#ifdef PIN_SIM_SWITCH2</span><br><span style="color: hsl(0, 100%, 40%);">-static const Pin pin_conn_usim2 = {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT};</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(120, 100%, 40%);">+//uart12bus   2-20e pa20</span><br><span style="color: hsl(120, 100%, 40%);">+//uart22bus 1-20e pa28</span><br><span style="color: hsl(120, 100%, 40%);">+//usim2bus  1-10e pa0  pivot</span><br><span style="color: hsl(120, 100%, 40%);">+//sim det     2-10e pa13</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+//default state: NO uart connected, modem connected to physical sim, NO sim presence override, modem powers sim slot</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_usim1_default {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_usim2_default {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_mdm_sim_default {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_set_sim_det_default {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_en_st_sim_vdd_default {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_en_mdm_sim_vdd_default {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+//default state: uart2 (!) connected, NO modem connected to physical sim, sim presence override, NOTHING powers sim slot</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_usim1_cem {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_usim2_cem {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_mdm_sim_cem {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_en_st_sim_vdd_cem {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_en_mdm_sim_vdd_cem {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+//#define pin_conn_set_sim_det_cem {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define INIT_SIM_DEFAULT pin_conn_usim1_default, pin_conn_usim2_default, pin_conn_mdm_sim_default, pin_conn_set_sim_det_default, PIN_N_MODEM_PWR_ON, PIN_MODEM_EN, pin_en_st_sim_vdd_default, pin_en_mdm_sim_vdd_default</span><br><span style="color: hsl(120, 100%, 40%);">+#define INIT_SIM_CEM pin_conn_usim1_cem, pin_conn_usim2_cem, pin_conn_mdm_sim_cem, pin_en_mdm_sim_vdd_cem, pin_en_st_sim_vdd_cem// , pin_conn_set_sim_det_cem</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static const Pin pins_default[]      = {INIT_SIM_DEFAULT};</span><br><span style="color: hsl(120, 100%, 40%);">+static const Pin pins_cem[]      = {INIT_SIM_CEM};</span><br><span> </span><br><span> static int initialized = 0;</span><br><span> </span><br><span> int sim_switch_use_physical(unsigned int nr, int physical)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-     const Pin *pin;</span><br><span style="color: hsl(120, 100%, 40%);">+       const Pin pin = PIN_MODEM_EN;// PIN_N_MODEM_PWR_ON;</span><br><span>  enum led led;</span><br><span> </span><br><span>    if (!initialized) {</span><br><span>@@ -44,18 +67,10 @@</span><br><span>               physical ? "physical" : "virtual");</span><br><span> </span><br><span>       switch (nr) {</span><br><span style="color: hsl(0, 100%, 40%);">-#ifdef PIN_SIM_SWITCH1</span><br><span>  case 0:</span><br><span style="color: hsl(0, 100%, 40%);">-         pin = &pin_conn_usim1;</span><br><span>           led = LED_USIM1;</span><br><span>             break;</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(0, 100%, 40%);">-#ifdef PIN_SIM_SWITCH2</span><br><span style="color: hsl(0, 100%, 40%);">-      case 1:</span><br><span style="color: hsl(0, 100%, 40%);">-         pin = &pin_conn_usim2;</span><br><span style="color: hsl(0, 100%, 40%);">-              led = LED_USIM2;</span><br><span style="color: hsl(0, 100%, 40%);">-                break;</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>       default:</span><br><span>             TRACE_ERROR("Invalid SIM%u\n\r", nr);</span><br><span>              return -1;</span><br><span>@@ -63,28 +78,26 @@</span><br><span> </span><br><span>         if (physical) {</span><br><span>              TRACE_INFO("%u: Use local/physical SIM\r\n", nr);</span><br><span style="color: hsl(0, 100%, 40%);">-             PIO_Clear(pin);</span><br><span style="color: hsl(120, 100%, 40%);">+               PIO_Configure(pins_default, PIO_LISTSIZE(pins_default));</span><br><span>             led_blink(led, BLINK_ALWAYS_ON);</span><br><span>     } else {</span><br><span>             TRACE_INFO("%u: Use remote/emulated SIM\r\n", nr);</span><br><span style="color: hsl(0, 100%, 40%);">-            PIO_Set(pin);</span><br><span style="color: hsl(120, 100%, 40%);">+         PIO_Configure(pins_cem, PIO_LISTSIZE(pins_cem));</span><br><span>             led_blink(led, BLINK_ALWAYS_OFF);</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ /* just power cycle the modem because this circumvents weird issues with unreliable signals */</span><br><span style="color: hsl(120, 100%, 40%);">+        PIO_Clear(&pin);</span><br><span style="color: hsl(120, 100%, 40%);">+  mdelay(200);</span><br><span style="color: hsl(120, 100%, 40%);">+  PIO_Set(&pin);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>       return 0;</span><br><span> }</span><br><span> </span><br><span> int sim_switch_init(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-    int num_switch = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-#ifdef PIN_SIM_SWITCH1</span><br><span style="color: hsl(0, 100%, 40%);">-       PIO_Configure(&pin_conn_usim1, 1);</span><br><span style="color: hsl(0, 100%, 40%);">-  num_switch++;</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(0, 100%, 40%);">-#ifdef PIN_SIM_SWITCH2</span><br><span style="color: hsl(0, 100%, 40%);">-       PIO_Configure(&pin_conn_usim2, 1);</span><br><span style="color: hsl(0, 100%, 40%);">-  num_switch++;</span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(120, 100%, 40%);">+   PIO_Configure(pins_default, PIO_LISTSIZE(pins_default));</span><br><span>     initialized = 1;</span><br><span style="color: hsl(0, 100%, 40%);">-        return num_switch;</span><br><span style="color: hsl(120, 100%, 40%);">+    return 1;</span><br><span> }</span><br><span>diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c</span><br><span>index 2440ec5..4a0b862 100644</span><br><span>--- a/firmware/libcommon/source/mode_cardemu.c</span><br><span>+++ b/firmware/libcommon/source/mode_cardemu.c</span><br><span>@@ -39,9 +39,21 @@</span><br><span> #endif</span><br><span> </span><br><span> /* UART pins */</span><br><span style="color: hsl(120, 100%, 40%);">+#if defined(ngff_cardem)</span><br><span style="color: hsl(120, 100%, 40%);">+static const Pin pins_usim1[]      = {PINS_USIM2};</span><br><span style="color: hsl(120, 100%, 40%);">+static const Pin pin_usim1_rst = PIN_USIM2_nRST;</span><br><span style="color: hsl(120, 100%, 40%);">+#define FIRST_USART_BASE USART0</span><br><span style="color: hsl(120, 100%, 40%);">+#define FIRST_USART_ID ID_USART0</span><br><span style="color: hsl(120, 100%, 40%);">+#define FIRST_USART_IRQ USART0_IRQn</span><br><span style="color: hsl(120, 100%, 40%);">+#else</span><br><span> static const Pin pins_usim1[]       = {PINS_USIM1};</span><br><span> static const Pin pin_usim1_rst       = PIN_USIM1_nRST;</span><br><span style="color: hsl(120, 100%, 40%);">+#define FIRST_USART_BASE USART1</span><br><span style="color: hsl(120, 100%, 40%);">+#define FIRST_USART_ID ID_USART1</span><br><span style="color: hsl(120, 100%, 40%);">+#define FIRST_USART_IRQ USART1_IRQn</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span> static const Pin pin_usim1_vcc     = PIN_USIM1_VCC;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> #ifdef PIN_USIM1_IO_DIR</span><br><span> static const Pin pin_io_dir    = PIN_USIM1_IO_DIR;</span><br><span> #endif</span><br><span>@@ -85,8 +97,8 @@</span><br><span>    {</span><br><span>            .num = 0,</span><br><span>            .usart_info =   {</span><br><span style="color: hsl(0, 100%, 40%);">-                       .base = USART1,</span><br><span style="color: hsl(0, 100%, 40%);">-                 .id = ID_USART1,</span><br><span style="color: hsl(120, 100%, 40%);">+                      .base = FIRST_USART_BASE,</span><br><span style="color: hsl(120, 100%, 40%);">+                     .id = FIRST_USART_ID,</span><br><span>                        .state = USART_RCV</span><br><span>           },</span><br><span>           .ep_out = SIMTRACE_CARDEM_USB_EP_USIM1_DATAOUT,</span><br><span>@@ -569,7 +581,7 @@</span><br><span> </span><br><span>    /* configure USART as ISO-7816 slave (e.g. card) */</span><br><span>  ISO7816_Init(&cardem_inst[0].usart_info, CLK_SLAVE);</span><br><span style="color: hsl(0, 100%, 40%);">-        NVIC_EnableIRQ(USART1_IRQn);</span><br><span style="color: hsl(120, 100%, 40%);">+  NVIC_EnableIRQ(FIRST_USART_IRQ);</span><br><span>     PIO_ConfigureIt(&pin_usim1_rst, usim1_rst_irqhandler);</span><br><span>   PIO_EnableIt(&pin_usim1_rst);</span><br><span> </span><br><span>@@ -627,9 +639,9 @@</span><br><span>  PIO_DisableIt(&pin_usim1_rst);</span><br><span>   PIO_DisableIt(&pin_usim1_vcc);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  NVIC_DisableIRQ(USART1_IRQn);</span><br><span style="color: hsl(0, 100%, 40%);">-   USART_SetTransmitterEnabled(USART1, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- USART_SetReceiverEnabled(USART1, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+  NVIC_DisableIRQ(FIRST_USART_IRQ);</span><br><span style="color: hsl(120, 100%, 40%);">+     USART_SetTransmitterEnabled(FIRST_USART_BASE, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+     USART_SetReceiverEnabled(FIRST_USART_BASE, 0);</span><br><span> </span><br><span> #ifdef CARDEMU_SECOND_UART</span><br><span>     PIO_DisableIt(&pin_usim2_rst);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/simtrace2/+/25082">change 25082</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/simtrace2/+/25082"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: simtrace2 </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 </div>
<div style="display:none"> Gerrit-Change-Number: 25082 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Hoernchen <ewild@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>