icE1usb fw: Add _MASK version for multibit fields in config regs

This is a bit cleaner when masking in/out those rather than using
the specific vaue that has all bits set.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Change-Id: If2ca8efff37cb8fd1f1841656537ea8ad11ef55c
diff --git a/firmware/ice40-riscv/icE1usb/e1.c b/firmware/ice40-riscv/icE1usb/e1.c
index af59f14..a9feea0 100644
--- a/firmware/ice40-riscv/icE1usb/e1.c
+++ b/firmware/ice40-riscv/icE1usb/e1.c
@@ -290,11 +290,11 @@
 }
 
 #define TXCR_PERMITTED (			\
-		E1_TX_CR_MODE_TS0_CRC_E	|	\
-		E1_TX_CR_TICK_REMOTE |		\
-		E1_TX_CR_ALARM	|		\
+		E1_TX_CR_MODE_MASK |		\
+		E1_TX_CR_TICK_MASK |		\
+		E1_TX_CR_ALARM |		\
 		E1_TX_CR_LOOPBACK |		\
-		E1_TX_CR_LOOPBACK_CROSS	)
+		E1_TX_CR_LOOPBACK_CROSS )
 
 void
 e1_tx_config(int port, uint16_t cr)
@@ -306,7 +306,7 @@
 }
 
 #define RXCR_PERMITTED (			\
-		E1_RX_CR_MODE_MFA )
+		E1_RX_CR_MODE_MASK )
 
 void
 e1_rx_config(int port, uint16_t cr)
diff --git a/firmware/ice40-riscv/icE1usb/e1_hw.h b/firmware/ice40-riscv/icE1usb/e1_hw.h
index 9227cc7..73cbd88 100644
--- a/firmware/ice40-riscv/icE1usb/e1_hw.h
+++ b/firmware/ice40-riscv/icE1usb/e1_hw.h
@@ -27,6 +27,7 @@
 #define E1_RX_CR_MODE_BYTE	(1 <<  1)	/* Request byte-level alignment */
 #define E1_RX_CR_MODE_BFA	(2 <<  1)	/* Request Basic Frame Alignment */
 #define E1_RX_CR_MODE_MFA	(3 <<  1)	/* Request Multi-Frame Alignment */
+#define E1_RX_CR_MODE_MASK	(3 <<  1)
 #define E1_RX_CR_OVFL_CLR	(1 << 12)	/* Clear Rx overflow condition */
 
 /* E1 receiver status register */
@@ -44,8 +45,10 @@
 #define E1_TX_CR_MODE_TS0	(1 <<  1)	/* Generate TS0 in framer */
 #define E1_TX_CR_MODE_TS0_CRC	(2 <<  1)	/* Generate TS0 + CRC4 in framer */
 #define E1_TX_CR_MODE_TS0_CRC_E	(3 <<  1)	/* Generate TS0 + CRC4 + E-bits (based on Rx) in framer */
+#define E1_TX_CR_MODE_MASK	(3 <<  1)
 #define E1_TX_CR_TICK_LOCAL	(0 <<  3)	/* use local clock for Tx */
 #define E1_TX_CR_TICK_REMOTE	(1 <<  3)	/* use recovered remote clock for Tx */
+#define E1_TX_CR_TICK_MASK	(1 <<  3)
 #define E1_TX_CR_ALARM		(1 <<  4)	/* indicate ALARM to remote */
 #define E1_TX_CR_LOOPBACK	(1 <<  5)	/* external loopback enable/diasble */
 #define E1_TX_CR_LOOPBACK_CROSS	(1 <<  6)	/* source of loopback: local (0) or other (1) port */