Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Driver Operations USB Type-C Port Controller driver operations More...

#include <zephyr/drivers/usb_c/usbc_tcpc.h>

Data Fields

tcpc_api_init_t init
  REQ Initializes the TCPC.
tcpc_api_get_cc_t get_cc
  OPT Reads the status of the CC lines.
tcpc_api_select_rp_value_t select_rp_value
  OPT Sets the value of CC pull up resistor used when operating as a Source.
tcpc_api_get_rp_value_t get_rp_value
  OPT Gets the value of the CC pull up resistor used when operating as a Source.
tcpc_api_set_cc_t set_cc
  REQ Sets the CC pull resistor and sets the role as either Source or Sink.
tcpc_api_set_vconn_discharge_cb_t set_vconn_discharge_cb
  REQ Sets a callback that can enable or discharge VCONN if the TCPC is unable to or the system is configured in a way that does not use the VCONN control capabilities of the TCPC.
tcpc_api_set_vconn_cb_t set_vconn_cb
  REQ Sets a callback that can enable or disable VCONN if the TCPC is unable to or the system is configured in a way that does not use the VCONN control capabilities of the TCPC.
tcpc_api_vconn_discharge_t vconn_discharge
  OPT Discharges VCONN.
tcpc_api_set_vconn_t set_vconn
  OPT Enables or disables VCONN.
tcpc_api_set_roles_t set_roles
  OPT Sets the Power and Data Role of the PD message header.
tcpc_api_get_rx_pending_msg_t get_rx_pending_msg
  REQ Retrieves the Power Delivery message from the TCPC.
tcpc_api_set_rx_enable_t set_rx_enable
  OPT Enables the reception of SOP* message types.
tcpc_api_set_cc_polarity_t set_cc_polarity
  REQ Sets the polarity of the CC lines.
tcpc_api_transmit_data_t transmit_data
  OPT Transmits a Power Delivery message.
tcpc_api_dump_std_reg_t dump_std_reg
  OPT Dump a set of TCPC registers.
tcpc_api_get_status_register_t get_status_register
  OPT Gets a status register.
tcpc_api_clear_status_register_t clear_status_register
  OPT Clears a TCPC status register.
tcpc_api_mask_status_register_t mask_status_register
  OPT Sets the mask of a TCPC status register.
tcpc_api_set_debug_accessory_t set_debug_accessory
  OPT Manual control of TCPC DebugAccessory control.
tcpc_api_set_debug_detach_t set_debug_detach
  OPT Detach from a debug connection.
tcpc_api_set_drp_toggle_t set_drp_toggle
  OPT Enable TCPC auto dual role toggle.
tcpc_api_get_snk_ctrl_t get_snk_ctrl
  OPT Queries the current sinking state of the TCPC.
tcpc_api_set_snk_ctrl_t set_snk_ctrl
  OPT Set the VBUS sinking state of the TCPC.
tcpc_api_get_src_ctrl_t get_src_ctrl
  OPT Queries the current sourcing state of the TCPC.
tcpc_api_set_src_ctrl_t set_src_ctrl
  OPT Set the VBUS sourcing state of the TCPC.
tcpc_api_get_chip_info_t get_chip_info
  OPT Gets the TCPC firmware version.
tcpc_api_set_low_power_mode_t set_low_power_mode
  OPT Instructs the TCPC to enter or exit low power mode.
tcpc_api_sop_prime_enable_t sop_prime_enable
  OPT Enables the reception of SOP Prime and optionally SOP Double Prime messages.
tcpc_api_set_bist_test_mode_t set_bist_test_mode
  OPT Controls the BIST Mode of the TCPC.
tcpc_api_set_alert_handler_cb_t set_alert_handler_cb
  REQ Sets the alert function that's called when an interrupt is triggered due to an alert bit.

Detailed Description

Driver Operations USB Type-C Port Controller driver operations

This is the driver API structure any USB Type-C Port Controller driver needs to define. It contains function pointers to the operations the driver implements, as well as any other driver-specific constant data.

Members marked with REQ MUST be set by the driver, whereas those marked with OPT are optional.

See also
DEVICE_DT_INST_DEFINE()
DEVICE_DT_DEFINE()
DEVICE_API()

Field Documentation

◆ clear_status_register

tcpc_api_clear_status_register_t tcpc_driver_api::clear_status_register

OPT Clears a TCPC status register.

◆ dump_std_reg

tcpc_api_dump_std_reg_t tcpc_driver_api::dump_std_reg

OPT Dump a set of TCPC registers.

◆ get_cc

tcpc_api_get_cc_t tcpc_driver_api::get_cc

OPT Reads the status of the CC lines.

◆ get_chip_info

