Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 Nuvoton Technology Corporation.
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #include <stdint.h>
8 :
9 : #ifndef ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_NUMAKER_H_
10 : #define ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_NUMAKER_H_
11 :
12 : /**
13 : * @brief Enable/disable oscillators or other clocks
14 : */
15 1 : #define NUMAKER_SCC_CLKSW_UNTOUCHED 0
16 0 : #define NUMAKER_SCC_CLKSW_ENABLE 1
17 0 : #define NUMAKER_SCC_CLKSW_DISABLE 2
18 :
19 : /**
20 : * @brief SCC subsystem ID
21 : */
22 1 : #define NUMAKER_SCC_SUBSYS_ID_PCC 1
23 :
24 0 : struct numaker_scc_subsys {
25 0 : uint32_t subsys_id; /* SCC subsystem ID */
26 :
27 : /* Peripheral clock control configuration structure
28 : * clk_modidx is same as u32ModuleIdx in BSP CLK_SetModuleClock().
29 : * clk_src is same as u32ClkSrc in BSP CLK_SetModuleClock().
30 : * clk_div is same as u32ClkDiv in BSP CLK_SetModuleClock().
31 : */
32 : union {
33 : struct {
34 0 : uint32_t clk_modidx;
35 0 : uint32_t clk_src;
36 0 : uint32_t clk_div;
37 0 : } pcc;
38 0 : };
39 : };
40 :
41 : #endif /* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_NUMAKER_H_ */
|