<p>Hoernchen has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/simtrace2/+/25085">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">firmware: trace for ngff<br><br>Change-Id: Iee1eedd93d72c02880fd59fb8588abe14d05e77b<br>---<br>M firmware/libboard/ngff_cardem/include/board.h<br>M firmware/libboard/ngff_cardem/source/sim_switch.c<br>M host/src/simtrace2-sniff.c<br>3 files changed, 57 insertions(+), 25 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/85/25085/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/firmware/libboard/ngff_cardem/include/board.h b/firmware/libboard/ngff_cardem/include/board.h</span><br><span>index bdedcf3..d201814 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>@@ -107,7 +107,60 @@</span><br><span> #define VCC_UV_THRESH_1V8       1500000</span><br><span> #define VCC_UV_THRESH_3V     VCC_UV_THRESH_1V8</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#ifdef APPLICATION_cardem</span><br><span> #define HAVE_CARDEM</span><br><span> #define HAVE_BOARD_CARDINSERT</span><br><span> struct cardem_inst;</span><br><span style="color: hsl(0, 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 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%);">+#endif</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#ifdef APPLICATION_trace</span><br><span style="color: hsl(120, 100%, 40%);">+#define HAVE_SNIFFER</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Card I/O data signal input/output (I/O_SIM in schematic) */</span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_SIM_IO             {PIO_PA6A_TXD0, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+/* Card CLK clock input (CLK_SIM in schematic) */</span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_SIM_CLK            {PIO_PA2B_SCK0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+/* Card RST reset signal input (use as input since the phone will drive it) */</span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_SIM_RST_SNIFF      {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEGLITCH | PIO_IT_EDGE}</span><br><span style="color: hsl(120, 100%, 40%);">+/* Pins used to sniff phone-card communication */</span><br><span style="color: hsl(120, 100%, 40%);">+#define PINS_SIM_SNIFF          PIN_SIM_IO, PIN_SIM_CLK, PIN_SIM_RST_SNIFF</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Pin to measure card I/O timing (to start measuring the ETU on I/O activity; connected I/O_SIM in schematic) */</span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_SIM_IO_INPUT       {PIO_PA1B_TIOB0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+/* Pin used as clock input (to measure the ETU duration; connected to CLK_SIM in schematic) */</span><br><span style="color: hsl(120, 100%, 40%);">+#define PIN_SIM_CLK_INPUT      {PIO_PA4B_TCLK0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+/* Pins used to measure ETU timing (using timer counter) */ </span><br><span style="color: hsl(120, 100%, 40%);">+#define PINS_TC                 PIN_SIM_IO_INPUT, PIN_SIM_CLK_INPUT</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%);">+//trace state: uart2 (!) connected, modem connected to physical sim, st powers sim slot</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_usim1_trace {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_usim2_trace {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_conn_mdm_sim_trace {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_trace {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_trace {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(120, 100%, 40%);">+#define pin_en_mdm_sim_vdd_trace {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_MODEM_EN_off {PIO_PA11, 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 PINS_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 PINS_SIM_CARDEM 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%);">+#define PINS_BUS_SNIFF pin_conn_usim1_trace, pin_conn_usim2_trace, pin_conn_mdm_sim_trace, pin_conn_set_sim_det_trace,PIN_MODEM_EN_off</span><br><span style="color: hsl(120, 100%, 40%);">+#define PINS_PWR_SNIFF PIN_N_MODEM_PWR_ON, PIN_MODEM_EN, pin_en_st_sim_vdd_trace, pin_en_mdm_sim_vdd_trace</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 b841e25..cc4860a 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>@@ -26,30 +26,8 @@</span><br><span> //usim2bus 1-10e pa0  pivot</span><br><span> //sim det   2-10e pa13</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 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(0, 100%, 40%);">-#define pin_conn_usim1_default {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(0, 100%, 40%);">-#define pin_conn_usim2_default {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(0, 100%, 40%);">-#define pin_conn_mdm_sim_default {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(0, 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(0, 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(0, 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(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 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(0, 100%, 40%);">-#define pin_conn_usim1_cem {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(0, 100%, 40%);">-#define pin_conn_usim2_cem {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}</span><br><span style="color: hsl(0, 100%, 40%);">-#define pin_conn_mdm_sim_cem {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}</span><br><span style="color: hsl(0, 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(0, 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(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 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(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 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(0, 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(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-static const Pin pins_default[]  = {INIT_SIM_DEFAULT};</span><br><span style="color: hsl(0, 100%, 40%);">-static const Pin pins_cem[]        = {INIT_SIM_CEM};</span><br><span style="color: hsl(120, 100%, 40%);">+static const Pin pins_default[]      = {PINS_SIM_DEFAULT};</span><br><span style="color: hsl(120, 100%, 40%);">+static const Pin pins_cem[]      = {PINS_SIM_CARDEM};</span><br><span> </span><br><span> static int initialized = 0;</span><br><span> </span><br><span>diff --git a/host/src/simtrace2-sniff.c b/host/src/simtrace2-sniff.c</span><br><span>index 47d9e77..c44029a 100644</span><br><span>--- a/host/src/simtrace2-sniff.c</span><br><span>+++ b/host/src/simtrace2-sniff.c</span><br><span>@@ -315,6 +315,7 @@</span><br><span> /* Known USB device with SIMtrace firmware supporting sniffer */</span><br><span> static const struct dev_id compatible_dev_ids[] = {</span><br><span>    { USB_VENDOR_OPENMOKO, USB_PRODUCT_SIMTRACE2 },</span><br><span style="color: hsl(120, 100%, 40%);">+       { USB_VENDOR_OPENMOKO, USB_PRODUCT_NGFF_CARDEM },</span><br><span>    { 0, 0 }</span><br><span> };</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/simtrace2/+/25085">change 25085</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/+/25085"/><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: Iee1eedd93d72c02880fd59fb8588abe14d05e77b </div>
<div style="display:none"> Gerrit-Change-Number: 25085 </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>