Lines Matching defs:phy
3 * phy-bcm-kona-usb2.c - Broadcom Kona USB2 Phy Driver
15 #include <linux/phy/phy.h>
34 static void bcm_kona_usb_phy_power(struct bcm_kona_usb *phy, int on)
38 val = readl(phy->regs + OTGCTL);
47 writel(val, phy->regs + OTGCTL);
50 static int bcm_kona_usb_phy_init(struct phy *gphy)
52 struct bcm_kona_usb *phy = phy_get_drvdata(gphy);
56 val = readl(phy->regs + P1CTL);
59 writel(val, phy->regs + P1CTL);
60 writel(val & ~P1CTL_SOFT_RESET, phy->regs + P1CTL);
63 writel(val | P1CTL_SOFT_RESET, phy->regs + P1CTL);
68 static int bcm_kona_usb_phy_power_on(struct phy *gphy)
70 struct bcm_kona_usb *phy = phy_get_drvdata(gphy);
72 bcm_kona_usb_phy_power(phy, 1);
77 static int bcm_kona_usb_phy_power_off(struct phy *gphy)
79 struct bcm_kona_usb *phy = phy_get_drvdata(gphy);
81 bcm_kona_usb_phy_power(phy, 0);
96 struct bcm_kona_usb *phy;
97 struct phy *gphy;
100 phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
101 if (!phy)
104 phy->regs = devm_platform_ioremap_resource(pdev, 0);
105 if (IS_ERR(phy->regs))
106 return PTR_ERR(phy->regs);
108 platform_set_drvdata(pdev, phy);
117 phy_set_drvdata(gphy, phy);
126 { .compatible = "brcm,kona-usb2-phy" },