Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23c1aad9 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: Update QMP phy init sequence for sdxpoorwills"

parents e86d50b4 f8e48340
Loading
Loading
Loading
Loading
+94 −93
Original line number Diff line number Diff line
@@ -92,8 +92,10 @@
	/* USB port for Super Speed PHY */
	usb3_qmp_phy: ssphy@ff0000 {
		compatible = "qcom,usb-ssphy-qmp-v2";
		reg = <0xff0000 0x1000>;
		reg-names = "qmp_phy_base";
		reg = <0xff0000 0x1000>,
		    <0x01fcb244 0x4>;
		reg-names = "qmp_phy_base",
			"vls_clamp_reg";

		vdd-supply = <&pmxpoorwills_l4>;
		core-supply = <&pmxpoorwills_l1>;
@@ -101,103 +103,99 @@
		qcom,vbus-valid-override;
		qcom,qmp-phy-init-seq =
		/* <reg_offset, value, delay> */
			<0x048 0x07 0x00 /* QSERDES_COM_PLL_IVCO */
			 0x080 0x14 0x00 /* QSERDES_COM_SYSCLK_EN_SEL */
			 0x034 0x04 0x00 /* QSERDES_COM_BIAS_EN_CLKBUFLR_EN */
			 0x138 0x30 0x00 /* QSERDES_COM_CLK_SELECT */
			 0x03c 0x02 0x00 /* QSERDES_COM_SYS_CLK_CTRL */
			 0x08c 0x08 0x00 /* QSERDES_COM_RESETSM_CNTRL2 */
			 0x15c 0x06 0x00 /* QSERDES_COM_CMN_CONFIG */
			 0x164 0x01 0x00 /* QSERDES_COM_SVS_MODE_CLK_SEL */
			 0x13c 0x80 0x00 /* QSERDES_COM_HSCLK_SEL */
			 0x0b0 0x82 0x00 /* QSERDES_COM_DEC_START_MODE0 */
			 0x0b8 0xab 0x00 /* QSERDES_COM_DIV_FRAC_START1_MODE0 */
			 0x0bc 0xea 0x00 /* QSERDES_COM_DIV_FRAC_START2_MODE0 */
			 0x0c0 0x02 0x00 /* QSERDES_COM_DIV_FRAC_START3_MODE0 */
			 0x060 0x06 0x00 /* QSERDES_COM_CP_CTRL_MODE0 */
			 0x068 0x16 0x00 /* QSERDES_COM_PLL_RCTRL_MODE0 */
			 0x070 0x36 0x00 /* QSERDES_COM_PLL_CCTRL_MODE0 */
			 0x0dc 0x00 0x00 /* QSERDES_COM_INTEGLOOP_GAIN1_MODE0 */
			 0x0d8 0x3f 0x00 /* QSERDES_COM_INTEGLOOP_GAIN0_MODE0 */
			 0x0f8 0x01 0x00 /* QSERDES_COM_VCO_TUNE2_MODE0 */
			 0x0f4 0xc9 0x00 /* QSERDES_COM_VCO_TUNE1_MODE0 */
			 0x148 0x0a 0x00 /* QSERDES_COM_CORECLK_DIV_MODE0 */
			 0x0a0 0x00 0x00 /* QSERDES_COM_LOCK_CMP3_MODE0 */
			 0x09c 0x34 0x00 /* QSERDES_COM_LOCK_CMP2_MODE0 */
			 0x098 0x15 0x00 /* QSERDES_COM_LOCK_CMP1_MODE0 */
			 0x090 0x04 0x00 /* QSERDES_COM_LOCK_CMP_EN */
			 0x154 0x00 0x00 /* QSERDES_COM_CORE_CLK_EN */
			 0x094 0x00 0x00 /* QSERDES_COM_LOCK_CMP_CFG */
			 0x0f0 0x00 0x00 /* QSERDES_COM_VCO_TUNE_MAP */
			 0x040 0x0a 0x00 /* QSERDES_COM_SYSCLK_BUF_ENABLE */
			 0x0d0 0x80 0x00 /* QSERDES_COM_INTEGLOOP_INITVAL */
			<0x058 0x07 0x00 /* QSERDES_COM_PLL_IVCO */
			 0x094 0x1a 0x00 /* QSERDES_COM_SYSCLK_EN_SEL */
			 0x044 0x14 0x00 /* QSERDES_COM_BIAS_EN_CLKBUFLR_EN */
			 0x154 0x31 0x00 /* QSERDES_COM_CLK_SELECT */
			 0x04c 0x02 0x00 /* QSERDES_COM_SYS_CLK_CTRL */
			 0x0a0 0x08 0x00 /* QSERDES_COM_RESETSM_CNTRL2 */
			 0x17c 0x06 0x00 /* QSERDES_COM_CMN_CONFIG */
			 0x184 0x05 0x00 /* QSERDES_COM_SVS_MODE_CLK_SEL */
			 0x1bc 0x11 0x00 /* QSERDES_COM_BIN_VCOCAL_HSCLK_SEL*/
			 0x158 0x01 0x00 /* QSERDES_COM_HSCLK_SEL */
			 0x0bc 0x82 0x00 /* QSERDES_COM_DEC_START_MODE0 */
			 0x0cc 0xab 0x00 /* QSERDES_COM_DIV_FRAC_START1_MODE0 */
			 0x0d0 0xea 0x00 /* QSERDES_COM_DIV_FRAC_START2_MODE0 */
			 0x0d4 0x02 0x00 /* COM_DIV_FRAC_START3_MODE0 */
			 0x1ac 0xca 0x00 /* COM_BIN_VCOCAL_CMP_CODE1_MODE0 */
			 0x1b0 0x1e 0x00 /* COM_BIN_VCOCAL_CMP_CODE2_MODE0 */
			 0x074 0x06 0x00 /* QSERDES_COM_CP_CTRL_MODE0 */
			 0x07c 0x16 0x00 /* QSERDES_COM_PLL_RCTRL_MODE0 */
			 0x084 0x36 0x00 /* QSERDES_COM_PLL_CCTRL_MODE0 */
			 0x0f0 0x00 0x00 /* QSERDES_COM_INTEGLOOP_GAIN1_MODE0 */
			 0x0ec 0x3f 0x00 /* QSERDES_COM_INTEGLOOP_GAIN0_MODE0 */
			 0x114 0x02 0x00 /* QSERDES_COM_VCO_TUNE2_MODE0 */
			 0x110 0x24 0x00 /* QSERDES_COM_VCO_TUNE1_MODE0 */
			 0x168 0x0a 0x00 /* QSERDES_COM_CORECLK_DIV_MODE0 */
			 0x0b0 0x34 0x00 /* QSERDES_COM_LOCK_CMP2_MODE0 */
			 0x0ac 0x14 0x00 /* QSERDES_COM_LOCK_CMP1_MODE0 */
			 0x0a4 0x04 0x00 /* QSERDES_COM_LOCK_CMP_EN */
			 0x174 0x00 0x00 /* QSERDES_COM_CORE_CLK_EN */
			 0x0a8 0x00 0x00 /* QSERDES_COM_LOCK_CMP_CFG */
			 0x10c 0x00 0x00 /* QSERDES_COM_VCO_TUNE_MAP */
			 0x050 0x0a 0x00 /* QSERDES_COM_SYSCLK_BUF_ENABLE */
			 0x00c 0x0a 0x00 /* QSERDES_COM_BG_TIMER */
			 0x010 0x01 0x00 /* QSERDES_COM_SSC_EN_CENTER */
			 0x01c 0x31 0x00 /* QSERDES_COM_SSC_PER1 */
			 0x020 0x01 0x00 /* QSERDES_COM_SSC_PER2 */
			 0x014 0x00 0x00 /* QSERDES_COM_SSC_ADJ_PER1 */
			 0x018 0x00 0x00 /* QSERDES_COM_SSC_ADJ_PER2 */
			 0x024 0x85 0x00 /* QSERDES_COM_SSC_STEP_SIZE1 */
			 0x028 0x07 0x00 /* QSERDES_COM_SSC_STEP_SIZE2 */
			 0x4c0 0x0c 0x00 /* QSERDES_RX_VGA_CAL_CNTRL2 */
			 0x564 0x50 0x00 /* QSERDES_RX_RX_MODE_00 */
			 0x430 0x0b 0x00 /* QSERDES_RX_UCDR_FASTLOCK_FO_GAIN */
			 0x4d4 0x0e 0x00 /* QSERDES_RX_RX_EQU_ADAPTOR_CNTRL2 */
			 0x4d8 0x4e 0x00 /* QSERDES_RX_RX_EQU_ADAPTOR_CNTRL3 */
			 0x4dc 0x18 0x00 /* QSERDES_RX_RX_EQU_ADAPTOR_CNTRL4 */
			 0x4f8 0x77 0x00 /* RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1 */
			 0x4fc 0x80 0x00 /* RX_RX_OFFSET_ADAPTOR_CNTRL2 */
			 0x504 0x03 0x00 /* QSERDES_RX_SIGDET_CNTRL */
			 0x50c 0x1c 0x00 /* QSERDES_RX_SIGDET_DEGLITCH_CNTRL */
			 0x434 0x75 0x00 /* RX_UCDR_SO_SATURATION_AND_ENABLE */
			 0x444 0x80 0x00 /* QSERDES_RX_UCDR_PI_CONTROLS */
			 0x030 0xde 0x00 /* QSERDES_COM_SSC_STEP_SIZE1_MODE1 */
			 0x034 0x07 0x00 /* QSERDES_COM_SSC_STEP_SIZE2_MODE1 */
			 0x024 0xde 0x00 /* QSERDES_COM_SSC_STEP_SIZE1_MODE0 */
			 0x028 0x07 0x00 /* QSERDES_COM_SSC_STEP_SIZE1_MODE0 */
			 0x4a4 0x3f 0x00 /* QSERDES_RX_RX_IDAC_ENABLES */
			 0x594 0xbf 0x00 /* QSERDES_RX_RX_MODE_01_HIGH4 */
			 0x590 0x09 0x00 /* QSERDES_RX_RX_MODE_01_HIGH3 */
			 0x58c 0xc8 0x00 /* QSERDES_RX_RX_MODE_01_HIGH2 */
			 0x588 0xc8 0x00 /* QSERDES_RX_RX_MODE_01_HIGH */
			 0x584 0xe0 0x00 /* QSERDES_RX_RX_MODE_01_LOW */
			 0x444 0x01 0x00 /* QSERDES_RX_UCDR_PI_CONTROLS */
			 0x408 0x0a 0x00 /* QSERDES_RX_UCDR_FO_GAIN */
			 0x40c 0x06 0x00 /* QSERDES_RX_UCDR_SO_GAIN */
			 0x500 0x00 0x00 /* QSERDES_RX_SIGDET_ENABLES */
			 0x260 0x10 0x00 /* QSERDES_TX_HIGHZ_DRVR_EN */
			 0x2a4 0x12 0x00 /* QSERDES_TX_RCV_DETECT_LVL_2 */
			 0x28c 0xc6 0x00 /* QSERDES_TX_LANE_MODE_1 */
			 0x248 0x09 0x00 /* TX_RES_CODE_LANE_OFFSET_RX */
			 0x244 0x0d 0x00 /* TX_RES_CODE_LANE_OFFSET_TX */
			 0x8c8 0x83 0x00 /* USB3_UNI_PCS_FLL_CNTRL2 */
			 0x8cc 0x09 0x00 /* USB3_UNI_PCS_FLL_CNT_VAL_L */
			 0x8d0 0xa2 0x00 /* USB3_UNI_PCS_FLL_CNT_VAL_H_TOL */
			 0x8d4 0x40 0x00 /* USB3_UNI_PCS_FLL_MAN_CODE */
			 0x8c4 0x02 0x00 /* USB3_UNI_PCS_FLL_CNTRL1 */
			 0x864 0x1b 0x00 /* USB3_UNI_PCS_POWER_STATE_CONFIG2 */
			 0x80c 0x9f 0x00 /* USB3_UNI_PCS_TXMGN_V0 */
			 0x810 0x9f 0x00 /* USB3_UNI_PCS_TXMGN_V1 */
			 0x814 0xb5 0x00 /* USB3_UNI_PCS_TXMGN_V2 */
			 0x818 0x4c 0x00 /* USB3_UNI_PCS_TXMGN_V3 */
			 0x81c 0x64 0x00 /* USB3_UNI_PCS_TXMGN_V4 */
			 0x820 0x6a 0x00 /* USB3_UNI_PCS_TXMGN_LS */
			 0x824 0x15 0x00 /* USB3_UNI_PCS_TXDEEMPH_M6DB_V0 */
			 0x828 0x0d 0x00 /* USB3_UNI_PCS_TXDEEMPH_M3P5DB_V0 */
			 0x82c 0x15 0x00 /* USB3_UNI_PCS_TXDEEMPH_M6DB_V1 */
			 0x830 0x0d 0x00 /* USB3_UNI_PCS_TXDEEMPH_M3P5DB_V1 */
			 0x834 0x15 0x00 /* USB3_UNI_PCS_TXDEEMPH_M6DB_V2 */
			 0x838 0x0d 0x00 /* USB3_UNI_PCS_TXDEEMPH_M3P5DB_V2 */
			 0x83c 0x15 0x00 /* USB3_UNI_PCS_TXDEEMPH_M6DB_V3 */
			 0x840 0x0d 0x00 /* USB3_UNI_PCS_TXDEEMPH_M3P5DB_V3 */
			 0x844 0x15 0x00 /* USB3_UNI_PCS_TXDEEMPH_M6DB_V4 */
			 0x848 0x0d 0x00 /* USB3_UNI_PCS_TXDEEMPH_M3P5DB_V4 */
			 0x84c 0x15 0x00 /* USB3_UNI_PCS_TXDEEMPH_M6DB_LS */
			 0x850 0x0d 0x00 /* USB3_UNI_PCS_TXDEEMPH_M3P5DB_LS */
			 0x85c 0x02 0x00 /* USB3_UNI_PCS_RATE_SLEW_CNTRL */
			 0x8a0 0x04 0x00 /* PCS_PWRUP_RESET_DLY_TIME_AUXCLK */
			 0x88c 0x44 0x00 /* USB3_UNI_PCS_TSYNC_RSYNC_TIME */
			 0x880 0xd1 0x00 /* USB3_UNI_PCS_LOCK_DETECT_CONFIG1 */
			 0x884 0x1f 0x00 /* USB3_UNI_PCS_LOCK_DETECT_CONFIG2 */
			 0x888 0x47 0x00 /* USB3_UNI_PCS_LOCK_DETECT_CONFIG3 */
			 0x870 0xe7 0x00 /* USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_L */
			 0x874 0x03 0x00 /* USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_H */
			 0x878 0x40 0x00 /* USB3_UNI_PCS_RCVR_DTCT_DLY_U3_L */
			 0x87c 0x00 0x00 /* USB3_UNI_PCS_RCVR_DTCT_DLY_U3_H */
			 0x9d8 0xba 0x00 /* USB3_UNI_PCS_RX_SIGDET_LVL */
			 0x8b8 0x75 0x00 /* RXEQTRAINING_WAIT_TIME */
			 0x8b0 0x86 0x00 /* PCS_LFPS_TX_ECSTART_EQTLOCK */
			 0x8bc 0x13 0x00 /* PCS_RXEQTRAINING_RUN_TIME */
			 0xa0c 0x21 0x00 /* USB3_UNI_PCS_REFGEN_REQ_CONFIG1 */
			 0xa10 0x60 0x00 /* USB3_UNI_PCS_REFGEN_REQ_CONFIG2 */
			 0x414 0x06 0x00 /* QSERDES_RX_UCDR_SO_GAIN */
			 0x430 0x2f 0x00 /* QSERDES_RX_UCDR_FASTLOCK_FO_GAIN */
			 0x43c 0xff 0x00 /* RX_UCDR_FASTLOCK_COUNT_LOW */
			 0x440 0x0f 0x00 /* RX_UCDR_FASTLOCK_COUNT_HIGH */
			 0x420 0x0a 0x00 /* QSERDES_RX_UCDR_SVS_FO_GAIN */
			 0x42c 0x06 0x00 /* QSERDES_RX_UCDR_SVS_SO_GAIN */
			 0x434 0x7f 0x00 /* RX_UCDR_SO_SATURATION_AND_ENABLE */
			 0x4d8 0x0c 0x00 /* QSERDES_RX_VGA_CAL_CNTRL2 */
			 0x4ec 0x0e 0x00 /* QSERDES_RX_RX_EQU_ADAPTOR_CNTRL2 */
			 0x4f0 0x4e 0x00 /* QSERDES_RX_RX_EQU_ADAPTOR_CNTRL3 */
			 0x4f4 0x18 0x00 /* QSERDES_RX_RX_EQU_ADAPTOR_CNTRL4 */
			 0x5b4 0x04 0x00 /* QSERDES_RX_DFE_EN_TIMER */
			 0x510 0x77 0x00 /* RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1 */
			 0x514 0x80 0x00 /* RX_RX_OFFSET_ADAPTOR_CNTRL2 */
			 0x51c 0x04 0x00 /* QSERDES_RX_SIGDET_CNTRL */
			 0x524 0x1a 0x00 /* QSERDES_RX_SIGDET_DEGLITCH_CNTRL */
			 0x4fc 0x00 0x00 /* QSERDES_RX_RX_IDAC_TSETTLE_HIGH */
			 0x4f8 0xc0 0x00 /* QSERDES_RX_RX_IDAC_TSETTLE_LOW */
			 0x258 0x10 0x00 /* QSERDES_TX_HIGHZ_DRVR_EN */
			 0x29c 0x12 0x00 /* QSERDES_TX_RCV_DETECT_LVL_2 */
			 0x284 0x05 0x00 /* QSERDES_TX_LANE_MODE_1 */
			 0x288 0x02 0x00 /* QSERDES_TX_LANE_MODE_2 */
			 0x28c 0x00 0x00 /* QSERDES_TX_LANE_MODE_3*/
			 0x89c 0x83 0x00 /* USB3_UNI_PCS_FLL_CNTRL2 */
			 0x8a0 0x09 0x00 /* USB3_UNI_PCS_FLL_CNT_VAL_L */
			 0x8a4 0xa2 0x00 /* USB3_UNI_PCS_FLL_CNT_VAL_H_TOL */
			 0x8a8 0x40 0x00 /* USB3_UNI_PCS_FLL_MAN_CODE */
			 0x898 0x02 0x00 /* USB3_UNI_PCS_FLL_CNTRL1 */
			 0x8c4 0xd0 0x00 /* USB3_UNI_PCS_LOCK_DETECT_CONFIG1 */
			 0x8c8 0x17 0x00 /* USB3_UNI_PCS_LOCK_DETECT_CONFIG2 */
			 0x8cc 0x20 0x00 /* USB3_UNI_PCS_LOCK_DETECT_CONFIG3 */
			 0x890 0x4f 0x00 /* USB3_UNI_PCS_POWER_STATE_CONFIG1 */
			 0x990 0xe7 0x00 /* USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_L */
			 0x994 0x03 0x00 /* USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_H */
			 0x988 0xba 0x00 /* USB3_UNI_PCS_RX_SIGDET_LVL */
			 0xe2c 0x75 0x00 /* USB3_RXEQTRAINING_WAIT_TIME */
			 0xe38 0x07 0x00 /* USB3_RXEQTRAINING_DFE_TIME_S2 */
			 0xe18 0x64 0x00 /* USB3_LFPS_DET_HIGH_COUNT_VAL */
			 0x9c0 0x88 0x00 /* USB3_UNI_PCS_ALIGN_DETECT_CONFIG1 */
			 0x9c4 0x13 0x00 /* USB3_UNI_PCS_ALIGN_DETECT_CONFIG2 */
			 0x9dc 0x0d 0x00 /* USB3_UNI_PCS_EQ_CONFIG1 */
			 0x9e0 0x0d 0x00 /* USB3_UNI_PCS_EQ_CONFIG2 */
			 0x8dc 0x21 0x00 /* USB3_UNI_PCS_REFGEN_REQ_CONFIG1 */
			 0x8e0 0x60 0x00 /* USB3_UNI_PCS_REFGEN_REQ_CONFIG2 */
			 0xffffffff 0xffffffff 0x00>;

		qcom,qmp-phy-reg-offset =
@@ -215,5 +213,8 @@

		clock-names = "aux_clk", "pipe_clk", "ref_clk_src",
				"cfg_ahb_clk";
		resets = <&clock_gcc GCC_USB3_PHY_BCR>,
		       <&clock_gcc GCC_USB3PHY_PHY_BCR>;
		reset-names = "phy_reset", "phy_phy_reset";
	};
};
+1 −1
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@
#define USB_HSPHY_3P3_HPM_LOAD			16000	/* uA */
#define USB_HSPHY_3P3_VOL_FSHOST		3150000 /* uV */

#define USB_HSPHY_1P8_VOL_MIN			1800000 /* uV */
#define USB_HSPHY_1P8_VOL_MIN			1704000 /* uV */
#define USB_HSPHY_1P8_VOL_MAX			1800000 /* uV */
#define USB_HSPHY_1P8_HPM_LOAD			19000	/* uA */