Commit 6854ccc4 authored by Cristian Birsan's avatar Cristian Birsan Committed by Greg Kroah-Hartman
Browse files

USB: host: ehci-atmel: Add support for HSIC phy

parent 6a9a7a1a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@
#include <linux/platform_device.h>
#include <linux/usb.h>
#include <linux/usb/hcd.h>
#include <linux/usb/phy.h>
#include <linux/usb/of.h>

#include "ehci.h"

@@ -25,6 +27,9 @@

static const char hcd_name[] = "ehci-atmel";

#define EHCI_INSNREG(index)			((index) * 4 + 0x90)
#define EHCI_INSNREG08_HSIC_EN			BIT(2)

/* interface and function clocks */
#define hcd_to_atmel_ehci_priv(h) \
	((struct atmel_ehci_priv *)hcd_to_ehci(h)->priv)
@@ -154,6 +159,9 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
		goto fail_add_hcd;
	device_wakeup_enable(hcd->self.controller);

	if (of_usb_get_phy_mode(pdev->dev.of_node) == USBPHY_INTERFACE_MODE_HSIC)
		writel(EHCI_INSNREG08_HSIC_EN, hcd->regs + EHCI_INSNREG(8));

	return retval;

fail_add_hcd: