Lines Matching refs:phy
2 * phy-bcm-kona-usb2.c - Broadcom Kona USB2 Phy Driver
23 #include <linux/phy/phy.h>
42 static void bcm_kona_usb_phy_power(struct bcm_kona_usb *phy, int on)
46 val = readl(phy->regs + OTGCTL);
55 writel(val, phy->regs + OTGCTL);
58 static int bcm_kona_usb_phy_init(struct phy *gphy)
60 struct bcm_kona_usb *phy = phy_get_drvdata(gphy);
64 val = readl(phy->regs + P1CTL);
67 writel(val, phy->regs + P1CTL);
68 writel(val & ~P1CTL_SOFT_RESET, phy->regs + P1CTL);
71 writel(val | P1CTL_SOFT_RESET, phy->regs + P1CTL);
76 static int bcm_kona_usb_phy_power_on(struct phy *gphy)
78 struct bcm_kona_usb *phy = phy_get_drvdata(gphy);
80 bcm_kona_usb_phy_power(phy, 1);
85 static int bcm_kona_usb_phy_power_off(struct phy *gphy)
87 struct bcm_kona_usb *phy = phy_get_drvdata(gphy);
89 bcm_kona_usb_phy_power(phy, 0);
104 struct bcm_kona_usb *phy;
106 struct phy *gphy;
109 phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
110 if (!phy)
114 phy->regs = devm_ioremap_resource(&pdev->dev, res);
115 if (IS_ERR(phy->regs))
116 return PTR_ERR(phy->regs);
118 platform_set_drvdata(pdev, phy);
127 phy_set_drvdata(gphy, phy);
136 { .compatible = "brcm,kona-usb2-phy" },