Zephyr Project API
4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
imx_ccm_rev3.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: Copyright 2026 NXP
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_IMX_CCM_REV3_H_
8
#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_IMX_CCM_REV3_H_
9
44
46
#define IMX_CCM_ID_BITS 16U
48
#define IMX_CCM_ID_MASK 0xFFFFU
49
51
#define IMX_CCM_GATE_SHIFT 0U
53
#define IMX_CCM_ROOT_SHIFT 16U
54
56
#define IMX_CCM_GATE_NONE IMX_CCM_ID_MASK
58
#define IMX_CCM_ROOT_NONE IMX_CCM_ID_MASK
59
66
#define IMX_CCM_CLK(gate, root) \
67
((((root) & IMX_CCM_ID_MASK) << IMX_CCM_ROOT_SHIFT) | \
68
(((gate) & IMX_CCM_ID_MASK) << IMX_CCM_GATE_SHIFT))
69
71
#define IMX_CCM_CLK_GATE(spec) (((spec) >> IMX_CCM_GATE_SHIFT) & IMX_CCM_ID_MASK)
73
#define IMX_CCM_CLK_ROOT(spec) (((spec) >> IMX_CCM_ROOT_SHIFT) & IMX_CCM_ID_MASK)
74
104
106
#define IMX_CCM_ROOT_CFG_ROOT_SHIFT 0U
108
#define IMX_CCM_ROOT_CFG_MUX_SHIFT 8U
110
#define IMX_CCM_ROOT_CFG_DIV_SHIFT 12U
112
#define IMX_CCM_ROOT_CFG_SND_DIV_SHIFT 20U
114
#define IMX_CCM_ROOT_CFG_TAG_SHIFT 28U
115
117
#define IMX_CCM_ROOT_CFG_ROOT_MASK 0xFFU
118
#define IMX_CCM_ROOT_CFG_MUX_MASK 0xFU
119
#define IMX_CCM_ROOT_CFG_DIV_MASK 0xFFU
120
#define IMX_CCM_ROOT_CFG_SND_DIV_MASK 0xFFU
121
#define IMX_CCM_ROOT_CFG_TAG_MASK 0xFU
122
124
#define IMX_CCM_ROOT_CFG_TAG 0xAU
125
134
#define IMX_CCM_ROOT_CFG(root, mux, div, snd_div) \
135
(((IMX_CCM_ROOT_CFG_TAG) << IMX_CCM_ROOT_CFG_TAG_SHIFT) | \
136
(((snd_div) & IMX_CCM_ROOT_CFG_SND_DIV_MASK) << IMX_CCM_ROOT_CFG_SND_DIV_SHIFT) | \
137
(((div) & IMX_CCM_ROOT_CFG_DIV_MASK) << IMX_CCM_ROOT_CFG_DIV_SHIFT) | \
138
(((mux) & IMX_CCM_ROOT_CFG_MUX_MASK) << IMX_CCM_ROOT_CFG_MUX_SHIFT) | \
139
(((root) & IMX_CCM_ROOT_CFG_ROOT_MASK) << IMX_CCM_ROOT_CFG_ROOT_SHIFT))
140
142
#define IMX_CCM_ROOT_CFG_IS(cell) \
143
((((cell) >> IMX_CCM_ROOT_CFG_TAG_SHIFT) & IMX_CCM_ROOT_CFG_TAG_MASK) == \
144
IMX_CCM_ROOT_CFG_TAG)
145
147
#define IMX_CCM_ROOT_CFG_ROOT(cell) \
148
(((cell) >> IMX_CCM_ROOT_CFG_ROOT_SHIFT) & IMX_CCM_ROOT_CFG_ROOT_MASK)
149
150
#define IMX_CCM_ROOT_CFG_MUX(cell) \
151
(((cell) >> IMX_CCM_ROOT_CFG_MUX_SHIFT) & IMX_CCM_ROOT_CFG_MUX_MASK)
152
153
#define IMX_CCM_ROOT_CFG_DIV(cell) \
154
(((cell) >> IMX_CCM_ROOT_CFG_DIV_SHIFT) & IMX_CCM_ROOT_CFG_DIV_MASK)
155
156
#define IMX_CCM_ROOT_CFG_SND_DIV(cell) \
157
(((cell) >> IMX_CCM_ROOT_CFG_SND_DIV_SHIFT) & IMX_CCM_ROOT_CFG_SND_DIV_MASK)
158
160
161
#endif
/* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_IMX_CCM_REV3_H_ */
include
zephyr
dt-bindings
clock
imx_ccm_rev3.h
Generated on
for Zephyr Project API by
1.16.1