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:
parent
bbe0df90b8
commit
1b3fde3983
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue