| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #ifndef _CLOCK_H
- #define _CLOCK_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define MAX_CLK_SOURCE_NUM 4
- #define MAX_CLK_ENABLE_BITS 4
- typedef enum {
- CLK_XTAL32K = 0,
- CLK_XTAL24M,
- CLK_240MHZ,
- CLK_12MHZ,
- CLK_6MHZ,
- CLK_CPUPLL,
- CLK_SYSPLL,
- CLK_AUDPLL,
- CLK_DDR,
- CLK_CPU,
- CLK_H2X,
- CLK_AHB,
- CLK_APB,
- CLK_RTC,
- CLK_SPI0,
- CLK_SPI1,
- CLK_SDMMC0,
- CLK_LCD,
- CLK_UART1,
- CLK_UART2,
- CLK_UART3,
- CLK_TIMER,
- CLK_JPG,
- CLK_PWM,
- CLK_CAN0,
- CLK_CAN1,
- CLK_ADC,
- }eClockID;
- typedef enum {
- FIXED_CLOCK = 0,
- FIXED_FACTOR_CLOCK,
- PLL_CLOCK,
- SYS_CLOCK,
- }eClockType;
- typedef enum {
- DIVMODE_NOZERO = 0, /* div = div ? div : 1 */
- DIVMODE_PLUSONE, /* div = div + 1 */
- DIVMODE_DOUBLE, /* div = div * 2 */
- DIVMODE_EXPONENT, /* div = 1 << div */
- DIVMODE_PONEDOUBLE, /* div = (div + 1) * 2 */
- }eDivMode;
- void vClkInit(void);
- uint32_t ulClkGetRate(uint32_t clkid);
- void vClkSetRate(uint32_t clkid, uint32_t freq);
- #ifdef __cplusplus
- }
- #endif
- #endif
|