Hardware Abstraction Layer (HAL)
CAT1 Specific Hardware Types

General Description

Aliases for types which are part of the public HAL interface but whose representations need to vary per HAL implementation.

Data Structures

struct  cyhal_clock_t
 Clock object Application code should not rely on the specific contents of this struct. More...
 
struct  cyhal_resource_inst_t
 Represents a particular instance of a resource on the chip. More...
 
struct  cyhal_event_callback_data_t
 Event callback data object. More...
 
struct  _cyhal_buffer_info_t
 Store information about buffer. More...
 
struct  cyhal_tcpwm_t
 Shared data between timer/counter and PWM. More...
 
struct  cyhal_dma_t
 DMA object. More...
 
struct  cyhal_dma_configurator_t
 DMA configurator struct. More...
 
struct  _cyhal_audioss_interface_t
 Interface to abstract away the driver-specific differences between TDM and I2S. More...
 
struct  _cyhal_audioss_t
 Shared data between i2s and tdm. More...
 
struct  _cyhal_audioss_configurator_t
 Shared I2S/TDM configurator struct. More...
 
struct  cyhal_adc_t
 ADC object. More...
 
struct  cyhal_adc_configurator_t
 ADC configurator struct. More...
 
struct  cyhal_adc_channel_t
 ADC channel object. More...
 
struct  cyhal_comp_t
 Comparator object. More...
 
struct  cyhal_comp_configurator_t
 Comp configurator struct. More...
 
struct  cyhal_crc_t
 CRC object. More...
 
struct  cyhal_dac_t
 DAC object. More...
 
struct  cyhal_dac_configurator_t
 DAC configurator struct. More...
 
struct  cyhal_opamp_t
 OPAMP object. More...
 
struct  cyhal_opamp_configurator_t
 Opamp configurator struct. More...
 
struct  cyhal_nvm_t
 NVM object. More...
 
struct  cyhal_i2c_t
 I2C object. More...
 
struct  cyhal_i2c_configurator_t
 I2C configurator struct. More...
 
struct  cyhal_ezi2c_t
 EZI2C object. More...
 
struct  cyhal_ezi2c_configurator_t
 EZI2C configurator struct. More...
 
struct  cyhal_ipc_t
 IPC object. More...
 
struct  cyhal_keyscan_t
 KeyScan object. More...
 
struct  cyhal_keyscan_configurator_t
 KeyScan configurator struct. More...
 
struct  cyhal_lptimer_t
 LPTIMER object. More...
 
struct  cyhal_pdm_pcm_t
 PDM-PCM object. More...
 
struct  cyhal_pdm_pcm_configurator_t
 PDM-PCM configurator struct. More...
 
struct  cyhal_pwm_t
 PWM object. More...
 
struct  cyhal_pwm_configurator_t
 PWM configurator struct. More...
 
struct  cyhal_qspi_t
 QSPI object. More...
 
struct  cyhal_qspi_configurator_t
 QSPI configurator struct. More...
 
struct  cyhal_quaddec_t
 Quadrature Decoder object. More...
 
struct  cyhal_quaddec_configurator_t
 Quadrature Decoder configurator struct. More...
 
struct  cyhal_trng_t
 RNG object. More...
 
struct  cyhal_rtc_t
 RTC object. More...
 
struct  cyhal_rtc_configurator_t
 RTC configurator struct. More...
 
struct  _cyhal_sdxx_t
 Contains common members between SDHC and SDIO. More...
 
struct  cyhal_sdhc_t
 SDHC object. More...
 
struct  cyhal_sdhc_t::cyhal_sdhc_t_gpio_cb
 This needs to mirror cyhal_gpio_callback_data_t, which can't be referenced directly. More...
 
struct  cyhal_sdhc_configurator_t
 SDHC configurator struct. More...
 
struct  cyhal_sdio_t
 SDIO object. More...
 
struct  cyhal_sdio_configurator_t
 SDIO configurator struct. More...
 
struct  cyhal_spi_t
 SPI object. More...
 
struct  cyhal_spi_configurator_t
 SPI configurator struct. More...
 
struct  cyhal_timer_t
 Timer object. More...
 
struct  cyhal_timer_configurator_t
 Timer configurator struct. More...
 
struct  cyhal_uart_t
 UART object. More...
 
struct  cyhal_uart_configurator_t
 UART configurator struct. More...
 
struct  cyhal_usb_dev_t
 USB Device object. More...
 
