| ▼HAL General Types/Macros | This section documents the basic types and macros that are used by multiple HAL drivers |
| Result Type | Defines a type and related utilities for function result handling |
| ▼General Types | This section documents the basic types that are used by multiple HAL drivers |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼System Power Management | Interface for changing power states and restricting when they are allowed |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼Clock | Interface for getting and changing clock configuration |
| Result Codes | HAL specific return codes definitions for all drivers |
| Overrideable Macros | These macros can be defined to a custom value globally to modify the behavior of the HAL |
| Implementation Specific Types | The following types are used by the HAL, but are defined by the implementation |
| ▼HAL Drivers | This section documents the drivers which form the stable API of the Cypress HAL |
| ▼ADC (Analog to Digital Converter) | High level interface for interacting with the analog to digital converter (ADC) |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼Clock | Interface for getting and changing clock configuration |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼COMP (Analog Comparator) | High level interface for interacting with an analog Comparator |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼CRC (Cyclic Redundancy Check) | High level interface for interacting with the CRC, which provides hardware accelerated CRC computations |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼DMA (Direct Memory Access) | High level interface for interacting with the direct memory access (DMA) |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼EZI2C (Inter-Integrated Circuit) | High level interface for interacting with the Cypress EZ Inter-Integrated Circuit (EZI2C) |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼Flash (Flash System Routine) | High level interface to the internal flash memory |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼System Power Management | Interface for changing power states and restricting when they are allowed |
| Result Codes | HAL specific return codes definitions for all drivers |
| GPIO (General Purpose Input Output) | High level interface for configuring and interacting with general purpose input/outputs (GPIO) |
| ▼HWMGR (Hardware Manager) | High level interface to the Hardware Manager |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼I2C (Inter-Integrated Circuit) | High level interface for interacting with the I2C resource |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼I2S (Inter-IC Sound) | High level interface for interacting with the Inter-IC Sound (I2S) |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼INTERCONNECT (Internal digital routing) | High level interface to the Cypress digital routing |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼LPTimer (Low-Power Timer) | High level interface for interacting with the low-power timer (LPTimer) |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼Opamp (Operational Amplifier) | High level interface for interacting with the Operational Amplifier (Opamp) |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼PWM (Pulse Width Modulator) | High level interface for interacting with the pulse width modulator (PWM) hardware resource |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼SPI (Serial Peripheral Interface) | High level interface for interacting with the Serial Peripheral Interface (SPI) |
| Result Codes | HAL specific return codes definitions for all drivers |
| System | High level interface for interacting with reset and delays |
| ▼Timer (Timer/Counter) | High level interface for interacting with the Timer/Counter hardware resource |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼TRNG (True Random Number Generator) | High level interface to the True Random Number Generator (TRNG) |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼UART (Universal Asynchronous Receiver-Transmitter) | High level interface for interacting with the Universal Asynchronous Receiver-Transmitter (UART) |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼WDT (Watchdog Timer) | High level interface to the Watchdog Timer (WDT) |
| Result Codes | HAL specific return codes definitions for all drivers |
| ▼PSoC 4 Implementation Specific | This section provides details about the PSoC 4 implementation of the Cypress HAL |
| Clocks | Implementation specific interface for using the Clock driver |
| PSoC 4 Specific Hardware Types | Aliases for types which are part of the public HAL interface but whose representations need to vary per HAL implementation |
| ▼Pins | Definitions for the pinout for each supported device |
| PSoC4000S 20-SSOP | Pin definitions and connections specific to the PSoC4000S 20-SSOP package |
| PSoC4000S 24-QFN | Pin definitions and connections specific to the PSoC4000S 24-QFN package |
| PSoC4000S 25-CSP | Pin definitions and connections specific to the PSoC4000S 25-CSP package |
| PSoC4000S 28-SSOP-AUTO | Pin definitions and connections specific to the PSoC4000S 28-SSOP-AUTO package |
| PSoC4000S 32-QFN | Pin definitions and connections specific to the PSoC4000S 32-QFN package |
| PSoC4000S 32-TQFP | Pin definitions and connections specific to the PSoC4000S 32-TQFP package |
| PSoC4000S 40-QFN-AUTO | Pin definitions and connections specific to the PSoC4000S 40-QFN-AUTO package |
| PSoC4000S 48-TQFP | Pin definitions and connections specific to the PSoC4000S 48-TQFP package |
| PSoC4100S 28-SSOP-AUTO | Pin definitions and connections specific to the PSoC4100S 28-SSOP-AUTO package |
| PSoC4100S 32-QFN | Pin definitions and connections specific to the PSoC4100S 32-QFN package |
| PSoC4100S 35-CSP-APPLE | Pin definitions and connections specific to the PSoC4100S 35-CSP-APPLE package |
| PSoC4100S 40-QFN-AUTO | Pin definitions and connections specific to the PSoC4100S 40-QFN-AUTO package |
| PSoC4100S 44-TQFP | Pin definitions and connections specific to the PSoC4100S 44-TQFP package |
| PSoC4100S 48-TQFP | Pin definitions and connections specific to the PSoC4100S 48-TQFP package |
| PSoC4100Smax 100-TQFP | Pin definitions and connections specific to the PSoC4100Smax 100-TQFP package |
| PSoC4100Smax 48-TQFP | Pin definitions and connections specific to the PSoC4100Smax 48-TQFP package |
| PSoC4100Smax 64-TQFP | Pin definitions and connections specific to the PSoC4100Smax 64-TQFP package |
| PSoC4100Sp256KB 48-TQFP | Pin definitions and connections specific to the PSoC4100Sp256KB 48-TQFP package |
| PSoC4100Sp256KB 48-TQFP-MC | Pin definitions and connections specific to the PSoC4100Sp256KB 48-TQFP-MC package |
| PSoC4100Sp256KB 64-TQFP | Pin definitions and connections specific to the PSoC4100Sp256KB 64-TQFP package |
| PSoC4100Sp256KB 64-TQFP-MC | Pin definitions and connections specific to the PSoC4100Sp256KB 64-TQFP-MC package |
| PSoC4100Sp 40-QFN-2 | Pin definitions and connections specific to the PSoC4100Sp 40-QFN-2 package |
| PSoC4100Sp 44-TQFP | Pin definitions and connections specific to the PSoC4100Sp 44-TQFP package |
| PSoC4100Sp 48-TQFP | Pin definitions and connections specific to the PSoC4100Sp 48-TQFP package |
| PSoC4100Sp 64-TQFP | Pin definitions and connections specific to the PSoC4100Sp 64-TQFP package |
| System Power Management | The PSoC 6 Power Management has the following characteristics: CYHAL_SYSPM_SYSTEM_NORMAL equates to the Low Power mode CYHAL_SYSPM_SYSTEM_LOW equates to the Ultra Low Power mode |
| ▼Triggers | Trigger connections for supported device families |
| PSOC4000S | Trigger connections for psoc4000s |
| PSOC4100S | Trigger connections for psoc4100s |
| PSOC4100SMAX | Trigger connections for psoc4100smax |
| PSOC4100SP | Trigger connections for psoc4100sp |
| PSOC4100SP256KB | Trigger connections for psoc4100sp256kb |
| DMA (Direct Memory Access) | |
| PWM (Pulse Width Modulator) | |
| WDT (Watchdog Timer) | The PSoC 6 WDT is only capable of supporting certain timeout ranges below its maximum timeout of 6000ms |