Lines Matching +full:pre +full:- +full:emphasis
1 // SPDX-License-Identifier: GPL-2.0-only
89 exynos_pcie_phy_writel(ep->phy_base, 0x29, PCIE_PHY_DCC_FEEDBACK); in exynos5440_pcie_phy_init()
92 exynos_pcie_phy_writel(ep->phy_base, 0xd5, PCIE_PHY_IMPEDANCE); in exynos5440_pcie_phy_init()
95 exynos_pcie_phy_writel(ep->phy_base, 0x14, PCIE_PHY_PLL_DIV_0); in exynos5440_pcie_phy_init()
96 exynos_pcie_phy_writel(ep->phy_base, 0x12, PCIE_PHY_PLL_DIV_1); in exynos5440_pcie_phy_init()
99 exynos_pcie_phy_writel(ep->phy_base, 0x7f, PCIE_PHY_TRSV0_DRV_LVL); in exynos5440_pcie_phy_init()
101 /* set TX Pre-emphasis Level Control for lane 0 to minimum */ in exynos5440_pcie_phy_init()
102 exynos_pcie_phy_writel(ep->phy_base, 0x0, PCIE_PHY_TRSV0_EMP_LVL); in exynos5440_pcie_phy_init()
105 exynos_pcie_phy_writel(ep->phy_base, 0xe7, PCIE_PHY_PLL_BIAS); in exynos5440_pcie_phy_init()
106 exynos_pcie_phy_writel(ep->phy_base, 0x82, PCIE_PHY_TRSV0_RXCDR); in exynos5440_pcie_phy_init()
107 exynos_pcie_phy_writel(ep->phy_base, 0x82, PCIE_PHY_TRSV1_RXCDR); in exynos5440_pcie_phy_init()
108 exynos_pcie_phy_writel(ep->phy_base, 0x82, PCIE_PHY_TRSV2_RXCDR); in exynos5440_pcie_phy_init()
109 exynos_pcie_phy_writel(ep->phy_base, 0x82, PCIE_PHY_TRSV3_RXCDR); in exynos5440_pcie_phy_init()
111 /* change TX Pre-emphasis Level Control for lanes */ in exynos5440_pcie_phy_init()
112 exynos_pcie_phy_writel(ep->phy_base, 0x39, PCIE_PHY_TRSV0_EMP_LVL); in exynos5440_pcie_phy_init()
113 exynos_pcie_phy_writel(ep->phy_base, 0x39, PCIE_PHY_TRSV1_EMP_LVL); in exynos5440_pcie_phy_init()
114 exynos_pcie_phy_writel(ep->phy_base, 0x39, PCIE_PHY_TRSV2_EMP_LVL); in exynos5440_pcie_phy_init()
115 exynos_pcie_phy_writel(ep->phy_base, 0x39, PCIE_PHY_TRSV3_EMP_LVL); in exynos5440_pcie_phy_init()
118 exynos_pcie_phy_writel(ep->phy_base, 0x20, PCIE_PHY_TRSV0_LVCC); in exynos5440_pcie_phy_init()
119 exynos_pcie_phy_writel(ep->phy_base, 0xa0, PCIE_PHY_TRSV1_LVCC); in exynos5440_pcie_phy_init()
120 exynos_pcie_phy_writel(ep->phy_base, 0xa0, PCIE_PHY_TRSV2_LVCC); in exynos5440_pcie_phy_init()
121 exynos_pcie_phy_writel(ep->phy_base, 0xa0, PCIE_PHY_TRSV3_LVCC); in exynos5440_pcie_phy_init()
124 exynos_pcie_phy_writel(ep->blk_base, 1, PCIE_PHY_COMMON_RESET); in exynos5440_pcie_phy_init()
126 exynos_pcie_phy_writel(ep->blk_base, 0, PCIE_PHY_COMMON_RESET); in exynos5440_pcie_phy_init()
136 exynos_pcie_phy_writel(ep->blk_base, 0, PCIE_PHY_COMMON_RESET); in exynos5440_pcie_phy_power_on()
137 exynos_pcie_phy_writel(ep->blk_base, 0, PCIE_PHY_CMN_REG); in exynos5440_pcie_phy_power_on()
138 exynos_pcie_phy_writel(ep->blk_base, 0, PCIE_PHY_TRSVREG_RESET); in exynos5440_pcie_phy_power_on()
139 exynos_pcie_phy_writel(ep->blk_base, 0, PCIE_PHY_TRSV_RESET); in exynos5440_pcie_phy_power_on()
141 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_COMMON_POWER); in exynos5440_pcie_phy_power_on()
143 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_COMMON_POWER); in exynos5440_pcie_phy_power_on()
145 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_TRSV0_POWER); in exynos5440_pcie_phy_power_on()
147 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_TRSV0_POWER); in exynos5440_pcie_phy_power_on()
149 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_TRSV1_POWER); in exynos5440_pcie_phy_power_on()
151 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_TRSV1_POWER); in exynos5440_pcie_phy_power_on()
153 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_TRSV2_POWER); in exynos5440_pcie_phy_power_on()
155 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_TRSV2_POWER); in exynos5440_pcie_phy_power_on()
157 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_TRSV3_POWER); in exynos5440_pcie_phy_power_on()
159 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_TRSV3_POWER); in exynos5440_pcie_phy_power_on()
169 if (readl_poll_timeout(ep->phy_base + PCIE_PHY_PLL_LOCKED, val, in exynos5440_pcie_phy_power_off()
171 dev_err(&phy->dev, "PLL Locked: 0x%x\n", val); in exynos5440_pcie_phy_power_off()
172 return -ETIMEDOUT; in exynos5440_pcie_phy_power_off()
175 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_COMMON_POWER); in exynos5440_pcie_phy_power_off()
177 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_COMMON_POWER); in exynos5440_pcie_phy_power_off()
179 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_TRSV0_POWER); in exynos5440_pcie_phy_power_off()
181 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_TRSV0_POWER); in exynos5440_pcie_phy_power_off()
183 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_TRSV1_POWER); in exynos5440_pcie_phy_power_off()
185 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_TRSV1_POWER); in exynos5440_pcie_phy_power_off()
187 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_TRSV2_POWER); in exynos5440_pcie_phy_power_off()
189 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_TRSV2_POWER); in exynos5440_pcie_phy_power_off()
191 val = exynos_pcie_phy_readl(ep->phy_base, PCIE_PHY_TRSV3_POWER); in exynos5440_pcie_phy_power_off()
193 exynos_pcie_phy_writel(ep->phy_base, val, PCIE_PHY_TRSV3_POWER); in exynos5440_pcie_phy_power_off()
202 exynos_pcie_phy_writel(ep->blk_base, 0, PCIE_PHY_MAC_RESET); in exynos5440_pcie_phy_reset()
203 exynos_pcie_phy_writel(ep->blk_base, 1, PCIE_PHY_GLOBAL_RESET); in exynos5440_pcie_phy_reset()
204 exynos_pcie_phy_writel(ep->blk_base, 0, PCIE_PHY_GLOBAL_RESET); in exynos5440_pcie_phy_reset()
223 .compatible = "samsung,exynos5440-pcie-phy",
231 struct device *dev = &pdev->dev; in exynos_pcie_phy_probe()
240 return -ENODEV; in exynos_pcie_phy_probe()
244 return -ENOMEM; in exynos_pcie_phy_probe()
247 exynos_phy->phy_base = devm_ioremap_resource(dev, res); in exynos_pcie_phy_probe()
248 if (IS_ERR(exynos_phy->phy_base)) in exynos_pcie_phy_probe()
249 return PTR_ERR(exynos_phy->phy_base); in exynos_pcie_phy_probe()
252 exynos_phy->blk_base = devm_ioremap_resource(dev, res); in exynos_pcie_phy_probe()
253 if (IS_ERR(exynos_phy->blk_base)) in exynos_pcie_phy_probe()
254 return PTR_ERR(exynos_phy->blk_base); in exynos_pcie_phy_probe()
256 exynos_phy->drv_data = drv_data; in exynos_pcie_phy_probe()
258 generic_phy = devm_phy_create(dev, dev->of_node, drv_data->ops); in exynos_pcie_phy_probe()