icE1usb fw: Expose the ticks from multiple E1 ports in misc.{c,h}
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Change-Id: I4dfdeecb6d3a25025095cd017ebbf74aee41c8b2
diff --git a/firmware/ice40-riscv/icE1usb/misc.c b/firmware/ice40-riscv/icE1usb/misc.c
index a25bcc5..4b32fcd 100644
--- a/firmware/ice40-riscv/icE1usb/misc.c
+++ b/firmware/ice40-riscv/icE1usb/misc.c
@@ -71,9 +71,9 @@
}
uint16_t
-e1_tick_read(void)
+e1_tick_read(int port)
{
- return misc_regs->e1_tick[0].tx;
+ return misc_regs->e1_tick[port].tx;
}
void
diff --git a/firmware/ice40-riscv/icE1usb/misc.h b/firmware/ice40-riscv/icE1usb/misc.h
index 69c0da7..dac5730 100644
--- a/firmware/ice40-riscv/icE1usb/misc.h
+++ b/firmware/ice40-riscv/icE1usb/misc.h
@@ -27,6 +27,6 @@
void pdm_set(int chan, bool enable, unsigned value, bool normalize);
void e1_led_set(bool enable, uint8_t cfg);
-uint16_t e1_tick_read(void);
+uint16_t e1_tick_read(int port);
void reboot(int fw);
diff --git a/firmware/ice40-riscv/icE1usb/usb_e1.c b/firmware/ice40-riscv/icE1usb/usb_e1.c
index ed4826f..fe94698 100644
--- a/firmware/ice40-riscv/icE1usb/usb_e1.c
+++ b/firmware/ice40-riscv/icE1usb/usb_e1.c
@@ -57,7 +57,7 @@
volatile struct usb_ep *ep_regs;
/* Compute real E1 tick count (with safety against bad values) */
- ticks = e1_tick_read();
+ ticks = e1_tick_read(0);
val = (ticks - ticks_prev) & 0xffff;
ticks_prev = ticks;
if ((val < 7168) | (val > 9216))