1 #include "bflb_clock.h" 2 #if defined(BL702) 3 #include "bl702_clock.h" 4 #elif defined(BL702L) 5 #include "bl702l_clock.h" 6 #elif defined(BL606P) 7 #include "bl606p_clock.h" 8 #elif defined(BL808) 9 #include "bl808_clock.h" 10 #elif defined(BL616) 11 #include "bl616_clock.h" 12 #elif defined(WB03) 13 #include "wb03_clock.h" 14 #elif defined(BL628) 15 #include "bl628_clock.h" 16 #endif 17 18 /****************************************************************************/ /** 19 * @brief get system clock 20 * 21 * @param type: BFLB_SYSTEM_XXX 22 * 23 * @return NONE 24 * 25 *******************************************************************************/ bflb_clk_get_system_clock(uint8_t type)26uint32_t ATTR_CLOCK_SECTION bflb_clk_get_system_clock(uint8_t type) 27 { 28 switch (type) { 29 case BFLB_SYSTEM_ROOT_CLOCK: 30 return bflb_clock_get_root(); 31 case BFLB_SYSTEM_CPU_CLK: 32 return bflb_clock_get_fclk(); 33 case BFLB_SYSTEM_PBCLK: 34 return bflb_clock_get_bclk(); 35 case BFLB_SYSTEM_XCLK: 36 return bflb_clock_get_xclk(); 37 case BFLB_SYSTEM_32K_CLK: 38 return bflb_clock_get_f32k(); 39 default: 40 return 0; 41 } 42 return 0; 43 } 44 45 /****************************************************************************/ /** 46 * @brief get peripheral clock 47 * 48 * @param type: BFLB_DEVICE_TYPE_XXX 49 * @param idx: peripheral index 50 * 51 * @return NONE 52 * 53 *******************************************************************************/ bflb_clk_get_peripheral_clock(uint8_t type,uint8_t idx)54uint32_t ATTR_CLOCK_SECTION bflb_clk_get_peripheral_clock(uint8_t type, uint8_t idx) 55 { 56 switch (type) { 57 case BFLB_DEVICE_TYPE_ADC: 58 return bflb_clock_get_adc(); 59 case BFLB_DEVICE_TYPE_DAC: 60 return bflb_clock_get_dac(); 61 case BFLB_DEVICE_TYPE_UART: 62 return bflb_clock_get_uart(); 63 case BFLB_DEVICE_TYPE_SPI: 64 return bflb_clock_get_spi(); 65 case BFLB_DEVICE_TYPE_I2C: 66 return bflb_clock_get_i2c(); 67 case BFLB_DEVICE_TYPE_PWM: 68 return bflb_clock_get_pwm(); 69 case BFLB_DEVICE_TYPE_TIMER: 70 return bflb_clock_get_timer(idx); 71 case BFLB_DEVICE_TYPE_WDT: 72 return bflb_clock_get_wdt(); 73 case BFLB_DEVICE_TYPE_FLASH: 74 return bflb_clock_get_flash(); 75 case BFLB_DEVICE_TYPE_IR: 76 return bflb_clock_get_ir(); 77 case BFLB_DEVICE_TYPE_PKA: 78 return bflb_clock_get_pka(); 79 case BFLB_DEVICE_TYPE_SDH: 80 return bflb_clock_get_sdh(); 81 case BFLB_DEVICE_TYPE_CAMERA: 82 return bflb_clock_get_cam(); 83 case BFLB_DEVICE_TYPE_DBI: 84 return bflb_clock_get_dbi(); 85 case BFLB_DEVICE_TYPE_I2S: 86 return bflb_clock_get_i2s(); 87 default: 88 return 0; 89 } 90 return 0; 91 } 92