256 const uint8_t *payload, uint8_t payloadLen);
311 bool r8(uint8_t reg, uint8_t &out);
319 bool w8(uint8_t reg, uint8_t v);
328 bool readNoInc(uint8_t reg, uint8_t *
buf, uint8_t len);
337 bool writeNoInc(uint8_t reg,
const uint8_t *
buf, uint8_t len);
AXP517 low-level core driver.
uint8_t digitalRead(uint8_t pin)
Read a platform GPIO pin through the active HAL.
uint32_t millis()
Return the current platform millisecond counter.
void pinMode(uint8_t pin, uint8_t mode)
Configure a platform GPIO pin through the active HAL.
void delayMs(uint32_t ms)
Delay using the active platform HAL.
AXP517 Type-C Port Controller helper.
uint8_t digitalRead(uint8_t pin)
Read a platform GPIO pin through the active HAL.
bool writeMessageHeaderInfo(uint8_t v)
Write the TCPCI MESSAGE_HEADER_INFO register.
bool clearAlert(uint16_t maskRw1c)
Clear PD_ALERTL/H bits using write-one-to-clear semantics.
bool setSinkMessageHeaderAndRx()
Configure sink message-header defaults and enable SOP RX.
bool clearPmicIrqStatus()
Clear the non-PD PMIC IRQ status registers.
bool init()
Initialize the TCPC as a USB-PD sink.
bool clearTx()
Reset the TX byte count and transmit command register.
bool txSend(TransmitType type, RetryCount retry, uint16_t headerLE, const uint8_t *payload, uint8_t payloadLen)
Send a USB-PD packet through the TCPC TX FIFO.
void pinMode(uint8_t pin, uint8_t mode)
Configure a platform GPIO pin through the active HAL.
bool clearFaultStatus(uint8_t maskRw1c)
Clear TCPC FAULT_STATUS bits using write-one-to-clear semantics.
bool readReg(uint8_t reg, uint8_t &out)
Read one TCPC register.
bool isAttached()
Check whether either CC pin indicates attachment.
RetryCount
TCPCI transmit retry count values.
bool readFaultStatus(uint8_t &out)
Read the TCPC FAULT_STATUS register.
void delayMs(uint32_t ms)
Delay using the active platform HAL.
bool getCc(CcStatus &cc1, CcStatus &cc2)
Read and decode CC1/CC2 status.
Alert
PD_ALERTL/H bit definitions returned by readAlert().
@ AlertExtendedStatus
EXTENDED_STATUS register changed.
@ AlertTxFailed
Message transmission failed.
@ AlertPowerStatus
POWER_STATUS register changed.
@ AlertExtended
ALERT_EXTENDED register changed.
@ AlertTxSuccess
Message transmission completed.
@ AlertRxHardReset
Hard Reset received.
@ AlertVbusAlarmHi
VBUS high-voltage alarm.
@ AlertRxStatus
RX buffer contains a SOP message.
@ AlertTxDiscarded
Transmission discarded due to RX activity.
@ AlertVbusAlarmLo
VBUS low-voltage alarm.
@ AlertRxBufOverflow
RX buffer overflow.
@ AlertFault
TCPC fault status changed.
@ AlertVbusDisconnect
VBUS sink disconnect threshold crossed.
@ AlertCcStatus
CC_STATUS register changed.
CcStatus
Decoded sink-side CC status.
@ RP_1_5
1.5 A current advertisement.
@ RP_DEF
Default USB current advertisement.
@ OPEN
No source detected on this CC pin.
@ RP_3_0
3.0 A current advertisement.
bool writeReceiveDetect(uint8_t v)
Write the TCPCI RECEIVE_DETECT register.
bool readVbusMv(uint16_t &mv)
Read TCPC VBUS ADC value.
bool readAlert(uint16_t &out)
Read PD_ALERTL/H.
bool rxReadMessage(RxFifoMsg &out)
Read and decode one TCPC RX FIFO message.
uint32_t millis()
Return the platform millisecond counter.
bool checkVendorId()
Verify the TCPC vendor ID.
bool getPowerStatus(uint8_t &status)
Read POWER_STATUS.
bool clearAllAlerts()
Clear all PD alert bits.
bool writeReg(uint8_t reg, uint8_t v)
Write one TCPC register.
TransmitType
TCPCI TRANSMIT register packet type values.
@ SOP_DBG_DPRIME
Debug SOP'' packet.
@ BIST_CARRIER_MODE2
BIST carrier mode 2.
@ HARD_RESET
Hard Reset ordered set.
@ CABLE_RESET
Cable Reset ordered set.
@ SOP_DBG_PRIME
Debug SOP' packet.
@ SOP_DPRIME
SOP'' packet.
bool isVbusPresent()
Check whether TCPC VBUS present status is set.
bool setPolarityFromCc()
Set TCPC polarity from the current CC status.
AXP517Tcpc(AXP517Core &core)
Construct a TCPC helper using the shared AXP517 core transport.
uint16_t headerLE
USB-PD message header in little-endian order.
uint8_t frameType
TCPCI RX frame type.
uint8_t byteCount
TCPCI readable byte count.
uint8_t payload[28]
USB-PD payload bytes.
uint8_t payloadLen
Number of valid payload bytes.