laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/39447?usp=email )
Change subject: add ext power detect & dev reset
......................................................................
add ext power detect & dev reset
Change-Id: Ied62450670dba2227daa96cbcd162cfe8414445a
---
M sysmoOCTSIM/main.c
M sysmoOCTSIM/usb/device/usbdc.c
2 files changed, 18 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/sysmoOCTSIM/main.c b/sysmoOCTSIM/main.c
index afb70e9..9849298 100644
--- a/sysmoOCTSIM/main.c
+++ b/sysmoOCTSIM/main.c
@@ -324,7 +324,19 @@
}
}
+/* used to update the usb ext power dev status flag + reset the device when (un)plugging
ext power */
+bool old_extpwer_state = 0;
+void init_extpower_detect(void)
+{
+ old_extpwer_state = gpio_get_pin_level(MUX_STAT);
+}
+void poll_extpower_detect(void)
+{
+ if (old_extpwer_state != gpio_get_pin_level(MUX_STAT)) {
+ NVIC_SystemReset();
+ }
+}
/***********************************************************************
* Command Line interface
@@ -516,6 +528,7 @@
get_rstcause_str(rstcause_buf);
atmel_start_init();
+ init_extpower_detect();
board_init();
usb_init();
usb_start();
@@ -578,6 +591,7 @@
while (true) { // main loop
if (delayed_usb_reset)
do_usb_res();
+ poll_extpower_detect();
command_try_recv();
poll_card_detect();
submit_next_irq();
diff --git a/sysmoOCTSIM/usb/device/usbdc.c b/sysmoOCTSIM/usb/device/usbdc.c
index 3cfd7bc..4b84937 100644
--- a/sysmoOCTSIM/usb/device/usbdc.c
+++ b/sysmoOCTSIM/usb/device/usbdc.c
@@ -35,6 +35,8 @@
#define USBDC_VERSION 0x00000001u
+extern bool old_extpwer_state;
+
/**
* \brief USB Device Core Sof Handler
*/
@@ -318,6 +320,8 @@
switch (req->bmRequestType & USB_REQT_RECIP_MASK) {
case USB_REQT_RECIP_DEVICE:
+ st = old_extpwer_state ? 0x0 : 0x1;
+ break;
case USB_REQT_RECIP_INTERFACE:
st = 0;
break;
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/39447?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ccid-firmware
Gerrit-Branch: master
Gerrit-Change-Id: Ied62450670dba2227daa96cbcd162cfe8414445a
Gerrit-Change-Number: 39447
Gerrit-PatchSet: 11
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>