PSOC E8XXGP Device Support Library

| PSOC E8XXGP Device Support Library

API Reference
PDL API Reference

## General Description

# Overview

MTB PSOC EDGE PDL provides low level device drivers for PSOC EDGE devices. The PDL integrates device header files, and peripheral drivers into a single package. The drivers abstract the hardware functions into a set of easy-to-use APIs. These are fully documented in the PDL API Reference.

The PDL reduces the need to understand register usage and bit structures, thus easing software development for the extensive set of peripherals. You configure the driver for your application, and then use API calls to initialize and use the peripheral. This documentation provides technical information on each supported peripheral driver, including:

- Configuration considerations
- Macros
- Functions
- Global variables
- Data structures
- Enumerated types

The PDL conforms to the ANSI C99 standard.

# ModusToolbox™ Libraries

ModusToolbox™ software is a modern, extensible development environment supporting a wide range of Infineon microcontroller devices. It provides a flexible set of tools and a diverse, high-quality collection of application-focused software. These include configuration tools, low-level drivers, libraries, and operating system support. There are many parts of ModusToolbox™ software that are provided as libraries. The PSOC EDGE PDL is one of those libraries. The other libraries that are closely related to it are CMSIS and HAL.

### CMSIS

The CMSIS is a hardware abstraction layer developed by Arm that help to simplify software reuse, reduce the learning curve, development costs, and time-to-market for microcontroller developers. The PSOC EDGE PDL supports following components of CMSIS :

- CMSIS-Core(M)
- CMSIS-DSP
- CMSIS-NN

### Hardware Abstraction Layer (HAL)

HAL package provides a set of APIs to initialize, configure, and use the PSOC EDGE MCU resources.

Refer to the ModusToolbox™ run-time software reference guide for more details about how these libraries are used in the ModusToolbox™ ecosystem.

# Copyright

Copyright (c) (2016-2025), Cypress Semiconductor Corporation (an Infineon company) or an affiliate of Cypress Semiconductor Corporation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

## API Reference
| AUTONOMOUS ANALOG (Autonomous Analog Block)
| This driver provides API functions to configure the Autonomous Analog.
| AXIDMAC (AXI Direct Memory Access Controller)
| Configures the AXIDMA Controller block, channels and descriptors.
| CAN FD (CAN with Flexible Data-Rate)
| The CAN FD driver provides an easy method to access the CAN FD IP block registers and provides simple functionality for sending and receiving data between devices in the CAN FD network.
| CMSIS Utilities
| This module provides wrapper functions and configuration structs to facilitate the initialization of the following standard ARM hardware blocks:
| Crypto (Cryptography)
| DMA (Direct Memory Access)
| EMAC (Ethernet MAC)
| EPHY (Ethernet PHY)
| The PHY chip is outside of SoC.
| GFXSS (Graphics Sub System)
| The Graphics Sub System driver provides an application interface for configuring graphics IP.
| GPIO (General Purpose Input Output)
| The GPIO driver provides an API to configure and access device Input/Output pins.
| I3C (I3C)
| Driver API for I3C Bus Peripheral.
| IPC (Inter Process Communication)
| The inter-processor communication (IPC) driver provides a safe and reliable method to transfer data between CPUs.
| LPComp (Low Power Comparator)
| Provides access to low-power comparators implemented using the fixed-function, LP comparator block.
| LVD (Low-Voltage-Detect)
| The LVD driver provides an API to manage the Low Voltage Detection block.
| MCWDT (Multi-Counter Watchdog)
| A MCWDT has two 16-bit counters and one 32-bit counter.
| MIPI DSI (MIPI Display Serial Interface)
| MIPI DSI driver provides an application interface for configuring MIPI DSI IP Block.
| NNLITE HW Accelerator (NNLITE)
| This driver provides NNLite accelerator pdl defines and API function definitions.
| MPC (Memory Protection Controller)
| The Memory Protection Controller (MPC) driver allows to configure memory regions as secure or non-secure, helping to protect sensitive data and code in the application.
| MS_CTL (Master Security Controller)
| MSC is the Master Security Controller which helps to protect the transactions initiated on the bus.
| PDM_PCM_v2 (PDM-PCM Converter)
| PPC (Peripheral Protection Controller)
| The Peripheral Protection Controller (PPC) is a hardware block designed to enforce security policies for peripheral access, utilizing Protection Contexts (PC) and ARM TrustZone-M technology.
| RTC (Real-Time Clock)
| The Real-Time Clock (RTC) driver provides an application interface for keeping track of time and date.
| RRAM (Resistive Random Access Memory)
| Resistive Random Access Memory (RRAM) is a type of non-volatile memory which is going to replace FLASH and OTP memory in MXS22 platform.
| SCB (Serial Communication Block)
| The Serial Communications Block (SCB) supports three serial communication protocols: Serial Peripheral Interface (SPI), Universal Asynchronous Receiver Transmitter (UART), and Inter Integrated Circuit (I2C or IIC).
| SD Host (SD Host Controller)
| This driver provides the user an easy method for accessing standard Host Controller Interface (HCI) registers and provides some simple functionality on top of the HCI for reading and writing data to an SD card, eMMc card or a SDIO device.
| SmartIO (Smart I/O)
| The Smart I/O driver provides an API to configure and access the Smart I/O hardware present between the GPIOs (pins) and HSIOMs (pin muxes) on select device ports.
| SMIF (Serial Memory Interface)
| The SPI-based communication interface to the external quad SPI (QSPI) high-speed memory devices.
| SMIFNUM (Serial MemoryNum Interface)
| Startup
| Provides device startup, system configuration, and linker script files.
| SysClk (System Clock)
| The System Clock (SysClk) driver contains the API for configuring system and peripheral clocks.
| SysFault (System Fault)
| The SysFault driver provides an API to configure the Fault reporting structure.
| SysInt (System Interrupt)
| The SysInt driver provides an API to configure the device peripheral interrupts.
| SysLib (System Library)
| The system libraries provide APIs that can be called in the user application to handle the timing, logical checking or register.
| SysPm (System Power Management)
| Use the System Power Management (SysPm) driver to change power modes and reduce system power consumption in power sensitive designs.
| SysTick (Arm&reg; System Timer)
| Provides vendor-specific SysTick API.
| TCPWM (Timer Counter PWM)
| The TCPWM driver is a multifunction driver that implements Timer Counter, PWM, Quadrature Decoder, Shift Register and Motion Interface functionality using the TCPWM block.
| TDM/I2S (Time Division Multiplexing/Inter-IC Sound)
| TrigMux (Trigger Multiplexer)
| The trigger multiplexer provides access to the multiplexer that selects a set of trigger output signals from different peripheral blocks to route them to the specific trigger input of another peripheral block.
| WDT (Watchdog Timer)
| The Watchdog timer (WDT) has a 16-bit free-running up-counter.
| PDL SRF (PDL Secure Request Framework)
| This file contains the cy_pdl_srf_module_register API.