tcpc_api_get_chip_info_t tcpc_driver_api::get_chip_info

OPT Gets the TCPC firmware version.

◆ get_rp_value

tcpc_api_get_rp_value_t tcpc_driver_api::get_rp_value

OPT Gets the value of the CC pull up resistor used when operating as a Source.

◆ get_rx_pending_msg

tcpc_api_get_rx_pending_msg_t tcpc_driver_api::get_rx_pending_msg

REQ Retrieves the Power Delivery message from the TCPC.

◆ get_snk_ctrl

tcpc_api_get_snk_ctrl_t tcpc_driver_api::get_snk_ctrl

OPT Queries the current sinking state of the TCPC.

◆ get_src_ctrl

tcpc_api_get_src_ctrl_t tcpc_driver_api::get_src_ctrl

OPT Queries the current sourcing state of the TCPC.

◆ get_status_register

tcpc_api_get_status_register_t tcpc_driver_api::get_status_register

OPT Gets a status register.

◆ init

tcpc_api_init_t tcpc_driver_api::init

REQ Initializes the TCPC.

◆ mask_status_register

tcpc_api_mask_status_register_t tcpc_driver_api::mask_status_register

OPT Sets the mask of a TCPC status register.

◆ select_rp_value

tcpc_api_select_rp_value_t tcpc_driver_api::select_rp_value

OPT Sets the value of CC pull up resistor used when operating as a Source.

◆ set_alert_handler_cb

tcpc_api_set_alert_handler_cb_t tcpc_driver_api::set_alert_handler_cb

REQ Sets the alert function that's called when an interrupt is triggered due to an alert bit.

◆ set_bist_test_mode

tcpc_api_set_bist_test_mode_t tcpc_driver_api::set_bist_test_mode

OPT Controls the BIST Mode of the TCPC.

◆ set_cc

tcpc_api_set_cc_t tcpc_driver_api::set_cc

REQ Sets the CC pull resistor and sets the role as either Source or Sink.

◆ set_cc_polarity

tcpc_api_set_cc_polarity_t tcpc_driver_api::set_cc_polarity

REQ Sets the polarity of the CC lines.

◆ set_debug_accessory

tcpc_api_set_debug_accessory_t tcpc_driver_api::set_debug_accessory

OPT Manual control of TCPC DebugAccessory control.

◆ set_debug_detach

tcpc_api_set_debug_detach_t tcpc_driver_api::set_debug_detach

OPT Detach from a debug connection.

◆ set_drp_toggle

tcpc_api_set_drp_toggle_t tcpc_driver_api::set_drp_toggle

OPT Enable TCPC auto dual role toggle.

◆ set_low_power_mode

tcpc_api_set_low_power_mode_t tcpc_driver_api::set_low_power_mode

OPT Instructs the TCPC to enter or exit low power mode.

◆ set_roles

tcpc_api_set_roles_t tcpc_driver_api::set_roles

OPT Sets the Power and Data Role of the PD message header.

◆ set_rx_enable

tcpc_api_set_rx_enable_t tcpc_driver_api::set_rx_enable

OPT Enables the reception of SOP* message types.

◆ set_snk_ctrl

tcpc_api_set_snk_ctrl_t tcpc_driver_api::set_snk_ctrl

OPT Set the VBUS sinking state of the TCPC.

◆ set_src_ctrl

tcpc_api_set_src_ctrl_t tcpc_driver_api::set_src_ctrl

OPT Set the VBUS sourcing state of the TCPC.

◆ set_vconn

tcpc_api_set_vconn_t tcpc_driver_api::set_vconn

OPT Enables or disables VCONN.

◆ set_vconn_cb

tcpc_api_set_vconn_cb_t tcpc_driver_api::set_vconn_cb

REQ Sets a callback that can enable or disable VCONN if the TCPC is unable to or the system is configured in a way that does not use the VCONN control capabilities of the TCPC.

◆ set_vconn_discharge_cb

tcpc_api_set_vconn_discharge_cb_t tcpc_driver_api::set_vconn_discharge_cb

REQ Sets a callback that can enable or discharge VCONN if the TCPC is unable to or the system is configured in a way that does not use the VCONN control capabilities of the TCPC.

◆ sop_prime_enable

tcpc_api_sop_prime_enable_t tcpc_driver_api::sop_prime_enable

OPT Enables the reception of SOP Prime and optionally SOP Double Prime messages.

◆ transmit_data

tcpc_api_transmit_data_t tcpc_driver_api::transmit_data

OPT Transmits a Power Delivery message.

◆ vconn_discharge

tcpc_api_vconn_discharge_t tcpc_driver_api::vconn_discharge

OPT Discharges VCONN.


The documentation for this struct was generated from the following file: