PSOC E8XXGP Device Support Library
HAL Driver Availability

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_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