struct  cyhal_wdt_t
 WDT object. More...
 
union  _cyhal_buffer_info_t.addr
 
union  cyhal_dma_t.channel_config
 
union  cyhal_dma_t.descriptor_config
 
union  cyhal_dma_t.descriptor
 
union  cyhal_comp_t.__unnamed14__
 
struct  cyhal_qspi_configurator_t.gpios
 
struct  cyhal_sdhc_configurator_t.gpios
 
struct  cyhal_sdio_configurator_t.gpios
 
struct  cyhal_spi_configurator_t.gpios
 
struct  cyhal_uart_configurator_t.gpios
 

Macros

#define CYHAL_ISR_PRIORITY_DEFAULT   (3)
 Priority that is applied by default to all drivers when initialized. More...
 
#define cyhal_system_callback_t   cy_stc_syspm_callback_t
 Callbacks for Sleep and Deepsleep APIs.
 

Typedefs

typedef _cyhal_audioss_t cyhal_i2s_t
 I2S object. More...
 
typedef _cyhal_audioss_configurator_t cyhal_i2s_configurator_t
 I2S configurator struct. More...
 
typedef _cyhal_audioss_t cyhal_tdm_t
 TDM object. More...
 
typedef _cyhal_audioss_configurator_t cyhal_tdm_configurator_t
 TDM configurator struct. More...
 

Enumerations

enum  cyhal_resource_t {
  CYHAL_RSC_ADC ,
  CYHAL_RSC_ADCMIC ,
  CYHAL_RSC_BLESS ,
  CYHAL_RSC_CAN ,
  CYHAL_RSC_CLKPATH ,
  CYHAL_RSC_CLOCK ,
  CYHAL_RSC_CRYPTO ,
  CYHAL_RSC_DAC ,
  CYHAL_RSC_DMA ,
  CYHAL_RSC_DW ,
  CYHAL_RSC_ETH ,
  CYHAL_RSC_GPIO ,
  CYHAL_RSC_I2S ,
  CYHAL_RSC_I3C ,
  CYHAL_RSC_KEYSCAN ,
  CYHAL_RSC_LCD ,
  CYHAL_RSC_LIN ,
  CYHAL_RSC_LPCOMP ,
  CYHAL_RSC_LPTIMER ,
  CYHAL_RSC_OPAMP ,
  CYHAL_RSC_PDM ,
  CYHAL_RSC_SMIF ,
  CYHAL_RSC_RTC ,
  CYHAL_RSC_SCB ,
  CYHAL_RSC_SDHC ,
  CYHAL_RSC_SDIODEV ,
  CYHAL_RSC_TCPWM ,
  CYHAL_RSC_TDM ,
  CYHAL_RSC_UDB ,
  CYHAL_RSC_USB ,
  CYHAL_RSC_INVALID
}
 Resource types that the hardware manager supports. More...
 
enum  cyhal_clock_block_t {
  CYHAL_CLOCK_BLOCK_PERIPHERAL_8BIT = CY_SYSCLK_DIV_8_BIT ,
  CYHAL_CLOCK_BLOCK_PERIPHERAL_16BIT = CY_SYSCLK_DIV_16_BIT ,
  CYHAL_CLOCK_BLOCK_PERIPHERAL_16_5BIT = CY_SYSCLK_DIV_16_5_BIT ,
  CYHAL_CLOCK_BLOCK_PERIPHERAL_24_5BIT = CY_SYSCLK_DIV_24_5_BIT ,
  CYHAL_CLOCK_BLOCK_IMO ,
  CYHAL_CLOCK_BLOCK_ECO ,
  CYHAL_CLOCK_BLOCK_EXT ,
  CYHAL_CLOCK_BLOCK_ALTHF ,
  CYHAL_CLOCK_BLOCK_ALTLF ,
  CYHAL_CLOCK_BLOCK_ILO ,
  CYHAL_CLOCK_BLOCK_PILO ,
  CYHAL_CLOCK_BLOCK_WCO ,
  CYHAL_CLOCK_BLOCK_MFO ,
  CYHAL_CLOCK_BLOCK_PATHMUX ,
  CYHAL_CLOCK_BLOCK_FLL ,
  CYHAL_CLOCK_BLOCK_PLL ,
  CYHAL_CLOCK_BLOCK_LF ,
  CYHAL_CLOCK_BLOCK_MF ,
  CYHAL_CLOCK_BLOCK_HF ,
  CYHAL_CLOCK_BLOCK_PUMP ,
  CYHAL_CLOCK_BLOCK_BAK ,
  CYHAL_CLOCK_BLOCK_TIMER ,
  CYHAL_CLOCK_BLOCK_ALT_SYS_TICK ,
  CYHAL_CLOCK_BLOCK_FAST ,
  CYHAL_CLOCK_BLOCK_PERI ,
  CYHAL_CLOCK_BLOCK_SLOW
}
 Enum for the different types of clocks that exist on the device. More...
 
