xref: /rk3399_ARM-atf/drivers/ti/clk/include/ti_clk_soc_hfosc0.h (revision a28114d66a6d43db4accef5fd5d6dab6c059e584)
1 /*
2  * Copyright (c) 2025-2026 Texas Instruments Incorporated - https://www.ti.com
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef TI_CLK_SOC_HFOSC0_H
8 #define TI_CLK_SOC_HFOSC0_H
9 
10 #include <ti_clk.h>
11 
12 /*
13  * High Frequency Oscillator (HFOSC0) driver data.
14  *
15  * Holds board-specific register configuration used by the HFOSC0 driver
16  * to read and validate the oscillator frequency.
17  */
18 struct ti_clk_data_hfosc0 {
19 	/* Base driver data */
20 	struct ti_clk_drv_data data;
21 	/* Base address of WKUP_CTRL MMR containing HFOSC0 configuration */
22 	uint32_t wkup_ctrl_mmr_base;
23 	/* Offset to DEVSTAT register from wkup_ctrl_mmr_base */
24 	uint32_t devstat_offset;
25 	/* Bit mask for extracting frequency selection from DEVSTAT */
26 	uint32_t devstat_freq_mask;
27 	/* Supported frequencies in Hz, terminated with 0 */
28 	const uint32_t *supported_freqs;
29 };
30 
31 extern const struct ti_clk_drv ti_clk_drv_soc_hfosc0;
32 
33 #endif /* TI_CLK_SOC_HFOSC0_H */
34