xref: /openbmc/linux/drivers/phy/qualcomm/phy-qcom-qmp-qserdes-com-v3.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1a7fc833eSDmitry Baryshkov 
2a7fc833eSDmitry Baryshkov /* SPDX-License-Identifier: GPL-2.0 */
3a7fc833eSDmitry Baryshkov /*
4a7fc833eSDmitry Baryshkov  * Copyright (c) 2017, The Linux Foundation. All rights reserved.
5a7fc833eSDmitry Baryshkov  */
6a7fc833eSDmitry Baryshkov 
7a7fc833eSDmitry Baryshkov #ifndef QCOM_PHY_QMP_QSERDES_COM_V3_H_
8a7fc833eSDmitry Baryshkov #define QCOM_PHY_QMP_QSERDES_COM_V3_H_
9a7fc833eSDmitry Baryshkov 
10a7fc833eSDmitry Baryshkov /* Only for QMP V3 PHY - QSERDES COM registers */
11a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_ATB_SEL1				0x000
12a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_ATB_SEL2				0x004
13a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_FREQ_UPDATE			0x008
14a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_BG_TIMER				0x00c
15a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SSC_EN_CENTER			0x010
16a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SSC_ADJ_PER1			0x014
17a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SSC_ADJ_PER2			0x018
18a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SSC_PER1				0x01c
19a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SSC_PER2				0x020
20a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SSC_STEP_SIZE1			0x024
21a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SSC_STEP_SIZE2			0x028
22a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_POST_DIV				0x02c
23a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_POST_DIV_MUX			0x030
24a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_BIAS_EN_CLKBUFLR_EN		0x034
25a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CLK_ENABLE1			0x038
26a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SYS_CLK_CTRL			0x03c
27a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SYSCLK_BUF_ENABLE		0x040
28a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_PLL_EN				0x044
29a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_PLL_IVCO				0x048
30*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_CMN_IETRIM			0x04c
31*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_CMN_IPTRIM			0x050
32*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_EP_CLOCK_DETECT_CTR		0x054
33*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_SYSCLK_DET_COMP_STATUS		0x058
34a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CLK_EP_DIV			0x05c
35a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CP_CTRL_MODE0			0x060
36a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CP_CTRL_MODE1			0x064
37a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_PLL_RCTRL_MODE0			0x068
38a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_PLL_RCTRL_MODE1			0x06c
39a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_PLL_CCTRL_MODE0			0x070
40a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_PLL_CCTRL_MODE1			0x074
41*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_PLL_CNTRL			0x078
42*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_BIAS_EN_CTRL_BY_PSM		0x07c
43a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SYSCLK_EN_SEL			0x080
44*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_CML_SYSCLK_SEL			0x084
45a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_RESETSM_CNTRL			0x088
46a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_RESETSM_CNTRL2			0x08c
47a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_LOCK_CMP_EN			0x090
48a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_LOCK_CMP_CFG			0x094
49a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_LOCK_CMP1_MODE0			0x098
50a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_LOCK_CMP2_MODE0			0x09c
51a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_LOCK_CMP3_MODE0			0x0a0
52a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_LOCK_CMP1_MODE1			0x0a4
53a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_LOCK_CMP2_MODE1			0x0a8
54a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_LOCK_CMP3_MODE1			0x0ac
55a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DEC_START_MODE0			0x0b0
56a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DEC_START_MODE1			0x0b4
57a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DIV_FRAC_START1_MODE0		0x0b8
58a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DIV_FRAC_START2_MODE0		0x0bc
59a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DIV_FRAC_START3_MODE0		0x0c0
60a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DIV_FRAC_START1_MODE1		0x0c4
61a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DIV_FRAC_START2_MODE1		0x0c8
62a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DIV_FRAC_START3_MODE1		0x0cc
63a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_INTEGLOOP_INITVAL		0x0d0
64*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_INTEGLOOP_EN			0x0d4
65a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_INTEGLOOP_GAIN0_MODE0		0x0d8
66a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_INTEGLOOP_GAIN1_MODE0		0x0dc
67a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_INTEGLOOP_GAIN0_MODE1		0x0e0
68a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_INTEGLOOP_GAIN1_MODE1		0x0e4
69*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_VCOCAL_DEADMAN_CTRL		0x0e8
70a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_CTRL			0x0ec
71a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_MAP			0x0f0
72a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE1_MODE0			0x0f4
73a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE2_MODE0			0x0f8
74a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE1_MODE1			0x0fc
75a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE2_MODE1			0x100
76a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_INITVAL1		0x104
77a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_INITVAL2		0x108
78*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_MINVAL1			0x10c
79*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_MINVAL2			0x110
80*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_MAXVAL1			0x114
81*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_MAXVAL2			0x118
82a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_TIMER1			0x11c
83a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_VCO_TUNE_TIMER2			0x120
84*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_CMN_STATUS			0x124
85*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_RESET_SM_STATUS			0x128
86*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_RESTRIM_CODE_STATUS		0x12c
87*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_PLLCAL_CODE1_STATUS		0x130
88*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_PLLCAL_CODE2_STATUS		0x134
89a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CLK_SELECT			0x138
90a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_HSCLK_SEL			0x13c
91*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_INTEGLOOP_BINCODE_STATUS		0x140
92*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_PLL_ANALOG			0x144
93a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CORECLK_DIV_MODE0		0x148
94a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CORECLK_DIV_MODE1		0x14c
95*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_SW_RESET				0x150
96a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CORE_CLK_EN			0x154
97a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_C_READY_STATUS			0x158
98a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CMN_CONFIG			0x15c
99*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_CMN_RATE_OVERRIDE		0x160
100a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_SVS_MODE_CLK_SEL			0x164
101a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DEBUG_BUS0			0x168
102a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DEBUG_BUS1			0x16c
103a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DEBUG_BUS2			0x170
104a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DEBUG_BUS3			0x174
105a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_DEBUG_BUS_SEL			0x178
106*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_CMN_MISC1			0x17c
107*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_CMN_MISC2			0x180
108a7fc833eSDmitry Baryshkov #define QSERDES_V3_COM_CMN_MODE				0x184
109*d88b3058SDmitry Baryshkov #define QSERDES_V3_COM_CMN_VREG_SEL			0x188
110a7fc833eSDmitry Baryshkov 
111a7fc833eSDmitry Baryshkov #endif
112