#[repr(transparent)]pub struct MacConfiguration(pub u32);Expand description
F70RM Rev. 1 section 51.7.1.2; manual text line 148297.
Tuple Fields§
§0: u32Implementations§
Source§impl MacConfiguration
impl MacConfiguration
Sourcepub const fn re(&self) -> bool
pub const fn re(&self) -> bool
Receiver Enable. When this bit is set, the Rx state machine of the MAC is enabled for receiving packets from the GMII or MII interface. When this bit is reset, the MAC Rx state machine is disabled after it completes the reception of the current packet. The Rx state machine does not receive any more packets from the GMII or MII interface. 0b - Receiver is disabled 1b - Receiver is enabled
Sourcepub const fn set_re(&mut self, val: bool)
pub const fn set_re(&mut self, val: bool)
Receiver Enable. When this bit is set, the Rx state machine of the MAC is enabled for receiving packets from the GMII or MII interface. When this bit is reset, the MAC Rx state machine is disabled after it completes the reception of the current packet. The Rx state machine does not receive any more packets from the GMII or MII interface. 0b - Receiver is disabled 1b - Receiver is enabled
Sourcepub const fn te(&self) -> bool
pub const fn te(&self) -> bool
Transmitter Enable. When this bit is set, the Tx state machine of the MAC is enabled for transmission on the GMII or MII interface. When this bit is reset, the MAC Tx state machine is disabled after it completes the transmission of the current packet. The Tx state machine does not transmit any more packets. 0b - Transmitter is disabled 1b - Transmitter is enabled
Sourcepub const fn set_te(&mut self, val: bool)
pub const fn set_te(&mut self, val: bool)
Transmitter Enable. When this bit is set, the Tx state machine of the MAC is enabled for transmission on the GMII or MII interface. When this bit is reset, the MAC Tx state machine is disabled after it completes the transmission of the current packet. The Tx state machine does not transmit any more packets. 0b - Transmitter is disabled 1b - Transmitter is enabled
Sourcepub const fn prelen(&self) -> u8
pub const fn prelen(&self) -> u8
Preamble Length for Transmit packets. These bits control the number of preamble bytes that are added to the beginning of every Tx packet. The preamble reduction occurs only when the MAC is operating in the full-duplex mode. 00b - 7 bytes of preamble 01b - 5 bytes of preamble 10b - 3 bytes of preamble 11b - Reserved
Sourcepub const fn set_prelen(&mut self, val: u8)
pub const fn set_prelen(&mut self, val: u8)
Preamble Length for Transmit packets. These bits control the number of preamble bytes that are added to the beginning of every Tx packet. The preamble reduction occurs only when the MAC is operating in the full-duplex mode. 00b - 7 bytes of preamble 01b - 5 bytes of preamble 10b - 3 bytes of preamble 11b - Reserved
Sourcepub const fn dc(&self) -> bool
pub const fn dc(&self) -> bool
Deferral Check. When this bit is set, the deferral check function is enabled in the MAC. The MAC issues a Packet Abort status, along with the excessive deferral error bit set in the Tx packet status, when the Tx state machine is deferred for more than 24,288 bit times in 10 or 100 Mbps mode. If the MAC is configured for 1000/2500 Mbps operation, the threshold for deferral is 155,680 bits times. Deferral begins when the transmitter is ready to transmit, but it is prevented because of an active carrier sense signal (CRS) on GMII or MII. The defer time is not cumulative. For example, if the transmitter defers for 10,000 bit times because the CRS signal is active and the CRS signal becomes inactive, the transmitter transmits and collision happens. Because of collision, the transmitter needs to back off and then defer again after back off completion. In such a scenario, the deferral timer is reset to 0, and it is restarted. When this bit is reset, the deferral check function is disabled and the MAC defers until the CRS signal goes inactive. This bit is applicable only in the half-duplex mode. 0b - Deferral check function is disabled 1b - Deferral check function is enabled
Sourcepub const fn set_dc(&mut self, val: bool)
pub const fn set_dc(&mut self, val: bool)
Deferral Check. When this bit is set, the deferral check function is enabled in the MAC. The MAC issues a Packet Abort status, along with the excessive deferral error bit set in the Tx packet status, when the Tx state machine is deferred for more than 24,288 bit times in 10 or 100 Mbps mode. If the MAC is configured for 1000/2500 Mbps operation, the threshold for deferral is 155,680 bits times. Deferral begins when the transmitter is ready to transmit, but it is prevented because of an active carrier sense signal (CRS) on GMII or MII. The defer time is not cumulative. For example, if the transmitter defers for 10,000 bit times because the CRS signal is active and the CRS signal becomes inactive, the transmitter transmits and collision happens. Because of collision, the transmitter needs to back off and then defer again after back off completion. In such a scenario, the deferral timer is reset to 0, and it is restarted. When this bit is reset, the deferral check function is disabled and the MAC defers until the CRS signal goes inactive. This bit is applicable only in the half-duplex mode. 0b - Deferral check function is disabled 1b - Deferral check function is enabled
Sourcepub const fn bl(&self) -> u8
pub const fn bl(&self) -> u8
Back-Off Limit. The back-off limit determines the random integer number (r) of slot time delays (4,096 bit times for 1000/2500 Mbps; 512 bit times for 10/100 Mbps) for which the MAC waits before rescheduling a transmission attempt during retries after a collision. n = retransmission attempt. The random integer r takes the value in the range 0 <= r < 2^k This bit is applicable only in the half-duplex mode. 00b - k = min(n,10) 01b - k = min(n,8) 10b - k = min(n,4) 11b - k = min(n,1)
Sourcepub const fn set_bl(&mut self, val: u8)
pub const fn set_bl(&mut self, val: u8)
Back-Off Limit. The back-off limit determines the random integer number (r) of slot time delays (4,096 bit times for 1000/2500 Mbps; 512 bit times for 10/100 Mbps) for which the MAC waits before rescheduling a transmission attempt during retries after a collision. n = retransmission attempt. The random integer r takes the value in the range 0 <= r < 2^k This bit is applicable only in the half-duplex mode. 00b - k = min(n,10) 01b - k = min(n,8) 10b - k = min(n,4) 11b - k = min(n,1)
Sourcepub const fn dr(&self) -> bool
pub const fn dr(&self) -> bool
Disable Retry. When this bit is set, the MAC attempts only one transmission. When a collision occurs on the GMII or MII interface, the MAC ignores the current packet transmission and reports a Packet Abort with excessive collision error in the Tx packet status. When this bit is reset, the MAC retries based on the settings of the BL field. This bit is applicable only in the half-duplex mode. 0b - Enable Retry 1b - Disable Retry
Sourcepub const fn set_dr(&mut self, val: bool)
pub const fn set_dr(&mut self, val: bool)
Disable Retry. When this bit is set, the MAC attempts only one transmission. When a collision occurs on the GMII or MII interface, the MAC ignores the current packet transmission and reports a Packet Abort with excessive collision error in the Tx packet status. When this bit is reset, the MAC retries based on the settings of the BL field. This bit is applicable only in the half-duplex mode. 0b - Enable Retry 1b - Disable Retry
Sourcepub const fn dcrs(&self) -> bool
pub const fn dcrs(&self) -> bool
Disable Carrier Sense During Transmission. When this bit is set, the MAC transmitter ignores the (G)MII CRS signal during packet transmission in the half-duplex mode. As a result, no errors are generated because of Loss of Carrier or No Carrier during transmission. When this bit is reset, the MAC transmitter generates errors because of Carrier Sense. The MAC can even abort the transmission. 0b - Enable Carrier Sense During Transmission 1b - Disable Carrier Sense During Transmission
Sourcepub const fn set_dcrs(&mut self, val: bool)
pub const fn set_dcrs(&mut self, val: bool)
Disable Carrier Sense During Transmission. When this bit is set, the MAC transmitter ignores the (G)MII CRS signal during packet transmission in the half-duplex mode. As a result, no errors are generated because of Loss of Carrier or No Carrier during transmission. When this bit is reset, the MAC transmitter generates errors because of Carrier Sense. The MAC can even abort the transmission. 0b - Enable Carrier Sense During Transmission 1b - Disable Carrier Sense During Transmission
Sourcepub const fn do_(&self) -> bool
pub const fn do_(&self) -> bool
DO: Disable Receive Own. When this bit is set, the MAC disables the reception of packets when the gmii_txen_o is asserted in the half-duplex mode. When this bit is reset, the MAC receives all packets given by the PHY. This bit is not applicable in the full-duplex mode. 0b - Enable Receive Own 1b - Disable Receive Own
Sourcepub const fn set_do_(&mut self, val: bool)
pub const fn set_do_(&mut self, val: bool)
DO: Disable Receive Own. When this bit is set, the MAC disables the reception of packets when the gmii_txen_o is asserted in the half-duplex mode. When this bit is reset, the MAC receives all packets given by the PHY. This bit is not applicable in the full-duplex mode. 0b - Enable Receive Own 1b - Disable Receive Own
Sourcepub const fn ecrsfd(&self) -> bool
pub const fn ecrsfd(&self) -> bool
Enable Carrier Sense Before Transmission in Full-Duplex Mode. When this bit is set, the MAC transmitter checks the CRS signal before packet transmission in the full-duplex mode. The MAC starts the transmission only when the CRS signal is low. When this bit is reset, the MAC transmitter ignores the status of the CRS signal. 0b - ECRSFD is disabled 1b - ECRSFD is enabled
Sourcepub const fn set_ecrsfd(&mut self, val: bool)
pub const fn set_ecrsfd(&mut self, val: bool)
Enable Carrier Sense Before Transmission in Full-Duplex Mode. When this bit is set, the MAC transmitter checks the CRS signal before packet transmission in the full-duplex mode. The MAC starts the transmission only when the CRS signal is low. When this bit is reset, the MAC transmitter ignores the status of the CRS signal. 0b - ECRSFD is disabled 1b - ECRSFD is enabled
Sourcepub const fn lm(&self) -> bool
pub const fn lm(&self) -> bool
Loopback Mode. When this bit is set, the MAC operates in the loopback mode at GMII or MII. The (G)MII Rx clock input (clk_rx_i) is required for the loopback to work properly. This is because the Tx clock is not internally looped back. 0b - Loopback is disabled 1b - Loopback is enabled
Sourcepub const fn set_lm(&mut self, val: bool)
pub const fn set_lm(&mut self, val: bool)
Loopback Mode. When this bit is set, the MAC operates in the loopback mode at GMII or MII. The (G)MII Rx clock input (clk_rx_i) is required for the loopback to work properly. This is because the Tx clock is not internally looped back. 0b - Loopback is disabled 1b - Loopback is enabled
Sourcepub const fn dm(&self) -> bool
pub const fn dm(&self) -> bool
Duplex Mode. When this bit is set, the MAC operates in the full-duplex mode in which it can transmit and receive simultaneously. This bit is RO with default value of 1’b1 in the full-duplex-only configurations. 0b - Half-duplex mode 1b - Full-duplex mode
Sourcepub const fn set_dm(&mut self, val: bool)
pub const fn set_dm(&mut self, val: bool)
Duplex Mode. When this bit is set, the MAC operates in the full-duplex mode in which it can transmit and receive simultaneously. This bit is RO with default value of 1’b1 in the full-duplex-only configurations. 0b - Half-duplex mode 1b - Full-duplex mode
Sourcepub const fn fes(&self) -> bool
pub const fn fes(&self) -> bool
Speed. This bit selects the speed mode. The mac_speed_o[0] signal reflects the value of this bit. 0b - 10 Mbps when PS bit is 1 and 1 Gbps when PS bit is 0 1b - 100 Mbps when PS bit is 1 and 2.5 Gbps when PS bit is 0
Sourcepub const fn set_fes(&mut self, val: bool)
pub const fn set_fes(&mut self, val: bool)
Speed. This bit selects the speed mode. The mac_speed_o[0] signal reflects the value of this bit. 0b - 10 Mbps when PS bit is 1 and 1 Gbps when PS bit is 0 1b - 100 Mbps when PS bit is 1 and 2.5 Gbps when PS bit is 0
Sourcepub const fn ps(&self) -> bool
pub const fn ps(&self) -> bool
Read-only. Port Select. This bit selects the Ethernet line speed. This bit, along with Bit 14, selects the exact line speed. In the 10/100 Mbps-only (always 1) or 1000 Mbps-only (always 0) configurations, this bit is read-only (RO) with appropriate value. In default 10/100/1000 Mbps configurations, this bit is read-write (R/W). The mac_speed_o[1] signal reflects the value of this bit. 0b - For 1000 or 2500 Mbps operations 1b - For 10 or 100 Mbps operations
Sourcepub const fn set_ps(&mut self, val: bool)
pub const fn set_ps(&mut self, val: bool)
Read-only. Port Select. This bit selects the Ethernet line speed. This bit, along with Bit 14, selects the exact line speed. In the 10/100 Mbps-only (always 1) or 1000 Mbps-only (always 0) configurations, this bit is read-only (RO) with appropriate value. In default 10/100/1000 Mbps configurations, this bit is read-write (R/W). The mac_speed_o[1] signal reflects the value of this bit. 0b - For 1000 or 2500 Mbps operations 1b - For 10 or 100 Mbps operations
Sourcepub const fn je(&self) -> bool
pub const fn je(&self) -> bool
Jumbo Packet Enable. When this bit is set, the MAC allows jumbo packets of 9,018 bytes (9,022 bytes for VLAN tagged packets) without reporting a giant packet error in the Rx packet status. 0b - Jumbo packet is disabled 1b - Jumbo packet is enabled
Sourcepub const fn set_je(&mut self, val: bool)
pub const fn set_je(&mut self, val: bool)
Jumbo Packet Enable. When this bit is set, the MAC allows jumbo packets of 9,018 bytes (9,022 bytes for VLAN tagged packets) without reporting a giant packet error in the Rx packet status. 0b - Jumbo packet is disabled 1b - Jumbo packet is enabled
Sourcepub const fn jd(&self) -> bool
pub const fn jd(&self) -> bool
Jabber Disable. When this bit is set, the MAC disables the jabber timer on the transmitter. The MAC can transfer packets of up to 16,383 bytes. When this bit is reset, if the application sends more than 2,048 bytes of data (10,240 if JE is set high) during transmission, the MAC does not send rest of the bytes in that packet. 0b - Jabber is enabled 1b - Jabber is disabled
Sourcepub const fn set_jd(&mut self, val: bool)
pub const fn set_jd(&mut self, val: bool)
Jabber Disable. When this bit is set, the MAC disables the jabber timer on the transmitter. The MAC can transfer packets of up to 16,383 bytes. When this bit is reset, if the application sends more than 2,048 bytes of data (10,240 if JE is set high) during transmission, the MAC does not send rest of the bytes in that packet. 0b - Jabber is enabled 1b - Jabber is disabled
Sourcepub const fn wd(&self) -> bool
pub const fn wd(&self) -> bool
Watchdog Disable. When this bit is set, the MAC disables the watchdog timer on the receiver. The MAC can receive packets of up to 16,383 bytes. When this bit is reset, the MAC does not allow more than 2,048 bytes (10,240 if JE is set high) of the packet being received. The MAC cuts off any bytes received after 2,048 bytes. 0b - Watchdog is enabled 1b - Watchdog is disabled
Sourcepub const fn set_wd(&mut self, val: bool)
pub const fn set_wd(&mut self, val: bool)
Watchdog Disable. When this bit is set, the MAC disables the watchdog timer on the receiver. The MAC can receive packets of up to 16,383 bytes. When this bit is reset, the MAC does not allow more than 2,048 bytes (10,240 if JE is set high) of the packet being received. The MAC cuts off any bytes received after 2,048 bytes. 0b - Watchdog is enabled 1b - Watchdog is disabled
Sourcepub const fn acs(&self) -> bool
pub const fn acs(&self) -> bool
Automatic Pad or CRC Stripping. 1: MAC strips the pad or the FCS field of the incoming Ethernet Length packets. For the Ethernet Type packets, MAC transfers the packets to the application without stripping the Pad or FCS field. 0: MAC passes all incoming packets to the application, without any modification. NOTE For more details about impact of CST and ACS bit settings on the packet length, see “Packet Length based on the CST and ACS Bits” table in the Architecture chapter. 0b - Automatic Pad or CRC Stripping is disabled 1b - Automatic Pad or CRC Stripping is enabled
Sourcepub const fn set_acs(&mut self, val: bool)
pub const fn set_acs(&mut self, val: bool)
Automatic Pad or CRC Stripping. 1: MAC strips the pad or the FCS field of the incoming Ethernet Length packets. For the Ethernet Type packets, MAC transfers the packets to the application without stripping the Pad or FCS field. 0: MAC passes all incoming packets to the application, without any modification. NOTE For more details about impact of CST and ACS bit settings on the packet length, see “Packet Length based on the CST and ACS Bits” table in the Architecture chapter. 0b - Automatic Pad or CRC Stripping is disabled 1b - Automatic Pad or CRC Stripping is enabled
Sourcepub const fn cst(&self) -> bool
pub const fn cst(&self) -> bool
CRC stripping for Type packets. 1: MAC strips and drops the last four bytes (FCS) of all Ether type packets, as indicated by the Length/ Type field of the packet, before forwarding the packet to the application. NOTE For more details about impact of CST and ACS bit settings on the packet length, see “Packet Length based on the CST and ACS Bits” table in the Architecture chapter. 0b - CRC stripping for Type packets is disabled 1b - CRC stripping for Type packets is enabled
Sourcepub const fn set_cst(&mut self, val: bool)
pub const fn set_cst(&mut self, val: bool)
CRC stripping for Type packets. 1: MAC strips and drops the last four bytes (FCS) of all Ether type packets, as indicated by the Length/ Type field of the packet, before forwarding the packet to the application. NOTE For more details about impact of CST and ACS bit settings on the packet length, see “Packet Length based on the CST and ACS Bits” table in the Architecture chapter. 0b - CRC stripping for Type packets is disabled 1b - CRC stripping for Type packets is enabled
Sourcepub const fn s2kp(&self) -> bool
pub const fn s2kp(&self) -> bool
Support for 2K Packets. When this bit is set, the MAC considers all packets with up to 2,000 bytes length as normal packets. When the JE bit is not set, the MAC considers all received packets of size more than 2K bytes as Giant packets. When this bit is reset and the JE bit is not set, the MAC considers all received packets of size more than 1,518 bytes (1,522 bytes for tagged) as giant packets. For more information about how the setting of this bit and the JE bit impact the Giant packet status, see the Table, Giant Packet Status based on S2KP and JE Bits. NOTE When the JE bit is set, setting this bit has no effect on the giant packet status. 0b - Support upto 2K packet is disabled 1b - Support upto 2K packet is Enabled
Sourcepub const fn set_s2kp(&mut self, val: bool)
pub const fn set_s2kp(&mut self, val: bool)
Support for 2K Packets. When this bit is set, the MAC considers all packets with up to 2,000 bytes length as normal packets. When the JE bit is not set, the MAC considers all received packets of size more than 2K bytes as Giant packets. When this bit is reset and the JE bit is not set, the MAC considers all received packets of size more than 1,518 bytes (1,522 bytes for tagged) as giant packets. For more information about how the setting of this bit and the JE bit impact the Giant packet status, see the Table, Giant Packet Status based on S2KP and JE Bits. NOTE When the JE bit is set, setting this bit has no effect on the giant packet status. 0b - Support upto 2K packet is disabled 1b - Support upto 2K packet is Enabled
Sourcepub const fn gpslce(&self) -> bool
pub const fn gpslce(&self) -> bool
Giant Packet Size Limit Control Enable. When this bit is set, the MAC considers the value in GPSL field in MAC_Ext_Configuration register to declare a received packet as Giant packet. This field must be programmed to more than 1,518 bytes. Otherwise, the MAC considers 1,518 bytes as giant packet limit. When this bit is reset, the MAC considers a received packet as Giant packet when its size is greater than 1,518 bytes (1522 bytes for tagged packet). The watchdog timeout limit, Jumbo Packet Enable and 2K Packet Enable have higher precedence over this bit, that is the MAC considers a received packet as Giant packet when its size is greater than 9,018 bytes (9,022 bytes for tagged packet) with Jumbo Packet Enabled and greater than 2,000 bytes with 2K Packet Enabled. The watchdog timeout, if enabled, terminates the received packet when watchdog limit is reached. Therefore, the programmed giant packet limit must be less than the watchdog limit to get the giant packet status. 0b - Giant Packet Size Limit Control is disabled 1b - Giant Packet Size Limit Control is enabled
Sourcepub const fn set_gpslce(&mut self, val: bool)
pub const fn set_gpslce(&mut self, val: bool)
Giant Packet Size Limit Control Enable. When this bit is set, the MAC considers the value in GPSL field in MAC_Ext_Configuration register to declare a received packet as Giant packet. This field must be programmed to more than 1,518 bytes. Otherwise, the MAC considers 1,518 bytes as giant packet limit. When this bit is reset, the MAC considers a received packet as Giant packet when its size is greater than 1,518 bytes (1522 bytes for tagged packet). The watchdog timeout limit, Jumbo Packet Enable and 2K Packet Enable have higher precedence over this bit, that is the MAC considers a received packet as Giant packet when its size is greater than 9,018 bytes (9,022 bytes for tagged packet) with Jumbo Packet Enabled and greater than 2,000 bytes with 2K Packet Enabled. The watchdog timeout, if enabled, terminates the received packet when watchdog limit is reached. Therefore, the programmed giant packet limit must be less than the watchdog limit to get the giant packet status. 0b - Giant Packet Size Limit Control is disabled 1b - Giant Packet Size Limit Control is enabled
Sourcepub const fn ipg(&self) -> u8
pub const fn ipg(&self) -> u8
Inter-Packet Gap. These bits control the minimum IPG between packets during transmission. This range of minimum IPG is valid in full-duplex mode. In the half-duplex mode, the minimum IPG can be configured only for 64-bit times (IPG = 100). Lower values are not considered. When a JAM pattern is being transmitted because of backpressure activation, the MAC does not consider the minimum IPG. This function (IPG less than 96 bit times) is valid only when EIPGEN bit in MAC_Ext_Configuration register is reset. When EIPGEN is set, then the minimum IPG (greater than 96 bit times) is controlled as per the description given in EIPG field in MAC_Ext_Configuration register. 000b - 96 bit times IPG 001b - 88 bit times IPG 010b - 80 bit times IPG 011b - 72 bit times IPG 100b - 64 bit times IPG 101b - 56 bit times IPG 110b - 48 bit times IPG 111b - 40 bit times IPG
Sourcepub const fn set_ipg(&mut self, val: u8)
pub const fn set_ipg(&mut self, val: u8)
Inter-Packet Gap. These bits control the minimum IPG between packets during transmission. This range of minimum IPG is valid in full-duplex mode. In the half-duplex mode, the minimum IPG can be configured only for 64-bit times (IPG = 100). Lower values are not considered. When a JAM pattern is being transmitted because of backpressure activation, the MAC does not consider the minimum IPG. This function (IPG less than 96 bit times) is valid only when EIPGEN bit in MAC_Ext_Configuration register is reset. When EIPGEN is set, then the minimum IPG (greater than 96 bit times) is controlled as per the description given in EIPG field in MAC_Ext_Configuration register. 000b - 96 bit times IPG 001b - 88 bit times IPG 010b - 80 bit times IPG 011b - 72 bit times IPG 100b - 64 bit times IPG 101b - 56 bit times IPG 110b - 48 bit times IPG 111b - 40 bit times IPG
Sourcepub const fn ipc(&self) -> bool
pub const fn ipc(&self) -> bool
Checksum Offload. When set, this bit enables the IPv4 header checksum checking and IPv4 or IPv6 TCP, UDP, or ICMP payload checksum checking. When this bit is reset, the COE function in the receiver is disabled. The Layer 3 and Layer 4 Packet Filter and Enable Split Header features automatically selects the IPC Full Checksum Offload Engine on the Receive side. When any of these features are enabled, you must set the IPC bit. 0b - IP header/payload checksum checking is disabled 1b - IP header/payload checksum checking is enabled
Sourcepub const fn set_ipc(&mut self, val: bool)
pub const fn set_ipc(&mut self, val: bool)
Checksum Offload. When set, this bit enables the IPv4 header checksum checking and IPv4 or IPv6 TCP, UDP, or ICMP payload checksum checking. When this bit is reset, the COE function in the receiver is disabled. The Layer 3 and Layer 4 Packet Filter and Enable Split Header features automatically selects the IPC Full Checksum Offload Engine on the Receive side. When any of these features are enabled, you must set the IPC bit. 0b - IP header/payload checksum checking is disabled 1b - IP header/payload checksum checking is enabled
Sourcepub const fn sarc(&self) -> u8
pub const fn sarc(&self) -> u8
Only MAC address 0 is mapped; address-1 encodings in generic prose do not establish another address register. Source Address Insertion or Replacement Control. Controls the source address insertion or replacement for all transmitted packets. Bit 30 specifies which MAC Address register (0 or 1) is used for source address insertion or replacement based on the values of Bits[29:28]: 2’b0x: - The mti_sa_ctrl_i and ati_sa_ctrl_i input signals control the SA field generation. 2’b10: - If Bit 30 is set to 0, the MAC inserts the content of the MAC Address 0 registers in the SA field of all transmitted packets. - If Bit 30 is set to 1 and the Enable MAC Address Register 1 option is selected while configuring the IP, the MAC inserts the content of the MAC Address 1 registers in the SA field of all transmitted packets. 2’b11: - If Bit 30 is set to 0, the MAC replaces the content of the MAC Address 0 registers in the SA field of all transmitted packets. - If Bit 30 is set to 1 and the MAC Address Register 1 is enabled, the MAC replaces the content of the MAC Address 1 registers in the SA field of all transmitted packets. NOTE Changes to this field take effect only on the start of a packet. If you write to this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value. 000b - mti_sa_ctrl_i and ati_sa_ctrl_i input signals control the SA field generation 010b - Contents of MAC Addr-0 inserted in SA field 011b - Contents of MAC Addr-0 replaces SA field 110b - Contents of MAC Addr-1 inserted in SA field 111b - Contents of MAC Addr-1 replaces SA field
Sourcepub const fn set_sarc(&mut self, val: u8)
pub const fn set_sarc(&mut self, val: u8)
Only MAC address 0 is mapped; address-1 encodings in generic prose do not establish another address register. Source Address Insertion or Replacement Control. Controls the source address insertion or replacement for all transmitted packets. Bit 30 specifies which MAC Address register (0 or 1) is used for source address insertion or replacement based on the values of Bits[29:28]: 2’b0x: - The mti_sa_ctrl_i and ati_sa_ctrl_i input signals control the SA field generation. 2’b10: - If Bit 30 is set to 0, the MAC inserts the content of the MAC Address 0 registers in the SA field of all transmitted packets. - If Bit 30 is set to 1 and the Enable MAC Address Register 1 option is selected while configuring the IP, the MAC inserts the content of the MAC Address 1 registers in the SA field of all transmitted packets. 2’b11: - If Bit 30 is set to 0, the MAC replaces the content of the MAC Address 0 registers in the SA field of all transmitted packets. - If Bit 30 is set to 1 and the MAC Address Register 1 is enabled, the MAC replaces the content of the MAC Address 1 registers in the SA field of all transmitted packets. NOTE Changes to this field take effect only on the start of a packet. If you write to this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value. 000b - mti_sa_ctrl_i and ati_sa_ctrl_i input signals control the SA field generation 010b - Contents of MAC Addr-0 inserted in SA field 011b - Contents of MAC Addr-0 replaces SA field 110b - Contents of MAC Addr-1 inserted in SA field 111b - Contents of MAC Addr-1 replaces SA field
Trait Implementations§
Source§impl Clone for MacConfiguration
impl Clone for MacConfiguration
Source§fn clone(&self) -> MacConfiguration
fn clone(&self) -> MacConfiguration
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more