HPI Library
HPI Library Documentation

The Host Processor Interface (HPI) library implements the HPI transport, Protocol, Register and PD message handling. It allow the Host Processor or EC to monitor the status of the USB-PD ports, change configuration, perform firmware updates and transparently interact with other USB-PD devices connected.

HPI communicates over an I2C interface (supported clock frequencies are 1 MHz, 400 KHz and 100 KHz), with an interrupt line using a GPIO.

Features:

  1. Firmware version identification.
  2. Firmware update capability.
  3. Reporting of Type-C and USB-PD connection status.
  4. Interrupt based event reporting when connection status changes.
  5. Control of USB-PD power profiles.

Getting Started

The library offers functionality for two operational modes:

  • Master Mode
  • Slave Mode

These two libraries operate independently of each other and require separate configuration. For a comprehensive guide on integrating these libraries into a ModusToolbox(TM) based application, please refer to the API reference documentation of HPIM (HPI Master) and HPIS (HPI Slave)

Supported software and tools

This version of the HPI middleware was validated for the compatibility with the following software and tools:

Software and tools Version
ModusToolbox(TM) software environment 3.3
mtb-pdl-cat2 2.13.0
GCC compiler 11.3.1
IAR compiler 9.50.2
Arm(R) compiler 6 6.22

Changelog

VersionChangesReason for change
1.1.0 Added support for the HPI slave interface Feature Addition
1.0 Initial version

More information

For more information, see the following documents:

Note
The links to the other software component documentation (middleware and PDL) point to GitHub for the latest available version of the software. To get documentation of the specified version, download from GitHub, and unzip the component archive. The documentation is available in the docs folder.