enum  _cyhal_sdxx_data_transfer_status_t {
  _CYHAL_SDXX_NOT_RUNNING = 0x0 ,
  _CYHAL_SDXX_WAIT_CMD_COMPLETE = 0x1 ,
  _CYHAL_SDXX_WAIT_XFER_COMPLETE = 0x2 ,
  _CYHAL_SDXX_WAIT_BOTH = _CYHAL_SDXX_WAIT_CMD_COMPLETE | _CYHAL_SDXX_WAIT_XFER_COMPLETE
}
 Data transfer status on SDHC/SDIO. More...
 

Data Structure Documentation

◆ cyhal_clock_t

struct cyhal_clock_t
Data Fields
cyhal_clock_block_t block
uint8_t channel
bool reserved
const void * funcs

◆ cyhal_resource_inst_t

struct cyhal_resource_inst_t
Data Fields
cyhal_resource_t type The resource block type.
uint8_t block_num The resource block index.
uint8_t channel_num The channel number, if the resource type defines multiple channels per block instance.

Otherwise, 0

◆ cyhal_event_callback_data_t

struct cyhal_event_callback_data_t
Data Fields
cy_israddress callback
void * callback_arg

◆ _cyhal_buffer_info_t

struct _cyhal_buffer_info_t
Data Fields
union _cyhal_buffer_info_t.addr addr
uint32_t size

◆ cyhal_tcpwm_t

struct cyhal_tcpwm_t
Data Fields
bool owned_by_configurator
bool presleep_state
TCPWM_Type * base
cyhal_resource_inst_t resource
cyhal_clock_t clock
bool dedicated_clock
uint32_t clock_hz
cyhal_event_callback_data_t callback_data
uint32_t clear_intr_mask

◆ cyhal_dma_t

struct cyhal_dma_t
Data Fields
cyhal_resource_inst_t resource
_CYHAL_DMA_ALIGN union cyhal_dma_t.channel_config channel_config
_CYHAL_DMA_ALIGN union cyhal_dma_t.descriptor_config descriptor_config
_CYHAL_DMA_ALIGN union cyhal_dma_t.descriptor descriptor
uint16_t expected_bursts
uint32_t direction
uint32_t irq_cause
cyhal_event_callback_data_t callback_data
cyhal_source_t source
bool owned_by_configurator

◆ cyhal_dma_configurator_t

struct cyhal_dma_configurator_t
Data Fields
void * empty

◆ _cyhal_audioss_t

struct _cyhal_audioss_t
Data Fields
void * empty

◆ _cyhal_audioss_configurator_t

struct _cyhal_audioss_configurator_t
Data Fields
void * empty

◆ cyhal_adc_t

struct cyhal_adc_t
Data Fields
bool owned_by_configurator
SAR_Type * base
struct _cyhal_adc_channel_s * channel_config[CY_SAR_MAX_NUM_CHANNELS]
cyhal_resource_inst_t resource
cyhal_clock_t clock
bool dedicated_clock
volatile bool conversion_complete
bool stop_after_scan
uint8_t user_enabled_events
cyhal_event_callback_data_t callback_data
int32_t * async_buff_next
bool async_transfer_in_uv
size_t async_scans_remaining
bool continuous_scanning
cyhal_async_mode_t async_mode
cyhal_dma_t dma
cyhal_source_t source
int32_t * async_buff_orig

◆ cyhal_adc_configurator_t

struct cyhal_adc_configurator_t
Data Fields
void * empty

◆ cyhal_adc_channel_t

struct cyhal_adc_channel_t
Data Fields
cyhal_adc_t * adc
cyhal_gpio_t vplus
uint8_t channel_idx
cyhal_gpio_t vminus
uint32_t minimum_acquisition_ns

◆ cyhal_comp_t

