Line data Source code
1 0 : /* 2 : * Copyright (c) 2023 Renesas Electronics Corporation 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : #ifndef ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_SMARTBOND_CLOCK_CONTROL_H_ 8 : #define ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_SMARTBOND_CLOCK_CONTROL_H_ 9 : 10 : #include <zephyr/device.h> 11 : #include <zephyr/drivers/clock_control.h> 12 : 13 : #ifdef __cplusplus 14 : extern "C" { 15 : #endif 16 : 17 : /** @brief Smartbond clocks 18 : * 19 : * Enum oscillators and clocks. 20 : */ 21 0 : enum smartbond_clock { 22 : /* Not a clock, used for error case only */ 23 : SMARTBOND_CLK_NONE, 24 : SMARTBOND_CLK_RC32K, 25 : SMARTBOND_CLK_RCX, 26 : SMARTBOND_CLK_XTAL32K, 27 : SMARTBOND_CLK_RC32M, 28 : SMARTBOND_CLK_XTAL32M, 29 : SMARTBOND_CLK_PLL96M, 30 : SMARTBOND_CLK_USB, 31 : SMARTBOND_CLK_DIVN_32M, 32 : SMARTBOND_CLK_HCLK, 33 : SMARTBOND_CLK_LP_CLK, 34 : SMARTBOND_CLK_SYS_CLK, 35 : }; 36 : 37 : /** @brief Selects system clock 38 : * 39 : * @param sys_clk system clock to switch to. 40 : * 41 : * @return 0 on success 42 : */ 43 : int z_smartbond_select_sys_clk(enum smartbond_clock sys_clk); 44 : 45 : /** @brief Selects low power clock 46 : * 47 : * @param lp_clk low power clock to switch to. 48 : * 49 : * @return 0 on success 50 : */ 51 : int z_smartbond_select_lp_clk(enum smartbond_clock lp_clk); 52 : 53 : #ifdef __cplusplus 54 : } 55 : #endif 56 : 57 : #endif /* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_SMARTBOND_CLOCK_CONTROL_H_ */