tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/26848 )
Change subject: icE1usb fw: Apply config reg field filter to e1_init call ......................................................................
icE1usb fw: Apply config reg field filter to e1_init call
Signed-off-by: Sylvain Munaut tnt@246tNt.com Change-Id: Id45688fed0533f8d7dbbfd993c93f9ffc4e2d53e --- M firmware/ice40-riscv/icE1usb/e1.c 1 file changed, 12 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-e1-hardware refs/changes/48/26848/1
diff --git a/firmware/ice40-riscv/icE1usb/e1.c b/firmware/ice40-riscv/icE1usb/e1.c index a9feea0..f6a41c9 100644 --- a/firmware/ice40-riscv/icE1usb/e1.c +++ b/firmware/ice40-riscv/icE1usb/e1.c @@ -263,6 +263,16 @@ }
+#define RXCR_PERMITTED ( \ + E1_RX_CR_MODE_MASK ) + +#define TXCR_PERMITTED ( \ + E1_TX_CR_MODE_MASK | \ + E1_TX_CR_TICK_MASK | \ + E1_TX_CR_ALARM | \ + E1_TX_CR_LOOPBACK | \ + E1_TX_CR_LOOPBACK_CROSS ) + void e1_init(int port, uint16_t rx_cr, uint16_t tx_cr) { @@ -277,11 +287,11 @@ e1f_reset(&e1->tx.fifo, (512 * port) + 256, 256);
/* Enable Rx */ - e1->rx.cr = E1_RX_CR_ENABLE | rx_cr; + e1->rx.cr = E1_RX_CR_ENABLE | (rx_cr & RXCR_PERMITTED); e1_regs->rx.csr = E1_RX_CR_OVFL_CLR | e1->rx.cr;
/* Enable Tx */ - e1->tx.cr = E1_TX_CR_ENABLE | tx_cr; + e1->tx.cr = E1_TX_CR_ENABLE | (tx_cr & TXCR_PERMITTED); e1_regs->tx.csr = E1_TX_CR_UNFL_CLR | e1->tx.cr;
/* State */ @@ -289,13 +299,6 @@ e1->tx.state = BOOT; }
-#define TXCR_PERMITTED ( \ - E1_TX_CR_MODE_MASK | \ - E1_TX_CR_TICK_MASK | \ - E1_TX_CR_ALARM | \ - E1_TX_CR_LOOPBACK | \ - E1_TX_CR_LOOPBACK_CROSS ) - void e1_tx_config(int port, uint16_t cr) { @@ -305,9 +308,6 @@ e1_regs->tx.csr = e1->tx.cr; }
-#define RXCR_PERMITTED ( \ - E1_RX_CR_MODE_MASK ) - void e1_rx_config(int port, uint16_t cr) {