Zephyr Project API 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
clock_control_ifx_cat1.h File Reference
#include <cy_sysclk.h>
#include <cy_systick.h>

Go to the source code of this file.

Data Structures

struct  ifx_cat1_clock
 
struct  ifx_cat1_resource_inst
 

Macros

#define IFX_CAT1_PERIPHERAL_GROUP_GET_DIVIDER_TYPE(block)   ((cy_en_divider_types_t)((block) & 0x03))
 
#define IFX_CAT1_PERIPHERAL_GROUP_ADJUST(group, div)   (((group) << 2) | (div))
 
#define IFX_CAT1_CLOCK_BLOCK_PERI_GROUP(gr)
 24.5bit Peripheral Divider Group
 

Enumerations

enum  ifx_cat1_resource {
  IFX_CAT1_RSC_ADC , IFX_CAT1_RSC_ADCMIC , IFX_CAT1_RSC_BLESS , IFX_CAT1_RSC_CAN ,
  IFX_CAT1_RSC_CLKPATH , IFX_CAT1_RSC_CLOCK , IFX_CAT1_RSC_CRYPTO , IFX_CAT1_RSC_DAC ,
  IFX_CAT1_RSC_DMA , IFX_CAT1_RSC_DW , IFX_CAT1_RSC_ETH , IFX_CAT1_RSC_GPIO ,
  IFX_CAT1_RSC_I2S , IFX_CAT1_RSC_I3C , IFX_CAT1_RSC_KEYSCAN , IFX_CAT1_RSC_LCD ,
  IFX_CAT1_RSC_LIN , IFX_CAT1_RSC_LPCOMP , IFX_CAT1_RSC_LPTIMER , IFX_CAT1_RSC_OPAMP ,
  IFX_CAT1_RSC_PDM , IFX_CAT1_RSC_PTC , IFX_CAT1_RSC_SMIF , IFX_CAT1_RSC_RTC ,
  IFX_CAT1_RSC_SCB , IFX_CAT1_RSC_SDHC , IFX_CAT1_RSC_SDIODEV , IFX_CAT1_RSC_TCPWM ,
  IFX_CAT1_RSC_TDM , IFX_CAT1_RSC_UDB , IFX_CAT1_RSC_USB , IFX_CAT1_RSC_INVALID
}
 
enum  ifx_cat1_clock_block
 

Functions

int ifx_cat1_clock_control_get_frequency (uint32_t dt_ord, uint32_t *frequency)
 
en_clk_dst_t ifx_cat1_scb_get_clock_index (uint32_t block_num)
 
static cy_rslt_t ifx_cat1_utils_peri_pclk_enable_divider (en_clk_dst_t clk_dest, const struct ifx_cat1_clock *_clock)
 
static cy_rslt_t ifx_cat1_utils_peri_pclk_set_divider (en_clk_dst_t clk_dest, const struct ifx_cat1_clock *_clock, uint32_t div)
 
static cy_rslt_t ifx_cat1_utils_peri_pclk_set_frac_divider (en_clk_dst_t clk_dest, const struct ifx_cat1_clock *_clock, uint32_t div_int, uint32_t div_frac)
 
static cy_rslt_t ifx_cat1_utils_peri_pclk_assign_divider (en_clk_dst_t clk_dest, const struct ifx_cat1_clock *_clock)
 

Macro Definition Documentation

◆ IFX_CAT1_CLOCK_BLOCK_PERI_GROUP

#define IFX_CAT1_CLOCK_BLOCK_PERI_GROUP (   gr)
Value:
IFX_CAT1_CLOCK_BLOCK_PERIPHERAL##gr##_8BIT = IFX_CAT1_PERIPHERAL_GROUP_ADJUST( \
IFX_CAT1_CLOCK_BLOCK_PERIPHERAL##gr##_16BIT = IFX_CAT1_PERIPHERAL_GROUP_ADJUST( \
IFX_CAT1_CLOCK_BLOCK_PERIPHERAL##gr##_16_5BIT = IFX_CAT1_PERIPHERAL_GROUP_ADJUST( \
(gr), CY_SYSCLK_DIV_16_5_BIT), \
IFX_CAT1_CLOCK_BLOCK_PERIPHERAL##gr##_24_5BIT = IFX_CAT1_PERIPHERAL_GROUP_ADJUST( \
(gr), CY_SYSCLK_DIV_24_5_BIT)
#define IFX_CAT1_PERIPHERAL_GROUP_ADJUST(group, div)
Definition clock_control_ifx_cat1.h:14
#define CY_SYSCLK_DIV_16_BIT
Definition pwm_ifx_cat1.h:12
#define CY_SYSCLK_DIV_8_BIT
Divider Type.
Definition pwm_ifx_cat1.h:11

