hc
2023-10-25 6c2073b7aa40e29d0eca7d571dd7bc590c7ecaa7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef CS2000_H_INCLUDED
#define CS2000_H_INCLUDED
 
#define CS2000_DEV_ID        0x01
#define CS2000_DEV_CTRL        0x02
#define CS2000_DEV_CFG_1    0x03
#define CS2000_DEV_CFG_2    0x04
#define CS2000_GLOBAL_CFG    0x05
#define CS2000_RATIO_0        0x06 /* 32 bits, big endian */
#define CS2000_RATIO_1        0x0a
#define CS2000_RATIO_2        0x0e
#define CS2000_RATIO_3        0x12
#define CS2000_FUN_CFG_1    0x16
#define CS2000_FUN_CFG_2    0x17
#define CS2000_FUN_CFG_3    0x1e
 
/* DEV_ID */
#define CS2000_DEVICE_MASK        0xf8
#define CS2000_REVISION_MASK        0x07
 
/* DEV_CTRL */
#define CS2000_UNLOCK            0x80
#define CS2000_AUX_OUT_DIS        0x02
#define CS2000_CLK_OUT_DIS        0x01
 
/* DEV_CFG_1 */
#define CS2000_R_MOD_SEL_MASK        0xe0
#define CS2000_R_MOD_SEL_1        0x00
#define CS2000_R_MOD_SEL_2        0x20
#define CS2000_R_MOD_SEL_4        0x40
#define CS2000_R_MOD_SEL_8        0x60
#define CS2000_R_MOD_SEL_1_2        0x80
#define CS2000_R_MOD_SEL_1_4        0xa0
#define CS2000_R_MOD_SEL_1_8        0xc0
#define CS2000_R_MOD_SEL_1_16        0xe0
#define CS2000_R_SEL_MASK        0x18
#define CS2000_R_SEL_SHIFT        3
#define CS2000_AUX_OUT_SRC_MASK        0x06
#define CS2000_AUX_OUT_SRC_REF_CLK    0x00
#define CS2000_AUX_OUT_SRC_CLK_IN    0x02
#define CS2000_AUX_OUT_SRC_CLK_OUT    0x04
#define CS2000_AUX_OUT_SRC_PLL_LOCK    0x06
#define CS2000_EN_DEV_CFG_1        0x01
 
/* DEV_CFG_2 */
#define CS2000_LOCK_CLK_MASK        0x06
#define CS2000_LOCK_CLK_SHIFT        1
#define CS2000_FRAC_N_SRC_MASK        0x01
#define CS2000_FRAC_N_SRC_STATIC    0x00
#define CS2000_FRAC_N_SRC_DYNAMIC    0x01
 
/* GLOBAL_CFG */
#define CS2000_FREEZE            0x08
#define CS2000_EN_DEV_CFG_2        0x01
 
/* FUN_CFG_1 */
#define CS2000_CLK_SKIP_EN        0x80
#define CS2000_AUX_LOCK_CFG_MASK    0x40
#define CS2000_AUX_LOCK_CFG_PP_HIGH    0x00
#define CS2000_AUX_LOCK_CFG_OD_LOW    0x40
#define CS2000_REF_CLK_DIV_MASK        0x18
#define CS2000_REF_CLK_DIV_4        0x00
#define CS2000_REF_CLK_DIV_2        0x08
#define CS2000_REF_CLK_DIV_1        0x10
 
/* FUN_CFG_2 */
#define CS2000_CLK_OUT_UNL        0x10
#define CS2000_L_F_RATIO_CFG_MASK    0x08
#define CS2000_L_F_RATIO_CFG_20_12    0x00
#define CS2000_L_F_RATIO_CFG_12_20    0x08
 
/* FUN_CFG_3 */
#define CS2000_CLK_IN_BW_MASK        0x70
#define CS2000_CLK_IN_BW_1        0x00
#define CS2000_CLK_IN_BW_2        0x10
#define CS2000_CLK_IN_BW_4        0x20
#define CS2000_CLK_IN_BW_8        0x30
#define CS2000_CLK_IN_BW_16        0x40
#define CS2000_CLK_IN_BW_32        0x50
#define CS2000_CLK_IN_BW_64        0x60
#define CS2000_CLK_IN_BW_128        0x70
 
#endif