openMMC
Open Source Modular MMC for AMCs
Loading...
Searching...
No Matches
cdce906_reg.h
Go to the documentation of this file.
1/*
2 * openMMC -- Open Source modular IPM Controller firmware
3 *
4 * Copyright (C) 2021 Augusto Fraga Giachero <augusto.fraga@cnpem.br>
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
20 */
21
31#ifndef CDCE906_REG_H_
32#define CDCE906_REG_H_
33
34#define CDCE906_PLL1_REF_DIV_M_LOW_BYTE 1
35#define CDCE906_PLL1_REF_DIV_M_LOW_SHIFT 0
36#define CDCE906_PLL1_REF_DIV_M_LOW_MASK 0xFF
37#define CDCE906_PLL1_REF_DIV_M_HIGH_BYTE 3
38#define CDCE906_PLL1_REF_DIV_M_HIGH_SHIFT 0
39#define CDCE906_PLL1_REF_DIV_M_HIGH_MASK 0x01
40
41#define CDCE906_PLL1_REF_DIV_N_LOW_BYTE 2
42#define CDCE906_PLL1_REF_DIV_N_LOW_SHIFT 0
43#define CDCE906_PLL1_REF_DIV_N_LOW_MASK 0xFF
44#define CDCE906_PLL1_REF_DIV_N_HIGH_BYTE 3
45#define CDCE906_PLL1_REF_DIV_N_HIGH_SHIFT 1
46#define CDCE906_PLL1_REF_DIV_N_HIGH_MASK 0x1E
47
48#define CDCE906_PLL2_REF_DIV_M_LOW_BYTE 4
49#define CDCE906_PLL2_REF_DIV_M_LOW_SHIFT 0
50#define CDCE906_PLL2_REF_DIV_M_LOW_MASK 0xFF
51#define CDCE906_PLL2_REF_DIV_M_HIGH_BYTE 6
52#define CDCE906_PLL2_REF_DIV_M_HIGH_SHIFT 0
53#define CDCE906_PLL2_REF_DIV_M_HIGH_MASK 0x01
54
55#define CDCE906_PLL2_REF_DIV_N_LOW_BYTE 5
56#define CDCE906_PLL2_REF_DIV_N_LOW_SHIFT 0
57#define CDCE906_PLL2_REF_DIV_N_LOW_MASK 0xFF
58#define CDCE906_PLL2_REF_DIV_N_HIGH_BYTE 6
59#define CDCE906_PLL2_REF_DIV_N_HIGH_SHIFT 1
60#define CDCE906_PLL2_REF_DIV_N_HIGH_MASK 0x1E
61
62#define CDCE906_PLL3_REF_DIV_M_LOW_BYTE 7
63#define CDCE906_PLL3_REF_DIV_M_LOW_SHIFT 0
64#define CDCE906_PLL3_REF_DIV_M_LOW_MASK 0xFF
65#define CDCE906_PLL3_REF_DIV_M_HIGH_BYTE 9
66#define CDCE906_PLL3_REF_DIV_M_HIGH_SHIFT 0
67#define CDCE906_PLL3_REF_DIV_M_HIGH_MASK 0x01
68
69#define CDCE906_PLL3_REF_DIV_N_LOW_BYTE 8
70#define CDCE906_PLL3_REF_DIV_N_LOW_SHIFT 0
71#define CDCE906_PLL3_REF_DIV_N_LOW_MASK 0xFF
72#define CDCE906_PLL3_REF_DIV_N_HIGH_BYTE 9
73#define CDCE906_PLL3_REF_DIV_N_HIGH_SHIFT 1
74#define CDCE906_PLL3_REF_DIV_N_HIGH_MASK 0x1E
75
76#define CDCE906_PLL1_VCO_MUX_BYTE 3
77#define CDCE906_PLL1_VCO_MUX_SHIFT 7
78#define CDCE906_PLL1_VCO_MUX_MASK 0x80
79
80#define CDCE906_PLL2_VCO_MUX_BYTE 3
81#define CDCE906_PLL2_VCO_MUX_SHIFT 6
82#define CDCE906_PLL2_VCO_MUX_MASK 0x40
83
84#define CDCE906_PLL3_VCO_MUX_BYTE 3
85#define CDCE906_PLL3_VCO_MUX_SHIFT 5
86#define CDCE906_PLL3_VCO_MUX_MASK 0x20
87
88#define CDCE906_PLL1_FVCO_BYTE 6
89#define CDCE906_PLL1_FVCO_SHIFT 7
90#define CDCE906_PLL1_FVCO_MASK 0x80
91
92#define CDCE906_PLL2_FVCO_BYTE 6
93#define CDCE906_PLL2_FVCO_SHIFT 6
94#define CDCE906_PLL2_FVCO_MASK 0x40
95
96#define CDCE906_PLL3_FVCO_BYTE 6
97#define CDCE906_PLL3_FVCO_SHIFT 5
98#define CDCE906_PLL3_FVCO_MASK 0x20
99
100#define CDCE906_P0_SW_A_BYTE 9
101#define CDCE906_P0_SW_A_SHIFT 5
102#define CDCE906_P0_SW_A_MASK 0xE0
103
104#define CDCE906_P1_SW_A_BYTE 10
105#define CDCE906_P1_SW_A_SHIFT 5
106#define CDCE906_P1_SW_A_MASK 0xE0
107
108#define CDCE906_P2_SW_A_BYTE 11
109#define CDCE906_P2_SW_A_SHIFT 0
110#define CDCE906_P2_SW_A_MASK 0x07
111
112#define CDCE906_P3_SW_A_BYTE 11
113#define CDCE906_P3_SW_A_SHIFT 3
114#define CDCE906_P3_SW_A_MASK 0x38
115
116#define CDCE906_P4_SW_A_BYTE 12
117#define CDCE906_P4_SW_A_SHIFT 0
118#define CDCE906_P4_SW_A_MASK 0x07
119
120#define CDCE906_P5_SW_A_BYTE 12
121#define CDCE906_P5_SW_A_SHIFT 3
122#define CDCE906_P5_SW_A_MASK 0x38
123
124#define CDCE906_CLKSEL_BYTE 10
125#define CDCE906_CLKSEL_SHIFT 4
126#define CDCE906_CLKSEL_MASK 0x10
127
128#define CDCE906_S0_IN_CFG_BYTE 10
129#define CDCE906_S0_IN_CFG_SHIFT 0
130#define CDCE906_S0_IN_CFG_MASK 0x03
131
132#define CDCE906_S1_IN_CFG_BYTE 10
133#define CDCE906_S1_IN_CFG_SHIFT 2
134#define CDCE906_S1_IN_CFG_MASK 0x0C
135
136#define CDCE906_CLKIN_SRC_BYTE 11
137#define CDCE906_CLKIN_SRC_SHIFT 6
138#define CDCE906_CLKIN_SRC_MASK 0xC0
139
140#define CDCE906_POWER_DOWN_BYTE 12
141#define CDCE906_POWER_DOWN_SHIFT 6
142#define CDCE906_POWER_DOWN_MASK 0x40
143
144#define CDCE906_P0_DIV_BYTE 13
145#define CDCE906_P0_DIV_SHIFT 0
146#define CDCE906_P0_DIV_MASK 0x7F
147
148#define CDCE906_P1_DIV_BYTE 14
149#define CDCE906_P1_DIV_SHIFT 0
150#define CDCE906_P1_DIV_MASK 0x7F
151
152#define CDCE906_P2_DIV_BYTE 15
153#define CDCE906_P2_DIV_SHIFT 0
154#define CDCE906_P2_DIV_MASK 0x7F
155
156#define CDCE906_P3_DIV_BYTE 16
157#define CDCE906_P3_DIV_SHIFT 0
158#define CDCE906_P3_DIV_MASK 0x7F
159
160#define CDCE906_P4_DIV_BYTE 17
161#define CDCE906_P4_DIV_SHIFT 0
162#define CDCE906_P4_DIV_MASK 0x7F
163
164#define CDCE906_P5_DIV_BYTE 18
165#define CDCE906_P5_DIV_SHIFT 0
166#define CDCE906_P5_DIV_MASK 0x7F
167
168#define CDCE906_Y0_POL_BYTE 19
169#define CDCE906_Y0_POL_SHIFT 6
170#define CDCE906_Y0_POL_MASK 0x40
171
172#define CDCE906_Y0_SLEW_RATE_BYTE 19
173#define CDCE906_Y0_SLEW_RATE_SHIFT 4
174#define CDCE906_Y0_SLEW_RATE_MASK 0x30
175
176#define CDCE906_Y0_EN_BYTE 19
177#define CDCE906_Y0_EN_SHIFT 3
178#define CDCE906_Y0_EN_MASK 0x08
179
180#define CDCE906_Y0_SW_B_BYTE 19
181#define CDCE906_Y0_SW_B_SHIFT 0
182#define CDCE906_Y0_SW_B_MASK 0x07
183
184#define CDCE906_Y1_POL_BYTE 20
185#define CDCE906_Y1_POL_SHIFT 6
186#define CDCE906_Y1_POL_MASK 0x40
187
188#define CDCE906_Y1_SLEW_RATE_BYTE 20
189#define CDCE906_Y1_SLEW_RATE_SHIFT 4
190#define CDCE906_Y1_SLEW_RATE_MASK 0x30
191
192#define CDCE906_Y1_EN_BYTE 20
193#define CDCE906_Y1_EN_SHIFT 3
194#define CDCE906_Y1_EN_MASK 0x08
195
196#define CDCE906_Y1_SW_B_BYTE 20
197#define CDCE906_Y1_SW_B_SHIFT 0
198#define CDCE906_Y1_SW_B_MASK 0x07
199
200#define CDCE906_Y2_POL_BYTE 21
201#define CDCE906_Y2_POL_SHIFT 6
202#define CDCE906_Y2_POL_MASK 0x40
203
204#define CDCE906_Y2_SLEW_RATE_BYTE 21
205#define CDCE906_Y2_SLEW_RATE_SHIFT 4
206#define CDCE906_Y2_SLEW_RATE_MASK 0x30
207
208#define CDCE906_Y2_EN_BYTE 21
209#define CDCE906_Y2_EN_SHIFT 3
210#define CDCE906_Y2_EN_MASK 0x08
211
212#define CDCE906_Y2_SW_B_BYTE 21
213#define CDCE906_Y2_SW_B_SHIFT 0
214#define CDCE906_Y2_SW_B_MASK 0x07
215
216#define CDCE906_Y3_POL_BYTE 22
217#define CDCE906_Y3_POL_SHIFT 6
218#define CDCE906_Y3_POL_MASK 0x40
219
220#define CDCE906_Y3_SLEW_RATE_BYTE 22
221#define CDCE906_Y3_SLEW_RATE_SHIFT 4
222#define CDCE906_Y3_SLEW_RATE_MASK 0x30
223
224#define CDCE906_Y3_EN_BYTE 22
225#define CDCE906_Y3_EN_SHIFT 3
226#define CDCE906_Y3_EN_MASK 0x08
227
228#define CDCE906_Y3_SW_B_BYTE 22
229#define CDCE906_Y3_SW_B_SHIFT 0
230#define CDCE906_Y3_SW_B_MASK 0x07
231
232#define CDCE906_Y4_POL_BYTE 23
233#define CDCE906_Y4_POL_SHIFT 6
234#define CDCE906_Y4_POL_MASK 0x40
235
236#define CDCE906_Y4_SLEW_RATE_BYTE 23
237#define CDCE906_Y4_SLEW_RATE_SHIFT 4
238#define CDCE906_Y4_SLEW_RATE_MASK 0x30
239
240#define CDCE906_Y4_EN_BYTE 23
241#define CDCE906_Y4_EN_SHIFT 3
242#define CDCE906_Y4_EN_MASK 0x08
243
244#define CDCE906_Y4_SW_B_BYTE 23
245#define CDCE906_Y4_SW_B_SHIFT 0
246#define CDCE906_Y4_SW_B_MASK 0x07
247
248#define CDCE906_Y5_POL_BYTE 24
249#define CDCE906_Y5_POL_SHIFT 6
250#define CDCE906_Y5_POL_MASK 0x40
251
252#define CDCE906_Y5_SLEW_RATE_BYTE 24
253#define CDCE906_Y5_SLEW_RATE_SHIFT 4
254#define CDCE906_Y5_SLEW_RATE_MASK 0x30
255
256#define CDCE906_Y5_EN_BYTE 24
257#define CDCE906_Y5_EN_SHIFT 3
258#define CDCE906_Y5_EN_MASK 0x08
259
260#define CDCE906_Y5_SW_B_BYTE 24
261#define CDCE906_Y5_SW_B_SHIFT 0
262#define CDCE906_Y5_SW_B_MASK 0x07
263
264#define CDCE906_EEPIP_BYTE 24
265#define CDCE906_EEPIP_SHIFT 7
266#define CDCE906_EEPIP_MASK 0x80
267
268#define CDCE906_EELOCK_BYTE 25
269#define CDCE906_EELOCK_SHIFT 7
270#define CDCE906_EELOCK_MASK 0x80
271
272#define CDCE906_SSC_MOD_SEL_BYTE 25
273#define CDCE906_SSC_MOD_SEL_SHIFT 4
274#define CDCE906_SSC_MOD_SEL_MASK 0x70
275
276#define CDCE906_SSC_FREQ_SEL_BYTE 25
277#define CDCE906_SSC_FREQ_SEL_SHIFT 0
278#define CDCE906_SSC_FREQ_SEL_MASK 0x0F
279
280#define CDCE906_EEWRITE_BYTE 26
281#define CDCE906_EEWRITE_SHIFT 7
282#define CDCE906_EEWRITE_MASK 0x80
283
284#define CDCE906_EECNT_BYTE 26
285#define CDCE906_EECNT_SHIFT 0
286#define CDCE906_EECNT_MASK 0x7F
287
293
294#endif
cdce906_clkin_src
Definition cdce906_reg.h:288
@ CDCE906_CLKIN_SRC_LVCMOS
Definition cdce906_reg.h:290
@ CDCE906_CLKIN_SRC_DIFF
Definition cdce906_reg.h:291
@ CDCE906_CLKIN_SRC_CRYSTAL
Definition cdce906_reg.h:289