Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
USB-C Power Delivery API used for USB-C drivers. More...
#include <zephyr/types.h>
Go to the source code of this file.
Data Structures | |
union | pd_header |
Build a PD message header See Table 6-1 Message Header. More... | |
union | pd_ext_header |
Build an extended message header See Table 6-3 Extended Message Header. More... | |
union | pd_fixed_supply_pdo_source |
Create a Fixed Supply PDO Source value See Table 6-9 Fixed Supply PDO - Source. More... | |
union | pd_fixed_supply_pdo_sink |
Create a Fixed Supply PDO Sink value See Table 6-14 Fixed Supply PDO - Sink. More... | |
union | pd_variable_supply_pdo_source |
Create a Variable Supply PDO Source value See Table 6-11 Variable Supply (non-Battery) PDO - Source. More... | |
union | pd_variable_supply_pdo_sink |
Create a Variable Supply PDO Sink value See Table 6-15 Variable Supply (non-Battery) PDO - Sink. More... | |
union | pd_battery_supply_pdo_source |
Create a Battery Supply PDO Source value See Table 6-12 Battery Supply PDO - Source. More... | |
union | pd_battery_supply_pdo_sink |
Create a Battery Supply PDO Sink value See Table 6-16 Battery Supply PDO - Sink. More... | |
union | pd_augmented_supply_pdo_source |
Create Augmented Supply PDO Source value See Table 6-13 Programmable Power Supply APDO - Source. More... | |
union | pd_augmented_supply_pdo_sink |
Create Augmented Supply PDO Sink value See Table 6-17 Programmable Power Supply APDO - Sink. More... | |
union | pd_rdo |
The Request Data Object (RDO) Shall be returned by the Sink making a request for power. More... | |
struct | pd_msg |
Power Delivery message. More... | |
Macros | |
#define | PD_MAX_EXTENDED_MSG_LEGACY_LEN 26 |
Maximum length of a non-Extended Message in bytes. | |
#define | PD_MAX_EXTENDED_MSG_LEN 260 |
Maximum length of an Extended Message in bytes. | |
#define | PD_MAX_EXTENDED_MSG_CHUNK_LEN 26 |
Maximum length of a Chunked Message in bytes. | |
#define | PD_T_TYPEC_SINK_WAIT_CAP_MIN_MS 310 |
Minimum time a sink shall wait for a Source_Capabilities message before sending a Hard Reset See Table 6-61 Time Values Parameter Name: tTypeCSinkWaitCap. | |
#define | PD_T_TYPEC_SINK_WAIT_CAP_MAX_MS 620 |
Minimum time a sink shall wait for a Source_Capabilities message before sending a Hard Reset See Table 6-61 Time Values Parameter Name: tTypeCSinkWaitCap. | |
#define | PD_V_SAFE_0V_MAX_MV 800 |
VBUS maximum safe operating voltage at "zero volts". | |
#define | PD_V_SAFE_5V_MIN_MV 4750 |
VBUS minimum safe operating voltage at 5V. | |
#define | PD_T_SAFE_0V_MAX_MS 650 |
Time to reach PD_V_SAFE_0V_MV max in milliseconds. | |
#define | PD_T_SAFE_5V_MAX_MS 275 |
Time to reach PD_V_SAFE_5V_MV max in milliseconds. | |
#define | PD_T_TX_TIMEOUT_MS 100 |
Time to wait for TCPC to complete transmit. | |
#define | PD_T_HARD_RESET_COMPLETE_MIN_MS 4 |
Minimum time a Hard Reset must complete. | |
#define | PD_T_HARD_RESET_COMPLETE_MAX_MS 5 |
Maximum time a Hard Reset must complete. | |
#define | PD_T_SENDER_RESPONSE_MIN_MS 24 |
Minimum time a response must be sent from a Port Partner See Table 6-68 Time Values. | |
#define | PD_T_SENDER_RESPONSE_NOM_MS 27 |
Nomiminal time a response must be sent from a Port Partner See Table 6-68 Time Values. | |
#define | PD_T_SENDER_RESPONSE_MAX_MS 30 |
Maximum time a response must be sent from a Port Partner See Table 6-68 Time Values. | |
#define | PD_T_SPR_PS_TRANSITION_MIN_MS 450 |
Minimum SPR Mode time for a power supply to transition to a new level See Table 6-68 Time Values. | |
#define | PD_T_SPR_PS_TRANSITION_NOM_MS 500 |
Nominal SPR Mode time for a power supply to transition to a new level See Table 6-68 Time Values. | |
#define | PD_T_SPR_PS_TRANSITION_MAX_MS 550 |
Maximum SPR Mode time for a power supply to transition to a new level See Table 6-68 Time Values. | |
#define | PD_T_EPR_PS_TRANSITION_MIN_MS 830 |
Minimum EPR Mode time for a power supply to transition to a new level See Table 6-68 Time Values. | |
#define | PD_T_EPR_PS_TRANSITION_NOM_MS 925 |
Nominal EPR Mode time for a power supply to transition to a new level See Table 6-68 Time Values. | |
#define | PD_T_EPR_PS_TRANSITION_MAX_MS 1020 |
Maximum EPR Mode time for a power supply to transition to a new level See Table 6-68 Time Values. | |
#define | PD_T_SINK_REQUEST_MIN_MS 100 |
Minimum time to wait before sending another request after receiving a Wait message See Table 6-68 Time Values. | |
#define | PD_T_CHUNKING_NOT_SUPPORTED_MIN_MS 40 |
Minimum time to wait before sending a Not_Supported message after receiving a Chunked message See Table 6-68 Time Values. | |
#define | PD_T_CHUNKING_NOT_SUPPORTED_NOM_MS 45 |
Nominal time to wait before sending a Not_Supported message after receiving a Chunked message See Table 6-68 Time Values. | |
#define | PD_T_CHUNKING_NOT_SUPPORTED_MAX_MS 50 |
Maximum time to wait before sending a Not_Supported message after receiving a Chunked message See Table 6-68 Time Values. | |
#define | PD_CONVERT_BYTES_TO_PD_HEADER_COUNT(c) ((c) >> 2) |
Convert bytes to PD Header data object count, where a data object is 4-bytes. | |
#define | PD_CONVERT_PD_HEADER_COUNT_TO_BYTES(c) ((c) << 2) |
Convert PD Header data object count to bytes. | |
#define | SINK_TX_OK TC_RP_3A0 |
Collision avoidance Rp values in REV 3.0 Sink Transmit "OK". | |
#define | SINK_TX_NG TC_RP_1A5 |
Collision avoidance Rp values in REV 3.0 Sink Transmit "NO GO". | |
#define | PD_GET_EXT_HEADER(c) ((c) & 0xffff) |
Used to get extended header from the first 32-bit word of the message. | |
#define | PDO_MAX_DATA_OBJECTS 7 |
PDO - Power Data Object RDO - Request Data Object. | |
#define | PD_CONVERT_MA_TO_FIXED_PDO_CURRENT(c) ((c) / 10) |
Convert milliamps to Fixed PDO Current in 10mA units. | |
#define | PD_CONVERT_MV_TO_FIXED_PDO_VOLTAGE(v) ((v) / 50) |
Convert millivolts to Fixed PDO Voltage in 50mV units. | |
#define | PD_CONVERT_FIXED_PDO_CURRENT_TO_MA(c) ((c) * 10) |
Convert a Fixed PDO Current from 10mA units to milliamps. | |
#define | PD_CONVERT_FIXED_PDO_VOLTAGE_TO_MV(v) ((v) * 50) |
Convert a Fixed PDO Voltage from 50mV units to millivolts. | |
#define | PD_CONVERT_MA_TO_VARIABLE_PDO_CURRENT(c) ((c) / 10) |
Convert milliamps to Variable PDO Current in 10ma units. | |
#define | PD_CONVERT_MV_TO_VARIABLE_PDO_VOLTAGE(v) ((v) / 50) |
Convert millivolts to Variable PDO Voltage in 50mV units. | |
#define | PD_CONVERT_VARIABLE_PDO_CURRENT_TO_MA(c) ((c) * 10) |
Convert a Variable PDO Current from 10mA units to milliamps. | |
#define | PD_CONVERT_VARIABLE_PDO_VOLTAGE_TO_MV(v) ((v) * 50) |
Convert a Variable PDO Voltage from 50mV units to millivolts. | |
#define | PD_CONVERT_MW_TO_BATTERY_PDO_POWER(c) ((c) / 250) |
Convert milliwatts to Battery PDO Power in 250mW units. | |
#define | PD_CONVERT_MV_TO_BATTERY_PDO_VOLTAGE(v) ((v) / 50) |
Convert milliwatts to Battery PDO Voltage in 50mV units. | |
#define | PD_CONVERT_BATTERY_PDO_POWER_TO_MW(c) ((c) * 250) |
Convert a Battery PDO Power from 250mW units to milliwatts. | |
#define | PD_CONVERT_BATTERY_PDO_VOLTAGE_TO_MV(v) ((v) * 50) |
Convert a Battery PDO Voltage from 50mV units to millivolts. | |
#define | PD_CONVERT_MA_TO_AUGMENTED_PDO_CURRENT(c) ((c) / 50) |
Convert milliamps to Augmented PDO Current in 50mA units. | |
#define | PD_CONVERT_MV_TO_AUGMENTED_PDO_VOLTAGE(v) ((v) / 100) |
Convert millivolts to Augmented PDO Voltage in 100mV units. | |
#define | PD_CONVERT_AUGMENTED_PDO_CURRENT_TO_MA(c) ((c) * 50) |
Convert an Augmented PDO Current from 50mA units to milliamps. | |
#define | PD_CONVERT_AUGMENTED_PDO_VOLTAGE_TO_MV(v) ((v) * 100) |
Convert an Augmented PDO Voltage from 100mV units to millivolts. | |
#define | NUM_SOP_STAR_TYPES (PD_PACKET_DEBUG_PRIME_PRIME + 1) |
Number of valid Transmit Types. | |
USB PD 3.1 Rev 1.6, Table 6-70 Counter Parameters | |
#define | PD_N_CAPS_COUNT 50 |
The CapsCounter is used to count the number of Source_Capabilities Messages which have been sent by a Source at power up or after a Hard Reset. | |
#define | PD_N_HARD_RESET_COUNT 2 |
The HardResetCounter is used to retry the Hard Reset whenever there is no response from the remote device (see Section 6.6.6) Parameter Name: nHardResetCounter. | |
USB PD 3.1 Rev 1.6, Table 6-68 Time Values | |
#define | PD_T_NO_RESPONSE_MIN_MS 4500 |
The NoResponseTimer is used by the Policy Engine in a Source to determine that its Port Partner is not responding after a Hard Reset. | |
#define | PD_T_NO_RESPONSE_MAX_MS 5500 |
The NoResponseTimer is used by the Policy Engine in a Source to determine that its Port Partner is not responding after a Hard Reset. | |
#define | PD_T_PS_HARD_RESET_MIN_MS 25 |
Min time the Source waits to ensure that the Sink has had sufficient time to process Hard Reset Signaling before turning off its power supply to VBUS Parameter Name: tPSHardReset. | |
#define | PD_T_PS_HARD_RESET_MAX_MS 35 |
Max time the Source waits to ensure that the Sink has had sufficient time to process Hard Reset Signaling before turning off its power supply to VBUS Parameter Name: tPSHardReset. | |
#define | PD_T_SINK_TX_MIN_MS 16 |
Minimum time a Source waits after changing Rp from SinkTxOk to SinkTxNG before initiating an AMS by sending a Message. | |
#define | PD_T_SINK_TX_MAX_MS 20 |
Maximum time a Source waits after changing Rp from SinkTxOk to SinkTxNG before initiating an AMS by sending a Message. | |
#define | PD_T_TYPEC_SEND_SOURCE_CAP_MIN_MS 100 |
Minimum time a source shall wait before sending a Source_Capabilities message while the following is true: 1) The Port is Attached. | |
#define | PD_T_TYPEC_SEND_SOURCE_CAP_MAX_MS 200 |
Maximum time a source shall wait before sending a Source_Capabilities message while the following is true: 1) The Port is Attached. | |
USB-C Power Delivery API used for USB-C drivers.
The information in this file was taken from the USB PD Specification Revision 3.0, Version 2.0