struct cyhal_comp_t
Data Fields
bool owned_by_configurator
cyhal_resource_inst_t resource
union cyhal_comp_t.__unnamed14__ __unnamed__
cyhal_gpio_t pin_vin_p
cyhal_gpio_t pin_vin_m
cyhal_gpio_t pin_out
cyhal_event_callback_data_t callback_data
uint32_t irq_cause

◆ cyhal_comp_configurator_t

struct cyhal_comp_configurator_t
Data Fields
void * empty

◆ cyhal_crc_t

struct cyhal_crc_t
Data Fields
CRYPTO_Type * base
cyhal_resource_inst_t resource
uint32_t crc_width

◆ cyhal_dac_t

struct cyhal_dac_t
Data Fields
bool owned_by_configurator
CTDAC_Type * base_dac
CTBM_Type * base_opamp
cyhal_resource_inst_t resource_dac
cyhal_resource_inst_t resource_opamp
cyhal_resource_inst_t resource_aref_opamp
cyhal_gpio_t pin

◆ cyhal_dac_configurator_t

struct cyhal_dac_configurator_t
Data Fields
void * empty

◆ cyhal_opamp_t

struct cyhal_opamp_t
Data Fields
void * empty

◆ cyhal_opamp_configurator_t

struct cyhal_opamp_configurator_t
Data Fields
void * empty

◆ cyhal_nvm_t

struct cyhal_nvm_t
Data Fields
void * empty

◆ cyhal_i2c_t

struct cyhal_i2c_t
Data Fields
CySCB_Type * base
cyhal_resource_inst_t resource
cyhal_gpio_t pin_sda
cyhal_gpio_t pin_scl
cyhal_clock_t clock
bool is_clock_owned
cy_stc_scb_i2c_context_t context
cy_stc_scb_i2c_master_xfer_config_t rx_config
cy_stc_scb_i2c_master_xfer_config_t tx_config
uint32_t irq_cause
uint8_t addr_irq_cause
uint16_t pending
bool op_in_callback
_cyhal_buffer_info_t rx_slave_buff
_cyhal_buffer_info_t tx_slave_buff
cyhal_event_callback_data_t callback_data
cyhal_event_callback_data_t addr_callback_data
bool dc_configured

◆ cyhal_i2c_configurator_t

struct cyhal_i2c_configurator_t
Data Fields
const cyhal_resource_inst_t * resource
const cy_stc_scb_i2c_config_t * config
const cyhal_clock_t * clock

◆ cyhal_ezi2c_t

struct cyhal_ezi2c_t
Data Fields
CySCB_Type * base
cyhal_resource_inst_t resource
cyhal_gpio_t pin_sda
cyhal_gpio_t pin_scl
cyhal_clock_t clock
bool is_clock_owned
cy_stc_scb_ezi2c_context_t context
uint32_t irq_cause
cyhal_event_callback_data_t callback_data
bool two_addresses
bool dc_configured

◆ cyhal_ezi2c_configurator_t

struct cyhal_ezi2c_configurator_t
Data Fields
const cyhal_resource_inst_t * resource
const cy_stc_scb_ezi2c_config_t * config
const cyhal_clock_t * clock

◆ cyhal_ipc_t

struct cyhal_ipc_t
Data Fields
void * empty

◆ cyhal_keyscan_t

struct cyhal_keyscan_t
Data Fields
void * empty

◆ cyhal_keyscan_configurator_t

struct cyhal_keyscan_configurator_t
Data Fields
void * empty

◆ cyhal_lptimer_t

struct cyhal_lptimer_t
Data Fields
MCWDT_STRUCT_Type * base
cyhal_resource_inst_t resource
cyhal_event_callback_data_t callback_data
bool clear_int_mask
uint8_t isr_instruction

◆ cyhal_pdm_pcm_t

struct cyhal_pdm_pcm_t
Data Fields
bool owned_by_configurator
PDM_Type * base
cyhal_resource_inst_t resource
cyhal_gpio_t pin_data
cyhal_gpio_t pin_clk
cyhal_clock_t clock
bool is_clock_owned
uint8_t user_trigger_level
uint32_t irq_cause User requested irq, see cyhal_pdm_pcm_event_t.
cyhal_event_callback_data_t callback_data
uint8_t word_size
cyhal_dma_t dma
volatile bool stabilized
volatile bool pm_transition_ready
cyhal_syspm_callback_data_t pm_callback
void * async_buffer
size_t async_read_remaining

