cdns_phy          113 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_run(struct cdns_dp_phy *cdns_phy);
cdns_phy          114 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_wait_pma_cmn_ready(struct cdns_dp_phy *cdns_phy);
cdns_phy          115 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_cfg(struct cdns_dp_phy *cdns_phy);
cdns_phy          116 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_cmn_cfg_25mhz(struct cdns_dp_phy *cdns_phy);
cdns_phy          117 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_lane_cfg(struct cdns_dp_phy *cdns_phy,
cdns_phy          119 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_cmn_vco_cfg_25mhz(struct cdns_dp_phy *cdns_phy);
cdns_phy          120 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_cmn_rate(struct cdns_dp_phy *cdns_phy);
cdns_phy          121 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_write_field(struct cdns_dp_phy *cdns_phy,
cdns_phy          136 drivers/phy/cadence/phy-cadence-dp.c 	struct cdns_dp_phy *cdns_phy = phy_get_drvdata(phy);
cdns_phy          138 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0003, cdns_phy->base + PHY_AUX_CTRL); /* enable AUX */
cdns_phy          141 drivers/phy/cadence/phy-cadence-dp.c 	cdns_dp_phy_pma_cfg(cdns_phy);
cdns_phy          148 drivers/phy/cadence/phy-cadence-dp.c 	cdns_dp_phy_write_field(cdns_phy, PHY_PMA_XCVR_POWER_STATE_REQ,
cdns_phy          151 drivers/phy/cadence/phy-cadence-dp.c 	if (cdns_phy->num_lanes >= 2) {
cdns_phy          152 drivers/phy/cadence/phy-cadence-dp.c 		cdns_dp_phy_write_field(cdns_phy,
cdns_phy          156 drivers/phy/cadence/phy-cadence-dp.c 		if (cdns_phy->num_lanes == 4) {
cdns_phy          157 drivers/phy/cadence/phy-cadence-dp.c 			cdns_dp_phy_write_field(cdns_phy,
cdns_phy          160 drivers/phy/cadence/phy-cadence-dp.c 			cdns_dp_phy_write_field(cdns_phy,
cdns_phy          166 drivers/phy/cadence/phy-cadence-dp.c 	cdns_dp_phy_write_field(cdns_phy, PHY_PMA_XCVR_PLLCLK_EN,
cdns_phy          169 drivers/phy/cadence/phy-cadence-dp.c 	if (cdns_phy->num_lanes >= 2) {
cdns_phy          170 drivers/phy/cadence/phy-cadence-dp.c 		cdns_dp_phy_write_field(cdns_phy, PHY_PMA_XCVR_PLLCLK_EN,
cdns_phy          172 drivers/phy/cadence/phy-cadence-dp.c 		if (cdns_phy->num_lanes == 4) {
cdns_phy          173 drivers/phy/cadence/phy-cadence-dp.c 			cdns_dp_phy_write_field(cdns_phy,
cdns_phy          176 drivers/phy/cadence/phy-cadence-dp.c 			cdns_dp_phy_write_field(cdns_phy,
cdns_phy          186 drivers/phy/cadence/phy-cadence-dp.c 	lane_bits = (1 << cdns_phy->num_lanes) - 1;
cdns_phy          188 drivers/phy/cadence/phy-cadence-dp.c 		   cdns_phy->base + PHY_RESET);
cdns_phy          191 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0001, cdns_phy->base + PHY_PMA_XCVR_PLLCLK_EN);
cdns_phy          194 drivers/phy/cadence/phy-cadence-dp.c 	cdns_dp_phy_pma_cmn_vco_cfg_25mhz(cdns_phy);
cdns_phy          195 drivers/phy/cadence/phy-cadence-dp.c 	cdns_dp_phy_pma_cmn_rate(cdns_phy);
cdns_phy          198 drivers/phy/cadence/phy-cadence-dp.c 	cdns_dp_phy_write_field(cdns_phy, PHY_RESET, 8, 1, 1);
cdns_phy          199 drivers/phy/cadence/phy-cadence-dp.c 	cdns_dp_phy_wait_pma_cmn_ready(cdns_phy);
cdns_phy          200 drivers/phy/cadence/phy-cadence-dp.c 	cdns_dp_phy_run(cdns_phy);
cdns_phy          205 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_wait_pma_cmn_ready(struct cdns_dp_phy *cdns_phy)
cdns_phy          210 drivers/phy/cadence/phy-cadence-dp.c 	ret = readl_poll_timeout(cdns_phy->base + PHY_PMA_CMN_READY, reg,
cdns_phy          213 drivers/phy/cadence/phy-cadence-dp.c 		dev_err(cdns_phy->dev,
cdns_phy          217 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_cfg(struct cdns_dp_phy *cdns_phy)
cdns_phy          222 drivers/phy/cadence/phy-cadence-dp.c 	cdns_dp_phy_pma_cmn_cfg_25mhz(cdns_phy);
cdns_phy          225 drivers/phy/cadence/phy-cadence-dp.c 	for (i = 0; i < cdns_phy->num_lanes; i++)
cdns_phy          226 drivers/phy/cadence/phy-cadence-dp.c 		cdns_dp_phy_pma_lane_cfg(cdns_phy, i);
cdns_phy          229 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_cmn_cfg_25mhz(struct cdns_dp_phy *cdns_phy)
cdns_phy          232 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0019, cdns_phy->sd_base + CMN_SSM_BIAS_TMR);
cdns_phy          233 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0032, cdns_phy->sd_base + CMN_PLLSM0_PLLPRE_TMR);
cdns_phy          234 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x00D1, cdns_phy->sd_base + CMN_PLLSM0_PLLLOCK_TMR);
cdns_phy          235 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0032, cdns_phy->sd_base + CMN_PLLSM1_PLLPRE_TMR);
cdns_phy          236 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x00D1, cdns_phy->sd_base + CMN_PLLSM1_PLLLOCK_TMR);
cdns_phy          237 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x007D, cdns_phy->sd_base + CMN_BGCAL_INIT_TMR);
cdns_phy          238 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x007D, cdns_phy->sd_base + CMN_BGCAL_ITER_TMR);
cdns_phy          239 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0019, cdns_phy->sd_base + CMN_IBCAL_INIT_TMR);
cdns_phy          240 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x001E, cdns_phy->sd_base + CMN_TXPUCAL_INIT_TMR);
cdns_phy          241 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0006, cdns_phy->sd_base + CMN_TXPUCAL_ITER_TMR);
cdns_phy          242 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x001E, cdns_phy->sd_base + CMN_TXPDCAL_INIT_TMR);
cdns_phy          243 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0006, cdns_phy->sd_base + CMN_TXPDCAL_ITER_TMR);
cdns_phy          244 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x02EE, cdns_phy->sd_base + CMN_RXCAL_INIT_TMR);
cdns_phy          245 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0006, cdns_phy->sd_base + CMN_RXCAL_ITER_TMR);
cdns_phy          246 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0002, cdns_phy->sd_base + CMN_SD_CAL_INIT_TMR);
cdns_phy          247 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0002, cdns_phy->sd_base + CMN_SD_CAL_ITER_TMR);
cdns_phy          248 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x000E, cdns_phy->sd_base + CMN_SD_CAL_REFTIM_START);
cdns_phy          249 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x012B, cdns_phy->sd_base + CMN_SD_CAL_PLLCNT_START);
cdns_phy          251 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0409, cdns_phy->sd_base + CMN_PDIAG_PLL0_CP_PADJ_M0);
cdns_phy          252 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x1001, cdns_phy->sd_base + CMN_PDIAG_PLL0_CP_IADJ_M0);
cdns_phy          253 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0F08, cdns_phy->sd_base + CMN_PDIAG_PLL0_FILT_PADJ_M0);
cdns_phy          254 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0004, cdns_phy->sd_base + CMN_PLL0_DSM_DIAG_M0);
cdns_phy          255 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x00FA, cdns_phy->sd_base + CMN_PLL0_VCOCAL_INIT_TMR);
cdns_phy          256 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0004, cdns_phy->sd_base + CMN_PLL0_VCOCAL_ITER_TMR);
cdns_phy          257 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x00FA, cdns_phy->sd_base + CMN_PLL1_VCOCAL_INIT_TMR);
cdns_phy          258 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0004, cdns_phy->sd_base + CMN_PLL1_VCOCAL_ITER_TMR);
cdns_phy          259 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0318, cdns_phy->sd_base + CMN_PLL0_VCOCAL_REFTIM_START);
cdns_phy          262 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_cmn_vco_cfg_25mhz(struct cdns_dp_phy *cdns_phy)
cdns_phy          265 drivers/phy/cadence/phy-cadence-dp.c 	switch (cdns_phy->max_bit_rate) {
cdns_phy          269 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x01B0, cdns_phy->sd_base + CMN_PLL0_INTDIV_M0);
cdns_phy          270 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0000, cdns_phy->sd_base + CMN_PLL0_FRACDIVL_M0);
cdns_phy          271 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0002, cdns_phy->sd_base + CMN_PLL0_FRACDIVH_M0);
cdns_phy          272 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0120, cdns_phy->sd_base + CMN_PLL0_HIGH_THR_M0);
cdns_phy          277 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0184, cdns_phy->sd_base + CMN_PLL0_INTDIV_M0);
cdns_phy          278 drivers/phy/cadence/phy-cadence-dp.c 		writel(0xCCCD, cdns_phy->sd_base + CMN_PLL0_FRACDIVL_M0);
cdns_phy          279 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0002, cdns_phy->sd_base + CMN_PLL0_FRACDIVH_M0);
cdns_phy          280 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0104, cdns_phy->sd_base + CMN_PLL0_HIGH_THR_M0);
cdns_phy          285 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0159, cdns_phy->sd_base + CMN_PLL0_INTDIV_M0);
cdns_phy          286 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x999A, cdns_phy->sd_base + CMN_PLL0_FRACDIVL_M0);
cdns_phy          287 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0002, cdns_phy->sd_base + CMN_PLL0_FRACDIVH_M0);
cdns_phy          288 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x00E7, cdns_phy->sd_base + CMN_PLL0_HIGH_THR_M0);
cdns_phy          292 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0144, cdns_phy->sd_base + CMN_PLL0_INTDIV_M0);
cdns_phy          293 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0000, cdns_phy->sd_base + CMN_PLL0_FRACDIVL_M0);
cdns_phy          294 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x0002, cdns_phy->sd_base + CMN_PLL0_FRACDIVH_M0);
cdns_phy          295 drivers/phy/cadence/phy-cadence-dp.c 		writel(0x00D8, cdns_phy->sd_base + CMN_PLL0_HIGH_THR_M0);
cdns_phy          299 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0002, cdns_phy->sd_base + CMN_PDIAG_PLL0_CTRL_M0);
cdns_phy          300 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0318, cdns_phy->sd_base + CMN_PLL0_VCOCAL_PLLCNT_START);
cdns_phy          303 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_cmn_rate(struct cdns_dp_phy *cdns_phy)
cdns_phy          310 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0000, cdns_phy->sd_base + PHY_PLL_CFG);
cdns_phy          312 drivers/phy/cadence/phy-cadence-dp.c 	switch (cdns_phy->max_bit_rate) {
cdns_phy          338 drivers/phy/cadence/phy-cadence-dp.c 	writel(clk_sel_val, cdns_phy->sd_base + CMN_PDIAG_PLL0_CLK_SEL_M0);
cdns_phy          341 drivers/phy/cadence/phy-cadence-dp.c 	for (i = 0; i < cdns_phy->num_lanes; i++) {
cdns_phy          343 drivers/phy/cadence/phy-cadence-dp.c 		       cdns_phy->sd_base + (XCVR_DIAG_HSCLK_DIV | (i<<11)));
cdns_phy          347 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_pma_lane_cfg(struct cdns_dp_phy *cdns_phy,
cdns_phy          353 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x00FB, cdns_phy->sd_base + (TX_PSC_A0 | lane_bits));
cdns_phy          354 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x04AA, cdns_phy->sd_base + (TX_PSC_A2 | lane_bits));
cdns_phy          355 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x04AA, cdns_phy->sd_base + (TX_PSC_A3 | lane_bits));
cdns_phy          356 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0000, cdns_phy->sd_base + (RX_PSC_A0 | lane_bits));
cdns_phy          357 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0000, cdns_phy->sd_base + (RX_PSC_A2 | lane_bits));
cdns_phy          358 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0000, cdns_phy->sd_base + (RX_PSC_A3 | lane_bits));
cdns_phy          360 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0001, cdns_phy->sd_base + (XCVR_DIAG_PLLDRC_CTRL | lane_bits));
cdns_phy          361 drivers/phy/cadence/phy-cadence-dp.c 	writel(0x0000, cdns_phy->sd_base + (XCVR_DIAG_HSCLK_SEL | lane_bits));
cdns_phy          364 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_run(struct cdns_dp_phy *cdns_phy)
cdns_phy          376 drivers/phy/cadence/phy-cadence-dp.c 	ret = readl_poll_timeout(cdns_phy->base + PHY_PMA_XCVR_PLLCLK_EN_ACK,
cdns_phy          379 drivers/phy/cadence/phy-cadence-dp.c 		dev_err(cdns_phy->dev,
cdns_phy          384 drivers/phy/cadence/phy-cadence-dp.c 	switch (cdns_phy->num_lanes) {
cdns_phy          403 drivers/phy/cadence/phy-cadence-dp.c 	writel(write_val1, cdns_phy->base + PHY_PMA_XCVR_POWER_STATE_REQ);
cdns_phy          405 drivers/phy/cadence/phy-cadence-dp.c 	ret = readl_poll_timeout(cdns_phy->base + PHY_PMA_XCVR_POWER_STATE_ACK,
cdns_phy          409 drivers/phy/cadence/phy-cadence-dp.c 		dev_err(cdns_phy->dev,
cdns_phy          412 drivers/phy/cadence/phy-cadence-dp.c 	writel(0, cdns_phy->base + PHY_PMA_XCVR_POWER_STATE_REQ);
cdns_phy          415 drivers/phy/cadence/phy-cadence-dp.c 	writel(write_val2, cdns_phy->base + PHY_PMA_XCVR_POWER_STATE_REQ);
cdns_phy          417 drivers/phy/cadence/phy-cadence-dp.c 	ret = readl_poll_timeout(cdns_phy->base + PHY_PMA_XCVR_POWER_STATE_ACK,
cdns_phy          421 drivers/phy/cadence/phy-cadence-dp.c 		dev_err(cdns_phy->dev,
cdns_phy          424 drivers/phy/cadence/phy-cadence-dp.c 	writel(0, cdns_phy->base + PHY_PMA_XCVR_POWER_STATE_REQ);
cdns_phy          428 drivers/phy/cadence/phy-cadence-dp.c static void cdns_dp_phy_write_field(struct cdns_dp_phy *cdns_phy,
cdns_phy          436 drivers/phy/cadence/phy-cadence-dp.c 	read_val = readl(cdns_phy->base + offset);
cdns_phy          438 drivers/phy/cadence/phy-cadence-dp.c 		start_bit))), cdns_phy->base + offset);
cdns_phy          444 drivers/phy/cadence/phy-cadence-dp.c 	struct cdns_dp_phy *cdns_phy;
cdns_phy          450 drivers/phy/cadence/phy-cadence-dp.c 	cdns_phy = devm_kzalloc(dev, sizeof(*cdns_phy), GFP_KERNEL);
cdns_phy          451 drivers/phy/cadence/phy-cadence-dp.c 	if (!cdns_phy)
cdns_phy          454 drivers/phy/cadence/phy-cadence-dp.c 	cdns_phy->dev = &pdev->dev;
cdns_phy          463 drivers/phy/cadence/phy-cadence-dp.c 	cdns_phy->base = devm_ioremap_resource(&pdev->dev, regs);
cdns_phy          464 drivers/phy/cadence/phy-cadence-dp.c 	if (IS_ERR(cdns_phy->base))
cdns_phy          465 drivers/phy/cadence/phy-cadence-dp.c 		return PTR_ERR(cdns_phy->base);
cdns_phy          468 drivers/phy/cadence/phy-cadence-dp.c 	cdns_phy->sd_base = devm_ioremap_resource(&pdev->dev, regs);
cdns_phy          469 drivers/phy/cadence/phy-cadence-dp.c 	if (IS_ERR(cdns_phy->sd_base))
cdns_phy          470 drivers/phy/cadence/phy-cadence-dp.c 		return PTR_ERR(cdns_phy->sd_base);
cdns_phy          473 drivers/phy/cadence/phy-cadence-dp.c 				       &(cdns_phy->num_lanes));
cdns_phy          475 drivers/phy/cadence/phy-cadence-dp.c 		cdns_phy->num_lanes = DEFAULT_NUM_LANES;
cdns_phy          477 drivers/phy/cadence/phy-cadence-dp.c 	switch (cdns_phy->num_lanes) {
cdns_phy          485 drivers/phy/cadence/phy-cadence-dp.c 			cdns_phy->num_lanes);
cdns_phy          490 drivers/phy/cadence/phy-cadence-dp.c 		   &(cdns_phy->max_bit_rate));
cdns_phy          492 drivers/phy/cadence/phy-cadence-dp.c 		cdns_phy->max_bit_rate = DEFAULT_MAX_BIT_RATE;
cdns_phy          494 drivers/phy/cadence/phy-cadence-dp.c 	switch (cdns_phy->max_bit_rate) {
cdns_phy          506 drivers/phy/cadence/phy-cadence-dp.c 			cdns_phy->max_bit_rate);
cdns_phy          510 drivers/phy/cadence/phy-cadence-dp.c 	phy_set_drvdata(phy, cdns_phy);
cdns_phy          515 drivers/phy/cadence/phy-cadence-dp.c 		 cdns_phy->num_lanes,
cdns_phy          516 drivers/phy/cadence/phy-cadence-dp.c 		 cdns_phy->max_bit_rate / 1000,
cdns_phy          517 drivers/phy/cadence/phy-cadence-dp.c 		 cdns_phy->max_bit_rate % 1000);