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_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_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_flash_t |
Flash 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_lptimer_t |
LPTIMER object. More... | |
struct | cyhal_opamp_t |
OPAMP object. More... | |
struct | cyhal_opamp_configurator_t |
Opamp configurator struct. More... | |
struct | cyhal_pwm_t |
PWM object. More... | |
struct | cyhal_pwm_configurator_t |
PWM configurator struct. More... | |
struct | cyhal_quaddec_t |
Quadrature Decoder object. More... | |
struct | cyhal_quaddec_configurator_t |
Quadrature Decoder configurator struct. More... | |
struct | cyhal_rtc_t |
RTC object. More... | |
struct | cyhal_spi_t |
SPI object. More... | |
struct | cyhal_spi_configurator_t |
SPI configurator struct. More... | |
struct | cyhal_spi_configurator_t.gpios |
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_uart_configurator_t.gpios |
struct | cyhal_wdt_t |
WDT object. More... | |
struct | cyhal_crc_t |
CRC object. More... | |
struct | cyhal_trng_t |
RNG object. 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... | |
Macros | |
#define | CYHAL_API_VERSION (2) |
Macro specifying the major version number of the HAL API. More... | |
#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 void | cyhal_rtc_configurator_t |
RTC configurator struct. More... | |
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_CAN, CYHAL_RSC_CLOCK, CYHAL_RSC_CRYPTO, CYHAL_RSC_DMA, CYHAL_RSC_GPIO, CYHAL_RSC_I2S, CYHAL_RSC_LCD, CYHAL_RSC_LPCOMP, CYHAL_RSC_LPTIMER, CYHAL_RSC_OPAMP, CYHAL_RSC_SCB, CYHAL_RSC_TCPWM, CYHAL_RSC_USB, CYHAL_RSC_USBPD, 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_ILO, CYHAL_CLOCK_BLOCK_WCO, CYHAL_CLOCK_BLOCK_WDCSEL, CYHAL_CLOCK_BLOCK_PLLSEL, CYHAL_CLOCK_BLOCK_PLL, CYHAL_CLOCK_BLOCK_LF, CYHAL_CLOCK_BLOCK_HF, CYHAL_CLOCK_BLOCK_PUMP, CYHAL_CLOCK_BLOCK_SYS } |
Enum for the different types of clocks that exist on the device. More... | |
#define | CYHAL_DRIVER_AVAILABLE_CLOCK (1) |
Macro specifying whether the Clock driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_COMP ((_CYHAL_DRIVER_AVAILABLE_COMP_LP) || (_CYHAL_DRIVER_AVAILABLE_COMP_CTB)) |
Macro specifying whether the COMP driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_CRC (_CYHAL_DRIVER_AVAILABLE_CRYPTO && (CRYPTO_CRC)) |
Macro specifying whether the CRC driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_DAC (0) |
Macro specifying whether the DAC driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_DMA (_CYHAL_DRIVER_AVAILABLE_DMA_DMAC) |
Macro specifying whether the DMA driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_EZI2C (_CYHAL_DRIVER_AVAILABLE_SCB) |
Macro specifying whether the EzI2C driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_FLASH (1) |
Macro specifying whether the Flash driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_GPIO (1) |
Macro specifying whether the GPIO driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_HWMGR (1) |
Macro specifying whether the HwMgr driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_I2C (_CYHAL_DRIVER_AVAILABLE_SCB) |
Macro specifying whether the I2C driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_I2S (((CY_IP_MXAUDIOSS_INSTANCES) > 0) && AUDIOSS_I2S_I2S) |
Macro specifying whether the I2S driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_I2S_TX (CYHAL_DRIVER_AVAILABLE_I2S) |
Macro specifying whether the TX functionality is available on the I2S driver for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_I2S_RX (CYHAL_DRIVER_AVAILABLE_I2S && _CYHAL_DRIVER_AVAILABLE_AUDIOSS_RX) |
Macro specifying whether the RX functionality is available on the I2S driver for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_INTERCONNECT ((CY_IP_M0S8PERI_TR_INSTANCES) > 0) |
Macro specifying whether the Interconnect driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_KEYSCAN (0) |
Macro specifying whether the KeyScan driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_LPTIMER (((CY_IP_M0S8WCO_INSTANCES) > 0) && (WCO_WDT_EN)) |
Macro specifying whether the LPTimer driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_OPAMP ((CY_IP_M0S8PASS4A_CTB_INSTANCES) > 0) |
Macro specifying whether the OpAmp driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_PDMPCM (0) /* Not yet supported ((CY_IP_MXAUDIOSS_INSTANCES) > 0) //AUDIOSS[x]_PDM */ |
Macro specifying whether the PDM/PCM driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_PWM (_CYHAL_DRIVER_AVAILABLE_TCPWM) |
Macro specifying whether the PWM driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_QSPI (0) |
Macro specifying whether the QSPI driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_QUADDEC (_CYHAL_DRIVER_AVAILABLE_TCPWM) |
Macro specifying whether the QuadDec driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_RTC (0) |
Macro specifying whether the RTC driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_SDHC (0) |
Macro specifying whether the SDHC driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_SDIO (0) |
Macro specifying whether the SDIO driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_SPI (_CYHAL_DRIVER_AVAILABLE_SCB) |
Macro specifying whether the SPI driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_SYSPM (1) |
Macro specifying whether the SysPM driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_SYSTEM (1) |
Macro specifying whether the System driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_TDM (CYHAL_DRIVER_AVAILABLE_I2S) |
Macro specifying whether the TDM driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_TDM_TX (CYHAL_DRIVER_AVAILABLE_TDM) |
Macro specifying whether the TX functionality is available on the TDM driver for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_TDM_RX (CYHAL_DRIVER_AVAILABLE_TDM && _CYHAL_DRIVER_AVAILABLE_AUDIOSS_RX) |
Macro specifying whether the RX functionality is available on the TDM driver for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_TIMER (_CYHAL_DRIVER_AVAILABLE_TCPWM) |
Macro specifying whether the Timer driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_TRNG ((_CYHAL_DRIVER_AVAILABLE_CRYPTO && (CRYPTO_TR)) /*|| (CRYPTOLITE_TRNG_PRESENT)) */) |
Macro specifying whether the TRNG driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_UART (_CYHAL_DRIVER_AVAILABLE_SCB) |
Macro specifying whether the UART driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_USB_DEV (0) |
Macro specifying whether the USB Dev driver is available for the current device. | |
#define | CYHAL_DRIVER_AVAILABLE_WDT (1) |
Macro specifying whether the WDT driver is available for the current device. | |
struct cyhal_clock_t |
Data Fields | ||
---|---|---|
cyhal_clock_block_t | block | The resource block type. |
uint8_t | channel | The resource instance number. |
bool | reserved | Whether the clock is 'owned'. |
const void * | funcs |
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 |
struct cyhal_tcpwm_t |
Data Fields | ||
---|---|---|
bool | owned_by_configurator | |
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 |
struct cyhal_dma_t |
Data Fields | ||
---|---|---|
cyhal_resource_inst_t | resource | |
cy_stc_dmac_channel_config_t | channel_config | |
cy_stc_dmac_descriptor_config_t | descriptor_config | |
cy_en_dmac_descriptor_t | 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 |
struct cyhal_dma_configurator_t |
Data Fields | ||
---|---|---|
const cyhal_resource_inst_t * | resource | |
cy_stc_dmac_channel_config_t const * | channel_config | |
cy_stc_dmac_descriptor_config_t const * | descriptor_config |
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 | |
uint16_t | pending | |
cyhal_event_callback_data_t | callback_data | |
bool | dc_configured |
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 |
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 |
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 |
struct cyhal_lptimer_t |
Data Fields | ||
---|---|---|
WCO_Type * | base | |
cyhal_resource_inst_t | resource | |
cyhal_event_callback_data_t | callback_data | |
bool | clear_int_mask | |
bool | isr_call_user_cb |
struct cyhal_pwm_t |
Data Fields | ||
---|---|---|
cyhal_tcpwm_t | tcpwm | |
cyhal_gpio_t | pin | |
cyhal_gpio_t | pin_compl |
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 |
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 | |
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 |
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 |
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 |
struct cyhal_timer_t |
Data Fields | ||
---|---|---|
cyhal_tcpwm_t | tcpwm | |
uint32_t | default_value |
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 |
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 |
struct cyhal_uart_configurator_t.gpios |
Data Fields | ||
---|---|---|
cyhal_gpio_t | pin_tx | |
cyhal_gpio_t | pin_rts | |
cyhal_gpio_t | pin_cts |
#define CYHAL_API_VERSION (2) |
Macro specifying the major version number of the HAL API.
Since there are multiple HAL library implementations, this is not necessarily the same as the major version number of the library. It is instead intended as a single version number that can be used across implementation libraries to know what signatures to use in the case an API is updated in the future. Once an API is available, its API will remain consistant across libraries sharing the same version here.
#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 void cyhal_rtc_configurator_t |
RTC configurator struct.
CAT 2 does not support the RTC, so no config structure.
typedef _cyhal_audioss_t 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.
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.
typedef _cyhal_audioss_t 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.
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.
enum cyhal_resource_t |
Resource types that the hardware manager supports.
enum cyhal_clock_block_t |
Enum for the different types of clocks that exist on the device.