class Control0Reg
Defined at line 329 of file ../../src/devices/power/drivers/fusb302/registers.h
CONTROL0 - Various settings. Most apply to BMC transmission.
This register has reserved/undocumented bits. It can only be safely updated
via read/modify/write operations.
After reset, all interrupts will be masked, the pull-up current source will
be set to 80 uA, and the transmitter optimization will be disabled.
Rev 5 datasheet: Table 22 on page 21
Public Members
field_tx_flush_334
field_int_mask_339
field_host_cur_363
field_auto_pre_371
field_tx_start_381
Public Methods
template <, >
SelfType & set_tx_flush (typename SelfType::ValueType val)
Set to true by the driver to start flushing the transmitter FIFO.
The hardware sets this bit to false when it's done flushing the FIFO.
Defined at line 334 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType tx_flush ()
Set to true by the driver to start flushing the transmitter FIFO.
The hardware sets this bit to false when it's done flushing the FIFO.
Defined at line 334 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType int_mask ()
If true, all interrupts are masked, regardless of other mask registers.
This bit is a central switch that supplements the masks set by
Defined at line 339 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_int_mask (typename SelfType::ValueType val)
If true, all interrupts are masked, regardless of other mask registers.
This bit is a central switch that supplements the masks set by
Defined at line 339 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
PullUpCurrent host_cur ()
Amount of current generated in the pull-up current source.
The pull-up current source can be connected to CC1 or CC2, by setting
`Switches1Reg::SetBmcPhyConnection()`, to advertise USB power source
capabilities.
Defined at line 363 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_host_cur (PullUpCurrent val)
Amount of current generated in the pull-up current source.
The pull-up current source can be connected to CC1 or CC2, by setting
`Switches1Reg::SetBmcPhyConnection()`, to advertise USB power source
capabilities.
Defined at line 363 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType auto_pre ()
If true, the transmitter is started upon the reception of a correct CRC.
To take advantage of this optimization, the driver needs to start writing
to the transmitter FIFO within 330 microseconds of the FUSB302 asserting
the I_CRC_CHK interrupt. This only seems plausible in a constrained
environment.
Defined at line 371 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_auto_pre (typename SelfType::ValueType val)
If true, the transmitter is started upon the reception of a correct CRC.
To take advantage of this optimization, the driver needs to start writing
to the transmitter FIFO within 330 microseconds of the FUSB302 asserting
the I_CRC_CHK interrupt. This only seems plausible in a constrained
environment.
Defined at line 371 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
SelfType & set_tx_start (typename SelfType::ValueType val)
Set to true by the driver to start a transmission.
The hardware sets this bit to false when it's done powering up the
transmitter driver.
After the transmitter is powered up, it starts transmitting the USB PD
message preamble. The driver can keep writing to the transmitter FIFO while
the preamble is transmitted.
Defined at line 381 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType tx_start ()
Set to true by the driver to start a transmission.
The hardware sets this bit to false when it's done powering up the
transmitter driver.
After the transmitter is powered up, it starts transmitting the USB PD
message preamble. The driver can keep writing to the transmitter FIFO while
the preamble is transmitted.
Defined at line 381 of file ../../src/devices/power/drivers/fusb302/registers.h
hwreg::I2cRegisterAddr<Control0Reg> Get ()
Defined at line 383 of file ../../src/devices/power/drivers/fusb302/registers.h
Enumerations
enum PullUpCurrent
| Name | Value |
|---|---|
| kNone | 0b00 |
| kUsbStandard_80uA | 0b01 |
| kUsb1500mA_180uA | 0b10 |
| kUsb3000mA_330uA | 0b11 |
Values for `host_cur`.
The values follow Table 4-26 "Source Termination (Rp)" in typec2.2 4.11.1
"Termination Parameters".
Defined at line 345 of file ../../src/devices/power/drivers/fusb302/registers.h