◆ debug_accessory
| int(* tcpm_drv::debug_accessory) (int enable) |
Manual control of TCPC DebugAccessory enable
- Parameters
-
| enable | Debug Accessory enable or disable |
◆ debug_detach
| int(* tcpm_drv::debug_detach) () |
Break debug connection, if TCPC requires specific commands to be run in order to correctly exit a debug connection.
◆ drp_toggle
| int(* tcpm_drv::drp_toggle) () |
Enable TCPC auto DRP toggling.
- Returns
- EC_SUCCESS or error
◆ dump_registers
| void(* tcpm_drv::dump_registers) () |
◆ enter_low_power_mode
| int(* tcpm_drv::enter_low_power_mode) () |
Instructs the TCPC to enter into low power mode.
NOTE: Do no use tcpc_(read|write) style helper methods in this function. You must use i2c_(read|write) directly.
- Returns
- EC_SUCCESS or error
◆ get_cc
| int(* tcpm_drv::get_cc) (enum tcpc_cc_voltage_status *cc1, enum tcpc_cc_voltage_status *cc2) |
Read the CC line status.
- Parameters
-
| cc1 | pointer to CC status for CC1 |
| cc2 | pointer to CC status for CC2 |
- Returns
- EC_SUCCESS or error
◆ get_chip_info
Get firmware version.
- Parameters
-
| live | Fetch live chip info or hard-coded + cached info |
| info | Pointer to PD chip info; NULL to cache the info only |
- Returns
- EC_SUCCESS or error
◆ get_message
| int(* tcpm_drv::get_message) (uint32_t *payload, uint32_t *head) |
Read last received PD message.
- Parameters
-
| port | Type-C port number |
| payload | Pointer to location to copy payload of message |
| header | of message |
- Returns
- EC_SUCCESS or error
◆ get_snk_ctrl
| int(* tcpm_drv::get_snk_ctrl) (int *sinking) |
Request current sinking state of the TCPC NOTE: this is most useful for PPCs that can not tell on their own
- Parameters
-
| is_sinking | true for sinking, false for not |
- Returns
- EC_SUCCESS, EC_ERROR_UNIMPLEMENTED or error
◆ get_src_ctrl
| int(* tcpm_drv::get_src_ctrl) (int *sourcing) |
Request current sourcing state of the TCPC NOTE: this is most useful for PPCs that can not tell on their own
- Parameters
-
| is_sourcing | true for sourcing, false for not |
- Returns
- EC_SUCCESS, EC_ERROR_UNIMPLEMENTED or error
◆ get_vbus_level
| int(* tcpm_drv::get_vbus_level) (enum vbus_level level) |
Check VBUS level
- Parameters
-
| level | safe level voltage to check against |
- Returns
- False => VBUS not at level, True => VBUS at level
◆ get_vbus_voltage
| int(* tcpm_drv::get_vbus_voltage) (int *vbus) |
Get VBUS voltage
- Parameters
-
| port | Type-C port number |
| vbus | read VBUS voltage in mV |
- Returns
- EC_SUCCESS or error
◆ handle_fault
| int(* tcpm_drv::handle_fault) (int fault) |
Handle TCPCI Faults
- Parameters
-
| port | Type-C port number |
| fault | TCPCI fault status value |
- Returns
- EC_SUCCESS or error
◆ init
Initialize TCPM driver and wait for TCPC readiness.
- Parameters
-
- Returns
- EC_SUCCESS or error
◆ release
| int(* tcpm_drv::release) () |
Release the TCPM hardware and disconnect the driver. Only .init() can be called after .release().
- Returns
- EC_SUCCESS or error
◆ select_rp_value
| int(* tcpm_drv::select_rp_value) (int rp) |
Set the value of the CC pull-up used when we are a source.
- Parameters
-
| rp | One of enum tcpc_rp_value |
- Returns
- EC_SUCCESS or error
◆ set_cc
| int(* tcpm_drv::set_cc) (int pull) |
Set the CC pull resistor. This sets our role as either source or sink.
- Parameters
-
| pull | One of enum tcpc_cc_pull |
- Returns
- EC_SUCCESS or error
◆ set_frs_enable
| int(* tcpm_drv::set_frs_enable) (int enable) |
Enable/Disable TCPC FRS detection
- Parameters
-
| enable | FRS enable (true) disable (false) |
- Returns
- EC_SUCCESS or error
◆ set_msg_header
| int(* tcpm_drv::set_msg_header) (int power_role, int data_role) |
Set PD message header to use for goodCRC
- Parameters
-
| power_role | Power role to use in header |
| data_role | Data role to use in header |
- Returns
- EC_SUCCESS or error
◆ set_polarity
| int(* tcpm_drv::set_polarity) (enum tcpc_cc_polarity polarity) |
Set polarity
- Parameters
-
- Returns
- EC_SUCCESS or error
◆ set_rx_enable
| int(* tcpm_drv::set_rx_enable) (int enable) |
Set RX enable flag
- Parameters
-
| [in] | true | for enable, false for disable |
- Returns
- EC_SUCCESS or error
◆ set_snk_ctrl
| int(* tcpm_drv::set_snk_ctrl) (int enable) |
Send SinkVBUS or DisableSinkVBUS command
@enable true for enable, false for disable
- Returns
- EC_SUCCESS or error
◆ set_src_ctrl
| int(* tcpm_drv::set_src_ctrl) (int enable) |
Send SourceVBUS or DisableSourceVBUS command
@enable true for enable, false for disable
- Returns
- EC_SUCCESS or error
◆ set_vconn
| int(* tcpm_drv::set_vconn) (int enable) |
Set Vconn.
- Parameters
-
| enable | Enable/Disable Vconn |
- Returns
- EC_SUCCESS or error
◆ sop_prime_enable
| int(* tcpm_drv::sop_prime_enable) (int enable) |
Control receive of SOP' and SOP'' messages. This is provided separately from set_vconn so that we can preemptively disable receipt of SOP' messages during a VCONN swap, or disable during spans when port partners may erroneously be sending cable messages.
- Parameters
-
| enable | Enable SOP' and SOP'' messages |
- Returns
- EC_SUCCESS or error
◆ tcpc_alert
| void(* tcpm_drv::tcpc_alert) () |
◆ tcpc_discharge_vbus
| void(* tcpm_drv::tcpc_discharge_vbus) (int enable) |
Discharge PD VBUS on src/sink disconnect & power role swap
- Parameters
-
| enable | Discharge enable or disable |
◆ tcpc_enable_auto_discharge_disconnect
| void(* tcpm_drv::tcpc_enable_auto_discharge_disconnect) (int enable) |
Auto Discharge Disconnect
- Parameters
-
| enable | Auto Discharge enable or disable |
◆ transmit
| int(* tcpm_drv::transmit) (enum tcpm_transmit_type type, uint16_t header, const uint32_t *data) |
Transmit PD message
- Parameters
-
| type | Transmit type |
| header | Packet header |
| cnt | Number of bytes in payload |
| data | Payload |
- Returns
- EC_SUCCESS or error
The documentation for this struct was generated from the following file: