xref: /linux/drivers/phy/qualcomm/phy-qcom-qmp-qserdes-com.h (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
19e1bae6dSDmitry Baryshkov /* SPDX-License-Identifier: GPL-2.0 */
29e1bae6dSDmitry Baryshkov /*
39e1bae6dSDmitry Baryshkov  * Copyright (c) 2017, The Linux Foundation. All rights reserved.
49e1bae6dSDmitry Baryshkov  */
59e1bae6dSDmitry Baryshkov 
69e1bae6dSDmitry Baryshkov #ifndef QCOM_PHY_QMP_QSERDES_COM_H_
79e1bae6dSDmitry Baryshkov #define QCOM_PHY_QMP_QSERDES_COM_H_
89e1bae6dSDmitry Baryshkov 
99e1bae6dSDmitry Baryshkov /* Only for QMP V2 PHY - QSERDES COM registers */
10f7c5cedbSDmitry Baryshkov #define QSERDES_COM_ATB_SEL1				0x000
11f7c5cedbSDmitry Baryshkov #define QSERDES_COM_ATB_SEL2				0x004
12f7c5cedbSDmitry Baryshkov #define QSERDES_COM_FREQ_UPDATE				0x008
139e1bae6dSDmitry Baryshkov #define QSERDES_COM_BG_TIMER				0x00c
149e1bae6dSDmitry Baryshkov #define QSERDES_COM_SSC_EN_CENTER			0x010
159e1bae6dSDmitry Baryshkov #define QSERDES_COM_SSC_ADJ_PER1			0x014
169e1bae6dSDmitry Baryshkov #define QSERDES_COM_SSC_ADJ_PER2			0x018
179e1bae6dSDmitry Baryshkov #define QSERDES_COM_SSC_PER1				0x01c
189e1bae6dSDmitry Baryshkov #define QSERDES_COM_SSC_PER2				0x020
199e1bae6dSDmitry Baryshkov #define QSERDES_COM_SSC_STEP_SIZE1			0x024
209e1bae6dSDmitry Baryshkov #define QSERDES_COM_SSC_STEP_SIZE2			0x028
21f7c5cedbSDmitry Baryshkov #define QSERDES_COM_POST_DIV				0x02c
22f7c5cedbSDmitry Baryshkov #define QSERDES_COM_POST_DIV_MUX			0x030
239e1bae6dSDmitry Baryshkov #define QSERDES_COM_BIAS_EN_CLKBUFLR_EN			0x034
249e1bae6dSDmitry Baryshkov #define QSERDES_COM_CLK_ENABLE1				0x038
259e1bae6dSDmitry Baryshkov #define QSERDES_COM_SYS_CLK_CTRL			0x03c
269e1bae6dSDmitry Baryshkov #define QSERDES_COM_SYSCLK_BUF_ENABLE			0x040
27f7c5cedbSDmitry Baryshkov #define QSERDES_COM_PLL_EN				0x044
289e1bae6dSDmitry Baryshkov #define QSERDES_COM_PLL_IVCO				0x048
299e1bae6dSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP1_MODE0			0x04c
309e1bae6dSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP2_MODE0			0x050
319e1bae6dSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP3_MODE0			0x054
329e1bae6dSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP1_MODE1			0x058
339e1bae6dSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP2_MODE1			0x05c
349e1bae6dSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP3_MODE1			0x060
35f7c5cedbSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP1_MODE2			0x064
36f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CMN_RSVD0				0x064
37f7c5cedbSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP2_MODE2			0x068
38f7c5cedbSDmitry Baryshkov #define QSERDES_COM_EP_CLOCK_DETECT_CTRL		0x068
39f7c5cedbSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP3_MODE2			0x06c
40f7c5cedbSDmitry Baryshkov #define QSERDES_COM_SYSCLK_DET_COMP_STATUS		0x06c
419e1bae6dSDmitry Baryshkov #define QSERDES_COM_BG_TRIM				0x070
429e1bae6dSDmitry Baryshkov #define QSERDES_COM_CLK_EP_DIV				0x074
439e1bae6dSDmitry Baryshkov #define QSERDES_COM_CP_CTRL_MODE0			0x078
449e1bae6dSDmitry Baryshkov #define QSERDES_COM_CP_CTRL_MODE1			0x07c
45f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CP_CTRL_MODE2			0x080
46f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CMN_RSVD1				0x080
479e1bae6dSDmitry Baryshkov #define QSERDES_COM_PLL_RCTRL_MODE0			0x084
489e1bae6dSDmitry Baryshkov #define QSERDES_COM_PLL_RCTRL_MODE1			0x088
49f7c5cedbSDmitry Baryshkov #define QSERDES_COM_PLL_RCTRL_MODE2			0x08c
50f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CMN_RSVD2				0x08c
519e1bae6dSDmitry Baryshkov #define QSERDES_COM_PLL_CCTRL_MODE0			0x090
529e1bae6dSDmitry Baryshkov #define QSERDES_COM_PLL_CCTRL_MODE1			0x094
53f7c5cedbSDmitry Baryshkov #define QSERDES_COM_PLL_CCTRL_MODE2			0x098
54f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CMN_RSVD3				0x098
55f7c5cedbSDmitry Baryshkov #define QSERDES_COM_PLL_CNTRL				0x09c
56f7c5cedbSDmitry Baryshkov #define QSERDES_COM_PHASE_SEL_CTRL			0x0a0
57f7c5cedbSDmitry Baryshkov #define QSERDES_COM_PHASE_SEL_DC			0x0a4
58f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CORE_CLK_IN_SYNC_SEL		0x0a8
599e1bae6dSDmitry Baryshkov #define QSERDES_COM_BIAS_EN_CTRL_BY_PSM			0x0a8
609e1bae6dSDmitry Baryshkov #define QSERDES_COM_SYSCLK_EN_SEL			0x0ac
61f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CML_SYSCLK_SEL			0x0b0
629e1bae6dSDmitry Baryshkov #define QSERDES_COM_RESETSM_CNTRL			0x0b4
639e1bae6dSDmitry Baryshkov #define QSERDES_COM_RESETSM_CNTRL2			0x0b8
649e1bae6dSDmitry Baryshkov #define QSERDES_COM_RESTRIM_CTRL			0x0bc
65f7c5cedbSDmitry Baryshkov #define QSERDES_COM_RESTRIM_CTRL2			0x0c0
669e1bae6dSDmitry Baryshkov #define QSERDES_COM_RESCODE_DIV_NUM			0x0c4
679e1bae6dSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP_EN				0x0c8
689e1bae6dSDmitry Baryshkov #define QSERDES_COM_LOCK_CMP_CFG			0x0cc
699e1bae6dSDmitry Baryshkov #define QSERDES_COM_DEC_START_MODE0			0x0d0
709e1bae6dSDmitry Baryshkov #define QSERDES_COM_DEC_START_MODE1			0x0d4
71f7c5cedbSDmitry Baryshkov #define QSERDES_COM_DEC_START_MODE2			0x0d8
72f7c5cedbSDmitry Baryshkov #define QSERDES_COM_VCOCAL_DEADMAN_CTRL			0x0d8
739e1bae6dSDmitry Baryshkov #define QSERDES_COM_DIV_FRAC_START1_MODE0		0x0dc
749e1bae6dSDmitry Baryshkov #define QSERDES_COM_DIV_FRAC_START2_MODE0		0x0e0
759e1bae6dSDmitry Baryshkov #define QSERDES_COM_DIV_FRAC_START3_MODE0		0x0e4
769e1bae6dSDmitry Baryshkov #define QSERDES_COM_DIV_FRAC_START1_MODE1		0x0e8
779e1bae6dSDmitry Baryshkov #define QSERDES_COM_DIV_FRAC_START2_MODE1		0x0ec
789e1bae6dSDmitry Baryshkov #define QSERDES_COM_DIV_FRAC_START3_MODE1		0x0f0
79f7c5cedbSDmitry Baryshkov #define QSERDES_COM_DIV_FRAC_START1_MODE2		0x0f4
80f7c5cedbSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_MINVAL1			0x0f4
81f7c5cedbSDmitry Baryshkov #define QSERDES_COM_DIV_FRAC_START2_MODE2		0x0f8
82f7c5cedbSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_MINVAL2			0x0f8
83f7c5cedbSDmitry Baryshkov #define QSERDES_COM_DIV_FRAC_START3_MODE2		0x0fc
84f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CMN_RSVD4				0x0fc
859e1bae6dSDmitry Baryshkov #define QSERDES_COM_INTEGLOOP_INITVAL			0x100
86f7c5cedbSDmitry Baryshkov #define QSERDES_COM_INTEGLOOP_EN			0x104
879e1bae6dSDmitry Baryshkov #define QSERDES_COM_INTEGLOOP_GAIN0_MODE0		0x108
889e1bae6dSDmitry Baryshkov #define QSERDES_COM_INTEGLOOP_GAIN1_MODE0		0x10c
899e1bae6dSDmitry Baryshkov #define QSERDES_COM_INTEGLOOP_GAIN0_MODE1		0x110
909e1bae6dSDmitry Baryshkov #define QSERDES_COM_INTEGLOOP_GAIN1_MODE1		0x114
91f7c5cedbSDmitry Baryshkov #define QSERDES_COM_INTEGLOOP_GAIN0_MODE2		0x118
92f7c5cedbSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_MAXVAL1			0x118
93f7c5cedbSDmitry Baryshkov #define QSERDES_COM_INTEGLOOP_GAIN1_MODE2		0x11c
94f7c5cedbSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_MAXVAL2			0x11c
95f7c5cedbSDmitry Baryshkov #define QSERDES_COM_RES_TRIM_CONTROL2			0x120
969e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_CTRL			0x124
979e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_MAP			0x128
989e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE1_MODE0			0x12c
999e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE2_MODE0			0x130
1009e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE1_MODE1			0x134
1019e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE2_MODE1			0x138
102f7c5cedbSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE1_MODE2			0x13c
1039e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_INITVAL1			0x13c
104f7c5cedbSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE2_MODE2			0x140
1059e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_INITVAL2			0x140
1069e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_TIMER1			0x144
1079e1bae6dSDmitry Baryshkov #define QSERDES_COM_VCO_TUNE_TIMER2			0x148
108f7c5cedbSDmitry Baryshkov #define QSERDES_COM_SAR					0x14c
109f7c5cedbSDmitry Baryshkov #define QSERDES_COM_SAR_CLK				0x150
110f7c5cedbSDmitry Baryshkov #define QSERDES_COM_SAR_CODE_OUT_STATUS			0x154
111f7c5cedbSDmitry Baryshkov #define QSERDES_COM_SAR_CODE_READY_STATUS		0x158
112f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CMN_STATUS				0x15c
113f7c5cedbSDmitry Baryshkov #define QSERDES_COM_RESET_SM_STATUS			0x160
114f7c5cedbSDmitry Baryshkov #define QSERDES_COM_RESTRIM_CODE_STATUS			0x164
115f7c5cedbSDmitry Baryshkov #define QSERDES_COM_PLLCAL_CODE1_STATUS			0x168
116f7c5cedbSDmitry Baryshkov #define QSERDES_COM_PLLCAL_CODE2_STATUS			0x16c
1179e1bae6dSDmitry Baryshkov #define QSERDES_COM_BG_CTRL				0x170
1189e1bae6dSDmitry Baryshkov #define QSERDES_COM_CLK_SELECT				0x174
1199e1bae6dSDmitry Baryshkov #define QSERDES_COM_HSCLK_SEL				0x178
120f7c5cedbSDmitry Baryshkov #define QSERDES_COM_INTEGLOOP_BINCODE_STATUS		0x17c
121f7c5cedbSDmitry Baryshkov #define QSERDES_COM_PLL_ANALOG				0x180
1229e1bae6dSDmitry Baryshkov #define QSERDES_COM_CORECLK_DIV				0x184
123f7c5cedbSDmitry Baryshkov #define QSERDES_COM_SW_RESET				0x188
1249e1bae6dSDmitry Baryshkov #define QSERDES_COM_CORE_CLK_EN				0x18c
1259e1bae6dSDmitry Baryshkov #define QSERDES_COM_C_READY_STATUS			0x190
1269e1bae6dSDmitry Baryshkov #define QSERDES_COM_CMN_CONFIG				0x194
127f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CMN_RATE_OVERRIDE			0x198
1289e1bae6dSDmitry Baryshkov #define QSERDES_COM_SVS_MODE_CLK_SEL			0x19c
1299e1bae6dSDmitry Baryshkov #define QSERDES_COM_DEBUG_BUS0				0x1a0
1309e1bae6dSDmitry Baryshkov #define QSERDES_COM_DEBUG_BUS1				0x1a4
1319e1bae6dSDmitry Baryshkov #define QSERDES_COM_DEBUG_BUS2				0x1a8
1329e1bae6dSDmitry Baryshkov #define QSERDES_COM_DEBUG_BUS3				0x1ac
1339e1bae6dSDmitry Baryshkov #define QSERDES_COM_DEBUG_BUS_SEL			0x1b0
134f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CMN_MISC1				0x1b4
135f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CMN_MISC2				0x1b8
1369e1bae6dSDmitry Baryshkov #define QSERDES_COM_CORECLK_DIV_MODE1			0x1bc
137f7c5cedbSDmitry Baryshkov #define QSERDES_COM_CORECLK_DIV_MODE2			0x1c0
138*a85dcc98SDmitry Baryshkov #define QSERDES_COM_CMN_RSVD5				0x1c4
1399e1bae6dSDmitry Baryshkov 
1409e1bae6dSDmitry Baryshkov #endif
141