◆ cyhal_pdm_pcm_configurator_t

struct cyhal_pdm_pcm_configurator_t
Data Fields
const cyhal_resource_inst_t * resource
const cy_stc_pdm_pcm_config_t * config
const cyhal_clock_t * clock

◆ cyhal_pwm_t

struct cyhal_pwm_t
Data Fields
cyhal_tcpwm_t tcpwm
cyhal_gpio_t pin
cyhal_gpio_t pin_compl
bool dead_time_set

◆ cyhal_pwm_configurator_t

struct cyhal_pwm_configurator_t
Data Fields
void * empty

◆ cyhal_qspi_t

struct cyhal_qspi_t
Data Fields
SMIF_Type * base
cyhal_resource_inst_t resource
cyhal_gpio_t pin_sclk
en_hsiom_sel_t saved_sclk_hsiom
cyhal_gpio_t pin_io[8]
en_hsiom_sel_t saved_io_hsiom[8]
cyhal_gpio_t pin_ssel[SMIF_CHIP_TOP_SPI_SEL_NR]
en_hsiom_sel_t saved_ssel_hsiom[SMIF_CHIP_TOP_SPI_SEL_NR]
cy_en_smif_slave_select_t slave_select
cyhal_clock_t clock
bool is_clock_owned
uint8_t mode
cy_stc_smif_context_t context
uint32_t irq_cause
cyhal_event_callback_data_t callback_data
cyhal_syspm_callback_data_t pm_callback
bool pm_transition_pending
bool dc_configured

◆ cyhal_qspi_configurator_t

struct cyhal_qspi_configurator_t
Data Fields
const cyhal_resource_inst_t * resource
const cy_stc_smif_config_t * config
const cyhal_clock_t * clock
struct cyhal_qspi_configurator_t.gpios gpios
uint8_t irqs
uint8_t dmas

◆ cyhal_quaddec_t

struct cyhal_quaddec_t
Data Fields
cyhal_tcpwm_t tcpwm
cyhal_gpio_t phi_a
cyhal_gpio_t phi_b
cyhal_gpio_t index
uint32_t last_counter_value

◆ cyhal_quaddec_configurator_t

struct cyhal_quaddec_configurator_t
Data Fields
void * empty

◆ cyhal_trng_t

struct cyhal_trng_t
Data Fields
CRYPTO_Type * base
cyhal_resource_inst_t resource

◆ cyhal_rtc_t

struct cyhal_rtc_t
Data Fields
void * empty

◆ cyhal_rtc_configurator_t

struct cyhal_rtc_configurator_t
Data Fields
void * empty

◆ _cyhal_sdxx_t

struct _cyhal_sdxx_t
Data Fields
bool is_sdio
void * obj
SDHC_Type * base
cyhal_resource_inst_t resource
cy_stc_sd_host_context_t context
cyhal_clock_t clock
bool emmc
cy_en_sd_host_dma_type_t dma_type
uint32_t adma_descriptor_tbl[2]
_cyhal_sdxx_data_transfer_status_t data_transfer_status
cyhal_gpio_t pin_clk
cyhal_gpio_t pin_cmd
cyhal_gpio_t pin_io_vol_sel
bool low_voltage_io_set
uint32_t irq_cause
cyhal_event_callback_data_t callback_data
bool pm_transition_pending
cyhal_syspm_callback_data_t pm_callback_data
bool dc_configured
bool clock_owned

◆ cyhal_sdhc_t

struct cyhal_sdhc_t
Data Fields
_cyhal_sdxx_t sdxx
uint8_t bus_width
bool enable_led_control
uint8_t data_timeout_tout
bool data_timeout_auto_reconfig
uint32_t data_timeout_card_clocks_user
cyhal_gpio_t pin_data[8]
cyhal_gpio_t pin_card_detect
cyhal_gpio_t pin_card_pwr_en
cyhal_gpio_t pin_card_mech_write_prot
cyhal_gpio_t pin_led_ctrl
cyhal_gpio_t pin_emmc_reset
bool low_voltage_io_desired
uint32_t bus_frequency_hz
uint32_t block_source_freq_hz
struct cyhal_sdhc_t_gpio_cb card_detect_cb
bool cd_gpio_cb_enabled
uint16_t emmc_generic_cmd6_time_ms

◆ cyhal_sdhc_t::cyhal_sdhc_t_gpio_cb

