phy: qcom-qmp-usb: rework regs layout arrays
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 10 Nov 2022 19:22:46 +0000 (22:22 +0300)
committerVinod Koul <vkoul@kernel.org>
Thu, 12 Jan 2023 17:18:42 +0000 (22:48 +0530)
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>
drivers/phy/qualcomm/phy-qcom-qmp-pcs-v2.h
drivers/phy/qualcomm/phy-qcom-qmp-usb.c

index c7e8e2a28e6efa015cc2074e3d41a9ee413b05ba..bf36399d00570b8136619907d57cc36f63a237e0 100644 (file)
 #define QPHY_V2_PCS_FLL_CNT_VAL_L                      0x0c8
 #define QPHY_V2_PCS_FLL_CNT_VAL_H_TOL                  0x0cc
 #define QPHY_V2_PCS_FLL_MAN_CODE                       0x0d0
+#define QPHY_V2_PCS_AUTONOMOUS_MODE_CTRL               0x0d4
+#define QPHY_V2_PCS_LFPS_RXTERM_IRQ_CLEAR              0x0d8
 #define QPHY_V2_PCS_LFPS_RXTERM_IRQ_STATUS             0x178
+#define QPHY_V2_PCS_USB_PCS_STATUS                     0x17c /* USB */
 #define QPHY_V2_PCS_PLL_LOCK_CHK_DLY_TIME_AUXCLK_LSB   0x1a8
 #define QPHY_V2_PCS_OSC_DTCT_ACTIONS                   0x1ac
 #define QPHY_V2_PCS_RX_SIGDET_LVL                      0x1d8
index f9ff5374dcacf13ca84eb1bd423738fae88fe254..294332f8d39d3938719b64c287859ab016654189 100644 (file)
@@ -96,42 +96,42 @@ enum qphy_reg_layout {
        QPHY_LAYOUT_SIZE
 };
 
-static const unsigned int usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
-       [QPHY_SW_RESET]                 = 0x00,
-       [QPHY_START_CTRL]               = 0x08,
-       [QPHY_PCS_STATUS]               = 0x17c,
-       [QPHY_PCS_AUTONOMOUS_MODE_CTRL] = 0x0d4,
-       [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR]  = 0x0d8,
-       [QPHY_PCS_POWER_DOWN_CONTROL]   = 0x04,
+static const unsigned int qmp_v2_usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
+       [QPHY_SW_RESET]                 = QPHY_V2_PCS_SW_RESET,
+       [QPHY_START_CTRL]               = QPHY_V2_PCS_START_CONTROL,
+       [QPHY_PCS_STATUS]               = QPHY_V2_PCS_USB_PCS_STATUS,
+       [QPHY_PCS_AUTONOMOUS_MODE_CTRL] = QPHY_V2_PCS_AUTONOMOUS_MODE_CTRL,
+       [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = QPHY_V2_PCS_LFPS_RXTERM_IRQ_CLEAR,
+       [QPHY_PCS_POWER_DOWN_CONTROL]   = QPHY_V2_PCS_POWER_DOWN_CONTROL,
 };
 
 static const unsigned int qmp_v3_usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
-       [QPHY_SW_RESET]                 = 0x00,
-       [QPHY_START_CTRL]               = 0x08,
-       [QPHY_PCS_STATUS]               = 0x174,
-       [QPHY_PCS_AUTONOMOUS_MODE_CTRL] = 0x0d8,
-       [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR]  = 0x0dc,
-       [QPHY_PCS_POWER_DOWN_CONTROL]   = 0x04,
+       [QPHY_SW_RESET]                 = QPHY_V3_PCS_SW_RESET,
+       [QPHY_START_CTRL]               = QPHY_V3_PCS_START_CONTROL,
+       [QPHY_PCS_STATUS]               = QPHY_V3_PCS_PCS_STATUS,
+       [QPHY_PCS_AUTONOMOUS_MODE_CTRL] = QPHY_V3_PCS_AUTONOMOUS_MODE_CTRL,
+       [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = QPHY_V3_PCS_LFPS_RXTERM_IRQ_CLEAR,
+       [QPHY_PCS_POWER_DOWN_CONTROL]   = QPHY_V3_PCS_POWER_DOWN_CONTROL,
 };
 
 static const unsigned int qmp_v4_usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
-       [QPHY_SW_RESET]                 = 0x00,
-       [QPHY_START_CTRL]               = 0x44,
-       [QPHY_PCS_STATUS]               = 0x14,
-       [QPHY_PCS_POWER_DOWN_CONTROL]   = 0x40,
+       [QPHY_SW_RESET]                 = QPHY_V4_PCS_SW_RESET,
+       [QPHY_START_CTRL]               = QPHY_V4_PCS_START_CONTROL,
+       [QPHY_PCS_STATUS]               = QPHY_V4_PCS_PCS_STATUS1,
+       [QPHY_PCS_POWER_DOWN_CONTROL]   = QPHY_V4_PCS_POWER_DOWN_CONTROL,
 
        /* In PCS_USB */
-       [QPHY_PCS_AUTONOMOUS_MODE_CTRL] = 0x008,
-       [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = 0x014,
+       [QPHY_PCS_AUTONOMOUS_MODE_CTRL] = QPHY_V4_PCS_USB3_AUTONOMOUS_MODE_CTRL,
+       [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = QPHY_V4_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR,
 };
 
 static const unsigned int qcm2290_usb3phy_regs_layout[QPHY_LAYOUT_SIZE] = {
-       [QPHY_SW_RESET]                 = 0x00,
-       [QPHY_PCS_POWER_DOWN_CONTROL]   = 0x04,
-       [QPHY_START_CTRL]               = 0x08,
-       [QPHY_PCS_AUTONOMOUS_MODE_CTRL] = 0xd8,
-       [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = 0xdc,
-       [QPHY_PCS_STATUS]               = 0x174,
+       [QPHY_SW_RESET]                 = QPHY_V3_PCS_SW_RESET,
+       [QPHY_PCS_POWER_DOWN_CONTROL]   = QPHY_V3_PCS_POWER_DOWN_CONTROL,
+       [QPHY_START_CTRL]               = QPHY_V3_PCS_START_CONTROL,
+       [QPHY_PCS_AUTONOMOUS_MODE_CTRL] = QPHY_V3_PCS_AUTONOMOUS_MODE_CTRL,
+       [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] = QPHY_V3_PCS_LFPS_RXTERM_IRQ_CLEAR,
+       [QPHY_PCS_STATUS]               = QPHY_V3_PCS_PCS_STATUS,
 };
 
 static const struct qmp_phy_init_tbl ipq8074_usb3_serdes_tbl[] = {
@@ -1598,7 +1598,7 @@ static const struct qmp_phy_cfg msm8996_usb3phy_cfg = {
        .num_resets             = ARRAY_SIZE(msm8996_usb3phy_reset_l),
        .vreg_list              = qmp_phy_vreg_l,
        .num_vregs              = ARRAY_SIZE(qmp_phy_vreg_l),
-       .regs                   = usb3phy_regs_layout,
+       .regs                   = qmp_v2_usb3phy_regs_layout,
 };
 
 static const struct qmp_phy_cfg qmp_v3_usb3phy_cfg = {