PSOC E8XXGP Device Support Library

| PSOC E8XXGP Device Support Library

Data Structures | Macros
HAL Driver Availability
HAL API Reference

## General Description

This section documents the macros that can be used to check if a specific driver is available for the current device.

This includes macros for all HAL drivers that exist for any device, even those that are not applicable (included) with this library. This is intended to help write code that can port between device categories that might not have the same drivers available.

## Data Structures
struct | mtb_hal_memoryspi_t
| MemorySPI object. More...
struct | mtb_hal_pwm_t
| PWM object. More...
struct | mtb_hal_sdhc_t
| SDHC object. More...
struct | mtb_hal_trng_t
| RNG object. More...

## Macros
#define | _MTB_HAL_DRIVER_AVAILABLE_ADC_SAR (1u)
#define | MTB_HAL_COMP_IMPL_HEADER "mtb_hal_comp_impl.h"
#define | MTB_HAL_MAP_I2C_TARGET_READ_EVENT (CY_SCB_I2C_SLAVE_READ_EVENT)
| I2C HAL to PDL enum map to enable/disable/report event cause flags.
#define | MTB_HAL_MAP_SPI_IRQ_DATA_IN_FIFO (CY_SCB_SPI_TRANSFER_IN_FIFO_EVENT)
| SPI HAL to PDL enum map to enable/disable/report interrupt cause flags.
#define | MTB_HAL_MAP_TIMER_EVENT_NONE (CY_TCPWM_INT_NONE)
| Timer HAL to PDL enum map for defining timer events.
#define | MTB_HAL_MAP_UART_IRQ_TX_TRANSMIT_IN_FIFO (CY_SCB_UART_TRANSMIT_IN_FIFO_EVENT)
| UART HAL to PDL enum map to enable/disable/report interrupt cause flags.
#define | MTB_HAL_DRIVER_AVAILABLE_CLOCK (1u)
| Macro specifying whether the Clock driver is available for the current device.
#define | MTB_HAL_DRIVER_AVAILABLE_DMA (1u)
| Macro specifying whether the DMA driver is available for the current device.
#define | MTB_HAL_DRIVER_AVAILABLE_GPIO_PORT (1u)
| Macro specifying whether the GPIO Port driver is available for the current device.
#define | MTB_HAL_DRIVER_AVAILABLE_SDIO_HOST (1u)
| Macro specifying whether the SDIO Host driver is available for the current device.

## Data Structure Documentation

## ◆ mtb_hal_memoryspi_t

struct mtb_hal_memoryspi_t

Data Fields
SMIF_Type * | base | Base address for the SMIF.
cy_en_smif_slave_select_t | chip_select | Active chip select *‍/.
uint32_t | configured_csel | All configured chip selects *‍/.
uint32_t | instNumber | SMIF instance number.
cy_stc_smif_context_t * | context | SMIF context for PDL use.
uint32_t | enabled_events | Events enabled by the user.
_mtb_hal_event_callback_data_t | callback_data | Registered callback, if any.
const mtb_hal_clock_t * | clock | Associated clock instance.

## ◆ mtb_hal_pwm_t

struct mtb_hal_pwm_t

Data Fields
mtb_hal_tcpwm_t | tcpwm | Common TCPWM data.
_mtb_hal_event_callback_data_t | callback_data |
uint32_t | callback_event | Event requested.

## ◆ mtb_hal_sdhc_t

struct mtb_hal_sdhc_t

Data Fields
_mtb_hal_sdxx_t | sdxx | Common data for mxsdhc IP.
cy_stc_sd_host_sd_card_config_t * | card_config | PDL-level card config.
uint8_t | bus_width | Width configured for the sdhc bus.
uint8_t | data_timeout_tout | TOUT setting of SDHC block.
bool | data_timeout_auto_reconfig | Automatically reconfigure data timeout.
uint32_t | data_timeout_card_clocks_user | Timeout provided by the user.
mtb_hal_gpio_t | pin_data[8] | Pins used for the data bus.
bool | low_voltage_io_desired | Is card configured for low voltage.
uint16_t | emmc_generic_cmd6_time_ms | Maximum timeout for CMD6 (swwitch command)

## ◆ mtb_hal_trng_t

struct mtb_hal_trng_t

Data Fields
CRYPTO_Type * | base | Base address of CRYPTO IP instance.

## Macro Definition Documentation

## ◆ MTB_HAL_COMP_IMPL_HEADER

#define MTB_HAL_COMP_IMPL_HEADER "mtb_hal_comp_impl.h"

IP-specific implementation header for Comp