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

Records