This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orgHello tsaitgaist, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/simtrace2/+/23618 to review the following change. Change subject: make sim switch board specific ...................................................................... make sim switch board specific the simtrace board uses a bus switch not used on qmod and owhw to switch the SIM between physical and virtual Change-Id: Ieaf2ed4761fc3e04f33f9aac5c04a768c9a6f71e --- M firmware/libboard/common/include/sim_switch.h R firmware/libboard/owhw/source/sim_switch.c C firmware/libboard/qmod/source/sim_switch.c A firmware/libboard/simtrace/source/sim_switch.c 4 files changed, 71 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/18/23618/1 diff --git a/firmware/libboard/common/include/sim_switch.h b/firmware/libboard/common/include/sim_switch.h index 3d131f2..4439fa5 100644 --- a/firmware/libboard/common/include/sim_switch.h +++ b/firmware/libboard/common/include/sim_switch.h @@ -14,5 +14,13 @@ */ #pragma once +/** switch card lines to use physical or emulated card + * @param[in] nr card interface number (i.e. slot) + * @param[in] physical which physical interface to switch to (e.g. 0: physical, 1: virtual) + * @return 0 on success, negative else + */ int sim_switch_use_physical(unsigned int nr, int physical); +/** initialise card switching capabilities + * @return number of switchable card interfaces + */ int sim_switch_init(void); diff --git a/firmware/libboard/common/source/sim_switch.c b/firmware/libboard/owhw/source/sim_switch.c similarity index 100% rename from firmware/libboard/common/source/sim_switch.c rename to firmware/libboard/owhw/source/sim_switch.c diff --git a/firmware/libboard/common/source/sim_switch.c b/firmware/libboard/qmod/source/sim_switch.c similarity index 100% copy from firmware/libboard/common/source/sim_switch.c copy to firmware/libboard/qmod/source/sim_switch.c diff --git a/firmware/libboard/simtrace/source/sim_switch.c b/firmware/libboard/simtrace/source/sim_switch.c new file mode 100644 index 0000000..38886b1 --- /dev/null +++ b/firmware/libboard/simtrace/source/sim_switch.c @@ -0,0 +1,63 @@ +/* Code to switch between local (physical) and remote (emulated) SIM + * + * (C) 2015-2017 by Harald Welte <hwelte at hmw-consulting.de> + * (C) 2018, sysmocom -s.f.m.c. GmbH, Author: Kevin Redon <kredon at sysmocom.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#include "board.h" +#include "trace.h" +#include "led.h" +#include "sim_switch.h" + +#ifdef PIN_SIM_SWITCH1 +static const Pin pin_conn_usim1 = {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; +#endif +#ifdef PIN_SIM_SWITCH2 +static const Pin pin_conn_usim2 = {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; +#endif + +static int initialized = 0; + +int sim_switch_use_physical(unsigned int nr, int physical) +{ + const Pin pin_sc = PIN_SC_SW_DEFAULT; // pin to control bus switch for VCC/RST/CLK signals + const Pin pin_io = PIN_IO_SW_DEFAULT; // pin to control bus switch for I/O signal + + if (nr > 0) { + TRACE_ERROR("SIM interface for Modem %d can't be switched\r\n", nr); + return -1; + } + + TRACE_INFO("Modem %u: %s SIM\n\r", nr, physical ? "physical" : "virtual"); + + if (physical) { + TRACE_INFO("%u: Use local/physical SIM\r\n", nr); + PIO_Set(&pin_sc); + PIO_Set(&pin_io); + } else { + TRACE_INFO("%u: Use remote/emulated SIM\r\n", nr); + PIO_Clear(&pin_sc); + PIO_Clear(&pin_io); + } + + return 0; +} + +int sim_switch_init(void) +{ + // the bus switch is already initialised + return 1; // SIMtrace hardware has only one switchable interface +} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ieaf2ed4761fc3e04f33f9aac5c04a768c9a6f71e Gerrit-Change-Number: 23618 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge at osmocom.org> Gerrit-Reviewer: tsaitgaist <kredon at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210404/d664273c/attachment.htm>