struct cyhal_sdhc_t::cyhal_sdhc_t_gpio_cb
Data Fields
void * callback
void * callback_arg
void * next
cyhal_gpio_t pin

◆ cyhal_sdhc_configurator_t

struct cyhal_sdhc_configurator_t
Data Fields
const cyhal_resource_inst_t * resource
const cy_stc_sd_host_init_config_t * host_config
cy_stc_sd_host_sd_card_config_t * card_config
const cyhal_clock_t * clock
struct cyhal_sdhc_configurator_t.gpios gpios

◆ cyhal_sdio_t

struct cyhal_sdio_t
Data Fields
_cyhal_sdxx_t sdxx
bool dc_configured
bool clock_owned
cyhal_gpio_t pin_data0
cyhal_gpio_t pin_data1
cyhal_gpio_t pin_data2
cyhal_gpio_t pin_data3
uint32_t frequencyhal_hz
uint16_t block_size
uint32_t events

◆ cyhal_sdio_configurator_t

struct cyhal_sdio_configurator_t
Data Fields
const cyhal_resource_inst_t * resource
const cy_stc_sd_host_init_config_t * host_config
cy_stc_sd_host_sd_card_config_t * card_config
const cyhal_clock_t * clock
struct cyhal_sdio_configurator_t.gpios gpios

◆ cyhal_spi_t

struct cyhal_spi_t
Data Fields
CySCB_Type * base
cyhal_resource_inst_t resource
cyhal_gpio_t pin_miso
cyhal_gpio_t pin_mosi
cyhal_gpio_t pin_sclk
cyhal_gpio_t pin_ssel[4]
cy_en_scb_spi_polarity_t ssel_pol[4]
uint8_t active_ssel
cyhal_clock_t clock
cy_en_scb_spi_sclk_mode_t clk_mode
uint8_t mode
uint8_t data_bits
bool is_slave
bool alloc_clock
uint8_t oversample_value
bool msb_first
cy_stc_scb_spi_context_t context
uint32_t irq_cause
uint16_t volatile pending
bool op_in_callback
uint8_t write_fill
void * rx_buffer
uint32_t rx_buffer_size
const void * tx_buffer
uint32_t tx_buffer_size
bool is_async
cyhal_event_callback_data_t callback_data
bool dc_configured

◆ cyhal_spi_configurator_t

struct cyhal_spi_configurator_t
Data Fields
const cyhal_resource_inst_t * resource
const cy_stc_scb_spi_config_t * config
const cyhal_clock_t * clock
struct cyhal_spi_configurator_t.gpios gpios

◆ cyhal_timer_t

struct cyhal_timer_t
Data Fields
cyhal_tcpwm_t tcpwm
uint32_t default_value

◆ cyhal_timer_configurator_t

struct cyhal_timer_configurator_t
Data Fields
void * empty

◆ cyhal_uart_t

struct cyhal_uart_t
Data Fields
CySCB_Type * base
cyhal_resource_inst_t resource
cyhal_gpio_t pin_rx
cyhal_gpio_t pin_tx
cyhal_gpio_t pin_cts
cyhal_gpio_t pin_rts
bool cts_enabled
bool rts_enabled
bool is_clock_owned
cyhal_clock_t clock
cy_stc_scb_uart_context_t context
cy_stc_scb_uart_config_t config
uint32_t irq_cause
en_hsiom_sel_t saved_tx_hsiom
en_hsiom_sel_t saved_rts_hsiom
cyhal_event_callback_data_t callback_data
bool dc_configured
uint32_t baud_rate

◆ cyhal_uart_configurator_t

struct cyhal_uart_configurator_t
Data Fields
const cyhal_resource_inst_t * resource
const cy_stc_scb_uart_config_t * config
const cyhal_clock_t * clock
struct cyhal_uart_configurator_t.gpios gpios

◆ cyhal_usb_dev_t

struct cyhal_usb_dev_t
Data Fields
USBFS_Type * base
cy_stc_usbfs_dev_drv_context_t context
cyhal_resource_inst_t resource
cyhal_resource_inst_t pll_resource
cyhal_clock_t clock
bool shared_clock
cyhal_gpio_t pin_dp
cyhal_gpio_t pin_dm
cyhal_syspm_callback_data_t pm_callback
uint8_t * rd_data[CY_USBFS_DEV_DRV_NUM_EPS_MAX]
uint32_t rd_size[CY_USBFS_DEV_DRV_NUM_EPS_MAX]

