Skip to content

Commit 83cb72b

Browse files
lumagvinodkoul
authored andcommitted
phy: qcom-qmp-usb: rework regs layout arrays
Use symbolic names for the values inside reg layout arrays. New register names are added following the PCS register layout that is used by the particular PHY. Note: ipq8074 tables appear to use a mixture of v2 and v3 registers. This might need additional fixes. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://lore.kernel.org/r/20221110192248.873973-12-dmitry.baryshkov@linaro.org Signed-off-by: Vinod Koul <vkoul@kernel.org>
1 parent 5c45d28 commit 83cb72b

File tree

2 files changed

+29
-26
lines changed

2 files changed

+29
-26
lines changed

drivers/phy/qualcomm/phy-qcom-qmp-pcs-v2.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@
2828
#define QPHY_V2_PCS_FLL_CNT_VAL_L 0x0c8
2929
#define QPHY_V2_PCS_FLL_CNT_VAL_H_TOL 0x0cc
3030
#define QPHY_V2_PCS_FLL_MAN_CODE 0x0d0
31+
#define QPHY_V2_PCS_AUTONOMOUS_MODE_CTRL 0x0d4
32+
#define QPHY_V2_PCS_LFPS_RXTERM_IRQ_CLEAR 0x0d8
3133
#define QPHY_V2_PCS_LFPS_RXTERM_IRQ_STATUS 0x178
34+
#define QPHY_V2_PCS_USB_PCS_STATUS 0x17c /* USB */
3235
#define QPHY_V2_PCS_PLL_LOCK_CHK_DLY_TIME_AUXCLK_LSB 0x1a8
3336
#define QPHY_V2_PCS_OSC_DTCT_ACTIONS 0x1ac
3437
#define QPHY_V2_PCS_RX_SIGDET_LVL 0x1d8

drivers/phy/qualcomm/phy-qcom-qmp-usb.c

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -96,42 +96,42 @@ enum qphy_reg_layout {
9696
QPHY_LAYOUT_SIZE
9797
};
9898

99-
static const unsigned int usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
100-
[QPHY_SW_RESET] = 0x00,
101-
[QPHY_START_CTRL] = 0x08,
102-
[QPHY_PCS_STATUS] = 0x17c,
103-
[QPHY_PCS_AUTONOMOUS_MODE_CTRL] = 0x0d4,
104-
[QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = 0x0d8,
105-
[QPHY_PCS_POWER_DOWN_CONTROL] = 0x04,
99+
static const unsigned int qmp_v2_usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
100+
[QPHY_SW_RESET] = QPHY_V2_PCS_SW_RESET,
101+
[QPHY_START_CTRL] = QPHY_V2_PCS_START_CONTROL,
102+
[QPHY_PCS_STATUS] = QPHY_V2_PCS_USB_PCS_STATUS,
103+
[QPHY_PCS_AUTONOMOUS_MODE_CTRL] = QPHY_V2_PCS_AUTONOMOUS_MODE_CTRL,
104+
[QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = QPHY_V2_PCS_LFPS_RXTERM_IRQ_CLEAR,
105+
[QPHY_PCS_POWER_DOWN_CONTROL] = QPHY_V2_PCS_POWER_DOWN_CONTROL,
106106
};
107107

108108
static const unsigned int qmp_v3_usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
109-
[QPHY_SW_RESET] = 0x00,
110-
[QPHY_START_CTRL] = 0x08,
111-
[QPHY_PCS_STATUS] = 0x174,
112-
[QPHY_PCS_AUTONOMOUS_MODE_CTRL] = 0x0d8,
113-
[QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = 0x0dc,
114-
[QPHY_PCS_POWER_DOWN_CONTROL] = 0x04,
109+
[QPHY_SW_RESET] = QPHY_V3_PCS_SW_RESET,
110+
[QPHY_START_CTRL] = QPHY_V3_PCS_START_CONTROL,
111+
[QPHY_PCS_STATUS] = QPHY_V3_PCS_PCS_STATUS,
112+
[QPHY_PCS_AUTONOMOUS_MODE_CTRL] = QPHY_V3_PCS_AUTONOMOUS_MODE_CTRL,
113+
[QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = QPHY_V3_PCS_LFPS_RXTERM_IRQ_CLEAR,
114+
[QPHY_PCS_POWER_DOWN_CONTROL] = QPHY_V3_PCS_POWER_DOWN_CONTROL,
115115
};
116116

117117
static const unsigned int qmp_v4_usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
118-
[QPHY_SW_RESET] = 0x00,
119-
[QPHY_START_CTRL] = 0x44,
120-
[QPHY_PCS_STATUS] = 0x14,
121-
[QPHY_PCS_POWER_DOWN_CONTROL] = 0x40,
118+
[QPHY_SW_RESET] = QPHY_V4_PCS_SW_RESET,
119+
[QPHY_START_CTRL] = QPHY_V4_PCS_START_CONTROL,
120+
[QPHY_PCS_STATUS] = QPHY_V4_PCS_PCS_STATUS1,
121+
[QPHY_PCS_POWER_DOWN_CONTROL] = QPHY_V4_PCS_POWER_DOWN_CONTROL,
122122

123123
/* In PCS_USB */
124-
[QPHY_PCS_AUTONOMOUS_MODE_CTRL] = 0x008,
125-
[QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = 0x014,
124+
[QPHY_PCS_AUTONOMOUS_MODE_CTRL] = QPHY_V4_PCS_USB3_AUTONOMOUS_MODE_CTRL,
125+
[QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = QPHY_V4_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR,
126126
};
127127

128128
static const unsigned int qcm2290_usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
129-
[QPHY_SW_RESET] = 0x00,
130-
[QPHY_PCS_POWER_DOWN_CONTROL] = 0x04,
131-
[QPHY_START_CTRL] = 0x08,
132-
[QPHY_PCS_AUTONOMOUS_MODE_CTRL] = 0xd8,
133-
[QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = 0xdc,
134-
[QPHY_PCS_STATUS] = 0x174,
129+
[QPHY_SW_RESET] = QPHY_V3_PCS_SW_RESET,
130+
[QPHY_PCS_POWER_DOWN_CONTROL] = QPHY_V3_PCS_POWER_DOWN_CONTROL,
131+
[QPHY_START_CTRL] = QPHY_V3_PCS_START_CONTROL,
132+
[QPHY_PCS_AUTONOMOUS_MODE_CTRL] = QPHY_V3_PCS_AUTONOMOUS_MODE_CTRL,
133+
[QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = QPHY_V3_PCS_LFPS_RXTERM_IRQ_CLEAR,
134+
[QPHY_PCS_STATUS] = QPHY_V3_PCS_PCS_STATUS,
135135
};
136136

137137
static const struct qmp_phy_init_tbl ipq8074_usb3_serdes_tbl[] = {
@@ -1598,7 +1598,7 @@ static const struct qmp_phy_cfg msm8996_usb3phy_cfg = {
15981598
.num_resets = ARRAY_SIZE(msm8996_usb3phy_reset_l),
15991599
.vreg_list = qmp_phy_vreg_l,
16001600
.num_vregs = ARRAY_SIZE(qmp_phy_vreg_l),
1601-
.regs = usb3phy_regs_layout,
1601+
.regs = qmp_v2_usb3phy_regs_layout,
16021602
};
16031603

16041604
static const struct qmp_phy_cfg qmp_v3_usb3phy_cfg = {

0 commit comments

Comments
 (0)