24.5bit Peripheral Divider Group

◆ IFX_CAT1_PERIPHERAL_GROUP_ADJUST

#define IFX_CAT1_PERIPHERAL_GROUP_ADJUST (   group,
  div 
)    (((group) << 2) | (div))

◆ IFX_CAT1_PERIPHERAL_GROUP_GET_DIVIDER_TYPE

#define IFX_CAT1_PERIPHERAL_GROUP_GET_DIVIDER_TYPE (   block)    ((cy_en_divider_types_t)((block) & 0x03))

Enumeration Type Documentation

◆ ifx_cat1_clock_block

◆ ifx_cat1_resource

Enumerator
IFX_CAT1_RSC_ADC 

Analog to digital converter.

IFX_CAT1_RSC_ADCMIC 

Analog to digital converter with Analog Mic support.

IFX_CAT1_RSC_BLESS 

Bluetooth communications block.

IFX_CAT1_RSC_CAN 

CAN communication block.

IFX_CAT1_RSC_CLKPATH 

Clock Path.

DEPRECATED.

IFX_CAT1_RSC_CLOCK 

Clock.

IFX_CAT1_RSC_CRYPTO 

Crypto hardware accelerator.

IFX_CAT1_RSC_DAC 

Digital to analog converter.

IFX_CAT1_RSC_DMA 

DMA controller.

IFX_CAT1_RSC_DW 

Datawire DMA controller.

IFX_CAT1_RSC_ETH 

Ethernet communications block.

IFX_CAT1_RSC_GPIO 

General purpose I/O pin.

IFX_CAT1_RSC_I2S 

I2S communications block.

IFX_CAT1_RSC_I3C 

I3C communications block.

IFX_CAT1_RSC_KEYSCAN 

KeyScan block.

IFX_CAT1_RSC_LCD 

Segment LCD controller.

IFX_CAT1_RSC_LIN 

LIN communications block.

IFX_CAT1_RSC_LPCOMP 

Low power comparator.

IFX_CAT1_RSC_LPTIMER 

Low power timer.

IFX_CAT1_RSC_OPAMP 

Opamp.

IFX_CAT1_RSC_PDM 

PCM/PDM communications block.

IFX_CAT1_RSC_PTC 

Programmable Threshold comparator.

IFX_CAT1_RSC_SMIF 

Quad-SPI communications block.

IFX_CAT1_RSC_RTC 

Real time clock.

IFX_CAT1_RSC_SCB 

Serial Communications Block.

IFX_CAT1_RSC_SDHC 

SD Host Controller.

IFX_CAT1_RSC_SDIODEV 

SDIO Device Block.

IFX_CAT1_RSC_TCPWM 

Timer/Counter/PWM block.

IFX_CAT1_RSC_TDM 

TDM block.

IFX_CAT1_RSC_UDB 

UDB Array.

IFX_CAT1_RSC_USB 

USB communication block.

IFX_CAT1_RSC_INVALID 

Placeholder for invalid type.

Function Documentation

◆ ifx_cat1_clock_control_get_frequency()

int ifx_cat1_clock_control_get_frequency ( uint32_t  dt_ord,
uint32_t frequency 
)

◆ ifx_cat1_scb_get_clock_index()

en_clk_dst_t ifx_cat1_scb_get_clock_index ( uint32_t  block_num)

◆ ifx_cat1_utils_peri_pclk_assign_divider()

static cy_rslt_t ifx_cat1_utils_peri_pclk_assign_divider ( en_clk_dst_t  clk_dest,
const struct ifx_cat1_clock _clock 
)
inlinestatic

◆ ifx_cat1_utils_peri_pclk_enable_divider()

static cy_rslt_t ifx_cat1_utils_peri_pclk_enable_divider ( en_clk_dst_t  clk_dest,
const struct ifx_cat1_clock _clock 
)
inlinestatic

◆ ifx_cat1_utils_peri_pclk_set_divider()

static cy_rslt_t ifx_cat1_utils_peri_pclk_set_divider ( en_clk_dst_t  clk_dest,
const struct ifx_cat1_clock _clock,
uint32_t  div 
)
inlinestatic

◆ ifx_cat1_utils_peri_pclk_set_frac_divider()

static cy_rslt_t ifx_cat1_utils_peri_pclk_set_frac_divider ( en_clk_dst_t  clk_dest,
const struct ifx_cat1_clock _clock,
uint32_t  div_int,
uint32_t  div_frac 
)
inlinestatic