Lines Matching +full:ulpi +full:- +full:link
1 // SPDX-License-Identifier: GPL-2.0+
8 #include <generic-phy.h>
9 #include <usb/ehci-ci.h>
10 #include <usb/ulpi.h>
25 struct ulpi_viewport ulpi_vp; /* ULPI Viewport */
30 struct msm_phy_priv *priv = dev_get_priv(phy->dev); in msm_phy_power_on()
33 ulpi_write(&priv->ulpi_vp, (u8 *)ULPI_MISC_A_SET, in msm_phy_power_on()
41 struct msm_phy_priv *priv = dev_get_priv(phy->dev); in msm_phy_power_off()
44 ulpi_write(&priv->ulpi_vp, (u8 *)ULPI_MISC_A_CLEAR, in msm_phy_power_off()
51 struct msm_phy_priv *p = dev_get_priv(phy->dev); in msm_phy_reset()
53 /* select ULPI phy */ in msm_phy_reset()
54 writel(PORT_PTS_ULPI, &p->ehci->portsc); in msm_phy_reset()
57 setbits_le32(&p->ehci->genconfig2, GEN2_SESS_VLD_CTRL_EN); in msm_phy_reset()
59 /* Enable external vbus configuration in the LINK */ in msm_phy_reset()
60 setbits_le32(&p->ehci->usbcmd, SESS_VLD_CTRL); in msm_phy_reset()
63 writel(0x0, &p->ehci->sbuscfg); in msm_phy_reset()
67 writel(0x08, &p->ehci->sbusmode); in msm_phy_reset()
76 priv->regs = dev_remap_addr(dev); in msm_phy_probe()
77 if (!priv->regs) in msm_phy_probe()
78 return -EINVAL; in msm_phy_probe()
80 priv->ehci = (struct usb_ehci *)priv->regs; in msm_phy_probe()
81 priv->ulpi_vp.port_num = 0; in msm_phy_probe()
84 * ULPI design. in msm_phy_probe()
86 priv->ulpi_vp.viewport_addr = (phys_addr_t)&priv->ehci->ulpi_viewpoint; in msm_phy_probe()
98 { .compatible = "qcom,apq8016-usbphy" },