◆ cyhal_wdt_t

struct cyhal_wdt_t
Data Fields
uint8_t placeholder

◆ _cyhal_buffer_info_t.addr

union _cyhal_buffer_info_t.addr
Data Fields
void * v
uint8_t * u8
uint16_t * u16
uint32_t * u32

◆ cyhal_dma_t.channel_config

union cyhal_dma_t.channel_config
Data Fields
cy_stc_dma_channel_config_t dw
cy_stc_dmac_channel_config_t dmac

◆ cyhal_dma_t.descriptor_config

union cyhal_dma_t.descriptor_config
Data Fields
cy_stc_dma_descriptor_config_t dw
cy_stc_dmac_descriptor_config_t dmac

◆ cyhal_dma_t.descriptor

union cyhal_dma_t.descriptor
Data Fields
cy_stc_dma_descriptor_t dw
cy_stc_dmac_descriptor_t dmac

◆ cyhal_comp_t.__unnamed14__

union cyhal_comp_t.__unnamed14__
Data Fields
LPCOMP_Type * base_lpcomp

◆ cyhal_qspi_configurator_t.gpios

struct cyhal_qspi_configurator_t.gpios
Data Fields
cyhal_gpio_t sclk
cyhal_gpio_t ssel[4]
cyhal_gpio_t io[8]

◆ cyhal_sdhc_configurator_t.gpios

struct cyhal_sdhc_configurator_t.gpios
Data Fields
cyhal_gpio_t clk
cyhal_gpio_t cmd
cyhal_gpio_t data[8]
cyhal_gpio_t card_detect
cyhal_gpio_t io_volt_sel
cyhal_gpio_t card_pwr_en
cyhal_gpio_t card_mech_write_prot
cyhal_gpio_t led_ctrl
cyhal_gpio_t emmc_reset

◆ cyhal_sdio_configurator_t.gpios

struct cyhal_sdio_configurator_t.gpios
Data Fields
cyhal_gpio_t clk
cyhal_gpio_t cmd
cyhal_gpio_t data[4]

◆ cyhal_spi_configurator_t.gpios

struct cyhal_spi_configurator_t.gpios
Data Fields
cyhal_gpio_t sclk
cyhal_gpio_t ssel[4]
cyhal_gpio_t mosi
cyhal_gpio_t miso

◆ cyhal_uart_configurator_t.gpios

struct cyhal_uart_configurator_t.gpios
Data Fields
cyhal_gpio_t pin_tx
cyhal_gpio_t pin_rts
cyhal_gpio_t pin_cts

Macro Definition Documentation

◆ CYHAL_ISR_PRIORITY_DEFAULT

#define CYHAL_ISR_PRIORITY_DEFAULT   (3)

Priority that is applied by default to all drivers when initialized.

Priorities can be overridden on each driver as part of enabling events.

Typedef Documentation

◆ cyhal_i2s_t

I2S object.

Application code should not rely on the specific contents of this struct. They are considered an implementation detail which is subject to change between platforms and/or HAL releases.

◆ cyhal_i2s_configurator_t

I2S configurator struct.

This struct allows a configurator to provide block configuration information to the HAL. Because configurator-generated configurations are platform specific, the contents of this struct is subject to change between platforms and/or HAL releases.

◆ cyhal_tdm_t

TDM object.

Application code should not rely on the specific contents of this struct. They are considered an implementation detail which is subject to change between platforms and/or HAL releases.

◆ cyhal_tdm_configurator_t

TDM configurator struct.

This struct allows a configurator to provide block configuration information to the HAL. Because configurator-generated configurations are platform specific, the contents of this struct is subject to change between platforms and/or HAL releases.

Enumeration Type Documentation

◆ cyhal_resource_t

Resource types that the hardware manager supports.

Enumerator
CYHAL_RSC_ADC 

Analog to digital converter

CYHAL_RSC_ADCMIC 

Analog to digital converter with Analog Mic support

CYHAL_RSC_BLESS 

Bluetooth communications block

CYHAL_RSC_CAN 

CAN communication block

CYHAL_RSC_CLKPATH 

Clock Path. DEPRECATED.

CYHAL_RSC_CLOCK 

Clock

CYHAL_RSC_CRYPTO 

Crypto hardware accelerator

CYHAL_RSC_DAC 

Digital to analog converter

CYHAL_RSC_DMA 

DMA controller

CYHAL_RSC_DW 

