xref: /openbmc/linux/drivers/phy/qualcomm/phy-qcom-qmp-qserdes-com-v4.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
132d2cf53SDmitry Baryshkov /* SPDX-License-Identifier: GPL-2.0 */
232d2cf53SDmitry Baryshkov /*
332d2cf53SDmitry Baryshkov  * Copyright (c) 2017, The Linux Foundation. All rights reserved.
432d2cf53SDmitry Baryshkov  */
532d2cf53SDmitry Baryshkov 
632d2cf53SDmitry Baryshkov #ifndef QCOM_PHY_QMP_QSERDES_COM_V4_H_
732d2cf53SDmitry Baryshkov #define QCOM_PHY_QMP_QSERDES_COM_V4_H_
832d2cf53SDmitry Baryshkov 
932d2cf53SDmitry Baryshkov /* Only for QMP V4 PHY - QSERDES COM registers */
10*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_ATB_SEL1				0x000
11*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_ATB_SEL2				0x004
12*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_FREQ_UPDATE			0x008
1332d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_BG_TIMER				0x00c
1432d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SSC_EN_CENTER			0x010
1532d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SSC_ADJ_PER1			0x014
16*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_SSC_ADJ_PER2			0x018
1732d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SSC_PER1				0x01c
1832d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SSC_PER2				0x020
1932d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SSC_STEP_SIZE1_MODE0		0x024
2032d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SSC_STEP_SIZE2_MODE0		0x028
21*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_SSC_STEP_SIZE3_MODE0		0x02c
2232d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SSC_STEP_SIZE1_MODE1		0x030
2332d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SSC_STEP_SIZE2_MODE1		0x034
24*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_SSC_STEP_SIZE3_MODE1		0x038
25*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_POST_DIV				0x03c
26*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_POST_DIV_MUX			0x040
2732d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_BIAS_EN_CLKBUFLR_EN		0x044
2832d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CLK_ENABLE1			0x048
2932d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SYS_CLK_CTRL			0x04c
3032d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SYSCLK_BUF_ENABLE		0x050
31*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_PLL_EN				0x054
3232d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_PLL_IVCO				0x058
33*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_CMN_IETRIM			0x05c
3432d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CMN_IPTRIM			0x060
35*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_EP_CLOCK_DETECT_CTRL		0x064
36*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_SYSCLK_DET_COMP_STATUS		0x068
37*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_CLK_EP_DIV_MODE0			0x06c
38*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_CLK_EP_DIV_MODE1			0x070
3932d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CP_CTRL_MODE0			0x074
4032d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CP_CTRL_MODE1			0x078
4132d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_PLL_RCTRL_MODE0			0x07c
4232d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_PLL_RCTRL_MODE1			0x080
4332d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_PLL_CCTRL_MODE0			0x084
4432d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_PLL_CCTRL_MODE1			0x088
45*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_PLL_CNTRL			0x08c
46*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_BIAS_EN_CTRL_BY_PSM		0x090
4732d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SYSCLK_EN_SEL			0x094
48*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_CML_SYSCLK_SEL			0x098
4932d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_RESETSM_CNTRL			0x09c
50*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_RESETSM_CNTRL2			0x0a0
5132d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_LOCK_CMP_EN			0x0a4
5232d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_LOCK_CMP_CFG			0x0a8
5332d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_LOCK_CMP1_MODE0			0x0ac
5432d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_LOCK_CMP2_MODE0			0x0b0
5532d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_LOCK_CMP1_MODE1			0x0b4
5632d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_LOCK_CMP2_MODE1			0x0b8
5732d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_DEC_START_MODE0			0x0bc
58*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_DEC_START_MSB_MODE0		0x0c0
5932d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_DEC_START_MODE1			0x0c4
60*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_DEC_START_MSB_MODE1		0x0c8
6132d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_DIV_FRAC_START1_MODE0		0x0cc
6232d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_DIV_FRAC_START2_MODE0		0x0d0
6332d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_DIV_FRAC_START3_MODE0		0x0d4
6432d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_DIV_FRAC_START1_MODE1		0x0d8
6532d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_DIV_FRAC_START2_MODE1		0x0dc
6632d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_DIV_FRAC_START3_MODE1		0x0e0
67*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_INTEGLOOP_INITVAL		0x0e4
68*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_INTEGLOOP_EN			0x0e8
6932d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_INTEGLOOP_GAIN0_MODE0		0x0ec
7032d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_INTEGLOOP_GAIN1_MODE0		0x0f0
7132d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_INTEGLOOP_GAIN0_MODE1		0x0f4
7232d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_INTEGLOOP_GAIN1_MODE1		0x0f8
73*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_INTEGLOOP_P_PATH_GAIN0		0x0fc
74*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_INTEGLOOP_P_PATH_GAIN1		0x100
75*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_VCOCAL_DEADMAN_CTRL		0x104
7632d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_CTRL			0x108
7732d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_MAP			0x10c
7832d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE1_MODE0			0x110
7932d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE2_MODE0			0x114
8032d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE1_MODE1			0x118
8132d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE2_MODE1			0x11c
82*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_INITVAL1		0x120
8332d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_INITVAL2		0x124
84*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_MINVAL1			0x128
85*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_MINVAL2			0x12c
86*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_MAXVAL1			0x130
87*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_MAXVAL2			0x134
88*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_TIMER1			0x138
89*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_VCO_TUNE_TIMER2			0x13c
9032d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CMN_STATUS			0x140
91*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_RESET_SM_STATUS			0x144
92*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_RESTRIM_CODE_STATUS		0x148
93*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_PLLCAL_CODE1_STATUS		0x14c
94*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_PLLCAL_CODE2_STATUS		0x150
9532d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CLK_SELECT			0x154
9632d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_HSCLK_SEL			0x158
9732d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_HSCLK_HS_SWITCH_SEL		0x15c
98*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_INTEGLOOP_BINCODE_STATUS		0x160
99*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_PLL_ANALOG			0x164
10032d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CORECLK_DIV_MODE0		0x168
10132d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CORECLK_DIV_MODE1		0x16c
102*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_SW_RESET				0x170
10332d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CORE_CLK_EN			0x174
10432d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_C_READY_STATUS			0x178
10532d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CMN_CONFIG			0x17c
106*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_CMN_RATE_OVERRIDE		0x180
10732d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_SVS_MODE_CLK_SEL			0x184
108*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_DEBUG_BUS0			0x188
109*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_DEBUG_BUS1			0x18c
110*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_DEBUG_BUS2			0x190
111*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_DEBUG_BUS3			0x194
112*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_DEBUG_BUS_SEL			0x198
11332d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CMN_MISC1			0x19c
114*1195c1daSDmitry Baryshkov #define QSERDES_V4_COM_CMN_MISC2			0x1a0
11532d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_CMN_MODE				0x1a4
11632d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_VCO_DC_LEVEL_CTRL		0x1a8
11732d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE1_MODE0	0x1ac
11832d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE2_MODE0	0x1b0
11932d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE1_MODE1	0x1b4
12032d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE2_MODE1	0x1b8
12132d2cf53SDmitry Baryshkov #define QSERDES_V4_COM_BIN_VCOCAL_HSCLK_SEL		0x1bc
12232d2cf53SDmitry Baryshkov 
12332d2cf53SDmitry Baryshkov #endif
124