Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
alif-clocks-common.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Alif Semiconductor
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ALIF_CLOCKS_COMMON_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ALIF_CLOCKS_COMMON_H_
9
23
28
30#define ALIF_CLOCK_MODULE_MASK 0x7U
32#define ALIF_CLOCK_MODULE_SHIFT 0U
34#define ALIF_CLOCK_REG_MASK 0xFFU
36#define ALIF_CLOCK_REG_SHIFT 3U
38#define ALIF_CLOCK_EN_BIT_POS_MASK 0x1FU
40#define ALIF_CLOCK_EN_BIT_POS_SHIFT 11U
42#define ALIF_CLOCK_EN_MASK_SHIFT 16U
44#define ALIF_CLOCK_SRC_VAL_MASK 0x3U
46#define ALIF_CLOCK_SRC_VAL_SHIFT 17U
48#define ALIF_CLOCK_SRC_FIELD_WIDTH_MASK 0x3U
50#define ALIF_CLOCK_SRC_FIELD_WIDTH_SHIFT 19U
52#define ALIF_CLOCK_SRC_FIELD_POS_MASK 0x1FU
54#define ALIF_CLOCK_SRC_FIELD_POS_SHIFT 21U
56#define ALIF_CLOCK_PARENT_CLK_MASK 0x1FU
58#define ALIF_CLOCK_PARENT_CLK_SHIFT 26U
59
61
88#define ALIF_CLK_CFG(module, reg, en_bit, en_mask, src_val, \
89 src_field_width, src_field_pos, parent_clk) \
90 ((((ALIF_##module##_MODULE) & ALIF_CLOCK_MODULE_MASK) << ALIF_CLOCK_MODULE_SHIFT) | \
91 (((ALIF_##reg##_REG) & ALIF_CLOCK_REG_MASK) << ALIF_CLOCK_REG_SHIFT) | \
92 (((en_bit) & ALIF_CLOCK_EN_BIT_POS_MASK) << ALIF_CLOCK_EN_BIT_POS_SHIFT) | \
93 (((en_mask) & 0x1U) << ALIF_CLOCK_EN_MASK_SHIFT) | \
94 (((src_val) & ALIF_CLOCK_SRC_VAL_MASK) << ALIF_CLOCK_SRC_VAL_SHIFT) | \
95 (((src_field_width) & ALIF_CLOCK_SRC_FIELD_WIDTH_MASK) << \
96 ALIF_CLOCK_SRC_FIELD_WIDTH_SHIFT) | \
97 (((src_field_pos) & ALIF_CLOCK_SRC_FIELD_POS_MASK) << ALIF_CLOCK_SRC_FIELD_POS_SHIFT) | \
98 (((parent_clk) & ALIF_CLOCK_PARENT_CLK_MASK) << ALIF_CLOCK_PARENT_CLK_SHIFT))
99
104
106#define ALIF_PARENT_CLK_SYST_ACLK 0x0U
108#define ALIF_PARENT_CLK_SYST_HCLK 0x1U
110#define ALIF_PARENT_CLK_SYST_PCLK 0x2U
111
113
122
123#define ALIF_CGU_MODULE 0x0U
124#define ALIF_CLKCTL_PER_MST_MODULE 0x1U
125#define ALIF_CLKCTL_PER_SLV_MODULE 0x2U
126#define ALIF_AON_MODULE 0x3U
127#define ALIF_VBAT_MODULE 0x4U
128#define ALIF_M55HE_CFG_MODULE 0x5U
129#define ALIF_M55HP_CFG_MODULE 0x6U
130
132
133#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ALIF_CLOCKS_COMMON_H_ */