Datawire DMA controller

CYHAL_RSC_ETH 

Ethernet communications block

CYHAL_RSC_GPIO 

General purpose I/O pin

CYHAL_RSC_I2S 

I2S communications block

CYHAL_RSC_I3C 

I3C communications block

CYHAL_RSC_KEYSCAN 

KeyScan block

CYHAL_RSC_LCD 

Segment LCD controller

CYHAL_RSC_LIN 

LIN communications block

CYHAL_RSC_LPCOMP 

Low power comparator

CYHAL_RSC_LPTIMER 

Low power timer

CYHAL_RSC_OPAMP 

Opamp

CYHAL_RSC_PDM 

PCM/PDM communications block

CYHAL_RSC_SMIF 

Quad-SPI communications block

CYHAL_RSC_RTC 

Real time clock

CYHAL_RSC_SCB 

Serial Communications Block

CYHAL_RSC_SDHC 

SD Host Controller

CYHAL_RSC_SDIODEV 

SDIO Device Block

CYHAL_RSC_TCPWM 

Timer/Counter/PWM block

CYHAL_RSC_TDM 

TDM block

CYHAL_RSC_UDB 

UDB Array

CYHAL_RSC_USB 

USB communication block

CYHAL_RSC_INVALID 

Placeholder for invalid type

◆ cyhal_clock_block_t

Enum for the different types of clocks that exist on the device.

Enumerator
CYHAL_CLOCK_BLOCK_PERIPHERAL_8BIT 

8bit Peripheral Divider

CYHAL_CLOCK_BLOCK_PERIPHERAL_16BIT 

16bit Peripheral Divider

CYHAL_CLOCK_BLOCK_PERIPHERAL_16_5BIT 

16.5bit Peripheral Divider

CYHAL_CLOCK_BLOCK_PERIPHERAL_24_5BIT 

24.5bit Peripheral Divider

CYHAL_CLOCK_BLOCK_IMO 

Internal Main Oscillator Input Clock

CYHAL_CLOCK_BLOCK_ECO 

External Crystal Oscillator Input Clock

CYHAL_CLOCK_BLOCK_EXT 

External Input Clock

CYHAL_CLOCK_BLOCK_ALTHF 

Alternate High Frequency Input Clock

CYHAL_CLOCK_BLOCK_ALTLF 

Alternate Low Frequency Input Clock

CYHAL_CLOCK_BLOCK_ILO 

Internal Low Speed Oscillator Input Clock

CYHAL_CLOCK_BLOCK_PILO 

Precision ILO Input Clock

CYHAL_CLOCK_BLOCK_WCO 

Watch Crystal Oscillator Input Clock

CYHAL_CLOCK_BLOCK_MFO 

Medium Frequency Oscillator Clock

CYHAL_CLOCK_BLOCK_PATHMUX 

Path selection mux for input to FLL/PLLs

CYHAL_CLOCK_BLOCK_FLL 

Frequency-Locked Loop Clock

CYHAL_CLOCK_BLOCK_PLL 

Phase-Locked Loop Clock

CYHAL_CLOCK_BLOCK_LF 

Low Frequency Clock

CYHAL_CLOCK_BLOCK_MF 

Medium Frequency Clock

CYHAL_CLOCK_BLOCK_HF 

High Frequency Clock

CYHAL_CLOCK_BLOCK_PUMP 

Analog Pump Clock

CYHAL_CLOCK_BLOCK_BAK 

Backup Power Domain Clock

CYHAL_CLOCK_BLOCK_TIMER 

Timer Clock

CYHAL_CLOCK_BLOCK_ALT_SYS_TICK 

Alternative SysTick Clock

CYHAL_CLOCK_BLOCK_FAST 

Fast Clock for CM4

CYHAL_CLOCK_BLOCK_PERI 

Peripheral Clock

CYHAL_CLOCK_BLOCK_SLOW 

Slow Clock for CM0+

◆ _cyhal_sdxx_data_transfer_status_t

Data transfer status on SDHC/SDIO.

Enumerator
_CYHAL_SDXX_NOT_RUNNING 

No data transfer in progress.

_CYHAL_SDXX_WAIT_CMD_COMPLETE 

Waiting for a command to complete.

_CYHAL_SDXX_WAIT_XFER_COMPLETE 

Waiting for a transfer to complete.

_CYHAL_SDXX_WAIT_BOTH 

Waiting for completion of both a command and a transfer.