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
 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
 DMA (Direct Memory Access)High level interface for interacting with the direct memory access (DMA)
 ADC (Analog to Digital Converter)High level interface for interacting with the analog to digital converter (ADC)
 ClockInterface for getting and changing clock configuration
 COMP (Analog Comparator)High level interface for interacting with an analog Comparator
 CRC (Cyclic Redundancy Check)High level interface for interacting with the CRC, which provides hardware accelerated CRC computations
 DAC (Digital to Analog Converter)High level interface for interacting with the digital to analog converter (DAC)
 EZI2C (Inter-Integrated Circuit)High level interface for interacting with the Cypress EZ Inter-Integrated Circuit (EZI2C)
 Flash (Flash System Routine)High level interface to the internal flash memory
 System Power ManagementInterface for changing power states and restricting when they are allowed
 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
 I2C (Inter-Integrated Circuit)
High level interface for interacting with the I2C resource
 I2S (Inter-IC Sound)
High level interface for interacting with the Inter-IC Sound (I2S)
 INTERCONNECT (Internal digital routing)High level interface to the Cypress digital routing
 LPTimer (Low-Power Timer)High level interface for interacting with the low-power timer (LPTimer)
 Opamp (Operational Amplifier)High level interface for interacting with the Operational Amplifier (Opamp)
 PDM/PCM (Pulse-Density Modulation to Pulse-Code Modulation Converter)
High level interface for interacting with the pulse-density modulation to pulse-code modulation (PDM/PCM) converter
 PWM (Pulse Width Modulator)High level interface for interacting with the pulse width modulator (PWM) hardware resource
 QSPI (Quad Serial Peripheral Interface)High level interface for interacting with the Quad-SPI interface
 RTC (Real-Time Clock)High level interface for interacting with the real-time clock (RTC)
 SDHC (SD Host Controller)High level interface to the Secure Digital Host Controller (SDHC)
 SDIO (Secure Digital Input Output)High level interface to the Secure Digital Input Output (SDIO)
 SPI (Serial Peripheral Interface)High level interface for interacting with the Serial Peripheral Interface (SPI)
 SystemHigh level interface for interacting with reset and delays
 Timer (Timer/Counter)High level interface for interacting with the Timer/Counter hardware resource
 TRNG (True Random Number Generator)High level interface to the True Random Number Generator (TRNG)
 UART (Universal Asynchronous Receiver-Transmitter)High level interface for interacting with the Universal Asynchronous Receiver-Transmitter (UART)
 USB DeviceHigh level interface for interacting with the USB Device
 WDT (Watchdog Timer)
High level interface to the Watchdog Timer (WDT)
 PSoC 6 Implementation SpecificThis section provides details about the PSoC 6 implementation of the Cypress HAL
 ClocksImplementation specific interface for using the Clock driver
 COMP (CTB Opamps)Implementation of the analog comparator (COMP) driver on top of the CTB opamps
 COMP (LP Comparator block)Implementation of the analog comparator (COMP) driver on top of the LP (low power) comparator
 DeprecatedThe following PSoC 6 specific items have been deprecated and replaced by more generic items
 DMA (Direct Memory Access)DW (DataWire) is one of two DMA hardware implementations for PSOC6
 PSoC 6 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
 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
 Timer (Timer/Counter)
 TriggersTrigger connections for supported device families
 ADC (Analog Digital Converter)
 COMP (Analog Comparator)On PSoC 6, the COMP driver can use either of two underlying hardware blocks:
 DAC
 I2S (Inter-IC Sound)The PSoC 6 I2S Supports the following values for word and channel lengths (with the constraint that word length must be less than or equal to channel length):
 LPTIMERThe maximum number of ticks that can set to an LPTIMER is 0xFFF0FFFF
 Opamp
 PDM/PCM (Pulse Density Modulation to Pulse Code Modulation Converter)The PSoC 6 PDM/PCM Supports the following conversion parameters:
 PWM (Pulse Width Modulator)
 RTC (Real Time Clock)Internally the PSoC 6 RTC only stores the year as a two digit BCD value (0-99); no century information is stored
 UDB SDIO (Secure Digital Input Output)The UDB based SDIO interface allows for communicating between a PSoC 6 and a Cypress wireless device such as the CYW4343W, CYW43438, or CYW43012
 WDT (Watchdog Timer)The PSoC 6 WDT is only capable of supporting certain timeout ranges below its maximum timeout of 6000ms