Hardware Abstraction Layer (HAL)
HAL Drivers

General Description

This section documents the drivers which form the stable API of the Cypress HAL.

In order to remain portable across platforms and HAL versions, applications should rely only on functionality documented in this section.

API Reference

 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).
 
 Clock
 Interface 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 Management
 Interface 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).
 
 System
 High 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 Device
 High level interface for interacting with the USB Device.
 
 WDT (Watchdog Timer)
 
High level interface to the Watchdog Timer (WDT).