9
0
Fork 0

phy: usb-nop-xceiv: Add clock support

As stated in the FIXME comment this is needed. Get and
enable a "main_clk" just like the kernel does.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2017-01-13 12:33:39 +01:00
parent bbe0df90b8
commit 1b3fde3983
1 changed files with 15 additions and 3 deletions

View File

@ -27,6 +27,7 @@ struct nop_usbphy {
struct usb_phy usb_phy;
struct phy *phy;
struct phy_provider *provider;
struct clk *clk;
};
static struct phy *nop_usbphy_xlate(struct device_d *dev,
@ -37,6 +38,13 @@ static struct phy *nop_usbphy_xlate(struct device_d *dev,
return nopphy->phy;
}
static int nop_usbphy_init(struct phy *phy)
{
struct nop_usbphy *nopphy = phy_get_drvdata(phy);
return clk_enable(nopphy->clk);
}
static struct usb_phy *nop_usbphy_to_usbphy(struct phy *phy)
{
struct nop_usbphy *nopphy = phy_get_drvdata(phy);
@ -46,6 +54,7 @@ static struct usb_phy *nop_usbphy_to_usbphy(struct phy *phy)
static const struct phy_ops nop_phy_ops = {
.to_usbphy = nop_usbphy_to_usbphy,
.init = nop_usbphy_init,
};
static int nop_usbphy_probe(struct device_d *dev)
@ -57,7 +66,10 @@ static int nop_usbphy_probe(struct device_d *dev)
dev->priv = nopphy;
/* FIXME: Add clk support */
nopphy->clk = clk_get(dev, "main_clk");
if (IS_ERR(nopphy->clk))
nopphy->clk = NULL;
/* FIXME: Add vbus regulator support */
/* FIXME: Add vbus-detect-gpio support */
@ -97,8 +109,8 @@ static struct driver_d nop_usbphy_driver = {
.of_compatible = DRV_OF_COMPAT(nop_usbphy_dt_ids),
};
static int nop_usbphy_init(void)
static int nop_usbphy_driver_init(void)
{
return platform_driver_register(&nop_usbphy_driver);
}
fs_initcall(nop_usbphy_init);
fs_initcall(nop_usbphy_driver_init);