Hardware Abstraction Layer (HAL)
HAL API Reference
The following provides a list of HAL API documentation
[detail level 1234]
 HAL General Types/MacrosThis section documents the basic types and macros that are used by multiple HAL drivers
 Result TypeDefines a type and related utilities for function result handling
 General TypesThis section documents the basic types that are used by multiple HAL drivers
 Result CodesHAL specific return codes definitions for all drivers
 System Power ManagementInterface for changing power states and restricting when they are allowed
 Result CodesHAL specific return codes definitions for all drivers
 ClockInterface for getting and changing clock configuration
 Result CodesHAL specific return codes definitions for all drivers
 Overrideable MacrosThese macros can be defined to a custom value globally to modify the behavior of the HAL
 Implementation Specific TypesThe following types are used by the HAL, but are defined by the implementation
 HAL DriversThis 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 CodesHAL specific return codes definitions for all drivers
 ClockInterface for getting and changing clock configuration
 Result CodesHAL specific return codes definitions for all drivers
 COMP (Analog Comparator)High level interface for interacting with an analog Comparator
 Result CodesHAL 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 CodesHAL specific return codes definitions for all drivers
 DMA (Direct Memory Access)High level interface for interacting with the direct memory access (DMA)
 Result CodesHAL 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 CodesHAL specific return codes definitions for all drivers
 Flash (Flash System Routine)High level interface to the internal flash memory
 Result CodesHAL specific return codes definitions for all drivers
 System Power ManagementInterface for changing power states and restricting when they are allowed
 Result CodesHAL 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 CodesHAL specific return codes definitions for all drivers
 I2C (Inter-Integrated Circuit)
High level interface for interacting with the I2C resource
 Result CodesHAL specific return codes definitions for all drivers
 I2S (Inter-IC Sound)
High level interface for interacting with the Inter-IC Sound (I2S)
 Result CodesHAL specific return codes definitions for all drivers
 INTERCONNECT (Internal digital routing)High level interface to the Cypress digital routing
 Result CodesHAL specific return codes definitions for all drivers
 LPTimer (Low-Power Timer)High level interface for interacting with the low-power timer (LPTimer)
 Result CodesHAL specific return codes definitions for all drivers
 Opamp (Operational Amplifier)High level interface for interacting with the Operational Amplifier (Opamp)
 Result CodesHAL 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 CodesHAL specific return codes definitions for all drivers
 SPI (Serial Peripheral Interface)High level interface for interacting with the Serial Peripheral Interface (SPI)
 Result CodesHAL specific return codes definitions for all drivers
 SystemHigh level interface for interacting with reset and delays
 Timer (Timer/Counter)High level interface for interacting with the Timer/Counter hardware resource
 Result CodesHAL specific return codes definitions for all drivers
 TRNG (True Random Number Generator)High level interface to the True Random Number Generator (TRNG)
 Result CodesHAL 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 CodesHAL specific return codes definitions for all drivers
 WDT (Watchdog Timer)
High level interface to the Watchdog Timer (WDT)
 Result CodesHAL specific return codes definitions for all drivers
 PSoC 4 Implementation SpecificThis section provides details about the PSoC 4 implementation of the Cypress HAL
 ClocksImplementation specific interface for using the Clock driver
 PSoC 4 Specific Hardware TypesAliases for types which are part of the public HAL interface but whose representations need to vary per HAL implementation
 PinsDefinitions for the pinout for each supported device
 PSoC4000S 20-SSOPPin definitions and connections specific to the PSoC4000S 20-SSOP package
 PSoC4000S 24-QFNPin definitions and connections specific to the PSoC4000S 24-QFN package
 PSoC4000S 25-CSPPin definitions and connections specific to the PSoC4000S 25-CSP package
 PSoC4000S 28-SSOP-AUTOPin definitions and connections specific to the PSoC4000S 28-SSOP-AUTO package
 PSoC4000S 32-QFNPin definitions and connections specific to the PSoC4000S 32-QFN package
 PSoC4000S 32-TQFPPin definitions and connections specific to the PSoC4000S 32-TQFP package
 PSoC4000S 40-QFN-AUTOPin definitions and connections specific to the PSoC4000S 40-QFN-AUTO package
 PSoC4000S 48-TQFPPin definitions and connections specific to the PSoC4000S 48-TQFP package
 PSoC4100S 28-SSOP-AUTOPin definitions and connections specific to the PSoC4100S 28-SSOP-AUTO package
 PSoC4100S 32-QFNPin definitions and connections specific to the PSoC4100S 32-QFN package
 PSoC4100S 35-CSP-APPLEPin definitions and connections specific to the PSoC4100S 35-CSP-APPLE package
 PSoC4100S 40-QFN-AUTOPin definitions and connections specific to the PSoC4100S 40-QFN-AUTO package
 PSoC4100S 44-TQFPPin definitions and connections specific to the PSoC4100S 44-TQFP package
 PSoC4100S 48-TQFPPin definitions and connections specific to the PSoC4100S 48-TQFP package
 PSoC4100Smax 100-TQFPPin definitions and connections specific to the PSoC4100Smax 100-TQFP package
 PSoC4100Smax 48-TQFPPin definitions and connections specific to the PSoC4100Smax 48-TQFP package
 PSoC4100Smax 64-TQFPPin definitions and connections specific to the PSoC4100Smax 64-TQFP package
 PSoC4100Sp256KB 48-TQFPPin definitions and connections specific to the PSoC4100Sp256KB 48-TQFP package
 PSoC4100Sp256KB 48-TQFP-MCPin definitions and connections specific to the PSoC4100Sp256KB 48-TQFP-MC package
 PSoC4100Sp256KB 64-TQFPPin definitions and connections specific to the PSoC4100Sp256KB 64-TQFP package
 PSoC4100Sp256KB 64-TQFP-MCPin definitions and connections specific to the PSoC4100Sp256KB 64-TQFP-MC package
 PSoC4100Sp 40-QFN-2Pin definitions and connections specific to the PSoC4100Sp 40-QFN-2 package
 PSoC4100Sp 44-TQFPPin definitions and connections specific to the PSoC4100Sp 44-TQFP package
 PSoC4100Sp 48-TQFPPin definitions and connections specific to the PSoC4100Sp 48-TQFP package
 PSoC4100Sp 64-TQFPPin definitions and connections specific to the PSoC4100Sp 64-TQFP package
 System Power ManagementThe 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
 TriggersTrigger connections for supported device families
 PSOC4000STrigger connections for psoc4000s
 PSOC4100STrigger connections for psoc4100s
 PSOC4100SMAXTrigger connections for psoc4100smax
 PSOC4100SPTrigger connections for psoc4100sp
 PSOC4100SP256KBTrigger 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