class Control3Reg
Defined at line 530 of file ../../src/devices/power/drivers/fusb302/registers.h
CONTROL3 - Configures the PD Protocol Layer above the BMC PHY.
After reset, all automated transmissions are disabled. The GoodCRC timeout
retry count is set to 3, but the setting is not in effect, because
re-transmissions are disabled.
Rev 5 datasheet: Table 23 on page 22
Public Members
field_send_hard_reset_538
field_bist_tmode_545
field_auto_hardreset_550
field_auto_softreset_556
field_n_retries_565
field_auto_retry_571
Public Methods
template <, >
typename SelfType::ValueType send_hard_reset ()
Set to true by the driver to transmit a Hard Reset message.
The transmitter in the BMC PHY follows usbpd3.1 5.6.4 "Hard Reset" to
send a Hard Reset packet over the CC pin that it is currently connected to.
The hardware sets this bit to false when it's done transmitting.
Defined at line 538 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_send_hard_reset (typename SelfType::ValueType val)
Set to true by the driver to transmit a Hard Reset message.
The transmitter in the BMC PHY follows usbpd3.1 5.6.4 "Hard Reset" to
send a Hard Reset packet over the CC pin that it is currently connected to.
The hardware sets this bit to false when it's done transmitting.
Defined at line 538 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType bist_tmode ()
If true, received messages are dropped after generating GoodCRC replies.
This helps implement usbpd3.1 6.4.3.2 "BIST Test Data". Enabling it helps
avoid receiver FIFO overflow when the USB PD compliance testing equipment
repeatedly sends the same data message.
Defined at line 545 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_bist_tmode (typename SelfType::ValueType val)
If true, received messages are dropped after generating GoodCRC replies.
This helps implement usbpd3.1 6.4.3.2 "BIST Test Data". Enabling it helps
avoid receiver FIFO overflow when the USB PD compliance testing equipment
repeatedly sends the same data message.
Defined at line 545 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType auto_hardreset ()
If true, automatically send HardReset messages per the USB PD spec.
Defined at line 550 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_auto_hardreset (typename SelfType::ValueType val)
If true, automatically send HardReset messages per the USB PD spec.
Defined at line 550 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType auto_softreset ()
If true, automatically send SoftReset messages per the USB PD spec.
This bit enables the hardware implementation of the SoftReset provision in
usbpd3.1 6.7.2 "Retry Counter" and 6.6.9.1 "tSoftReset".
Defined at line 556 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_auto_softreset (typename SelfType::ValueType val)
If true, automatically send SoftReset messages per the USB PD spec.
This bit enables the hardware implementation of the SoftReset provision in
usbpd3.1 6.7.2 "Retry Counter" and 6.6.9.1 "tSoftReset".
Defined at line 556 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType n_retries ()
Number of re-transmissions after timing out waiting for a GoodCRC message.
Only meaningful if `auto_retry` is true.
This field acts as the nRetryCount value in usbpd3.1 6.7.2 "Retry Counter".
usbpd3.1 6.7.7 "Counter Values and Counters" states that this value should
be set to 2.
Defined at line 565 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_n_retries (typename SelfType::ValueType val)
Number of re-transmissions after timing out waiting for a GoodCRC message.
Only meaningful if `auto_retry` is true.
This field acts as the nRetryCount value in usbpd3.1 6.7.2 "Retry Counter".
usbpd3.1 6.7.7 "Counter Values and Counters" states that this value should
be set to 2.
Defined at line 565 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType auto_retry ()
If true, messages are retransmitted after timing out waiting for a GoodCRC.
This bit enables the hardware implementation of usbpd3.1 6.6.1
"CRCReceiveTimer".
Defined at line 571 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_auto_retry (typename SelfType::ValueType val)
If true, messages are retransmitted after timing out waiting for a GoodCRC.
This bit enables the hardware implementation of usbpd3.1 6.6.1
"CRCReceiveTimer".
Defined at line 571 of file ../../src/devices/power/drivers/fusb302/registers.h
hwreg::I2cRegisterAddr<Control3Reg> Get ()
Defined at line 573 of file ../../src/devices/power/drivers/fusb302/registers.h