[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210910163842.1596407-3-cristian.birsan@microchip.com>
Date: Fri, 10 Sep 2021 19:38:42 +0300
From: <cristian.birsan@...rochip.com>
To: <stern@...land.harvard.edu>, <gregkh@...uxfoundation.org>,
<nicolas.ferre@...rochip.com>, <ada@...rsis.com>,
<alexandre.belloni@...tlin.com>, <ludovic.desroches@...rochip.com>
CC: <linux-usb@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>,
Cristian Birsan <cristian.birsan@...rochip.com>
Subject: [PATCH 2/2] USB: host: ehci-atmel: Add support for HSIC phy
From: Cristian Birsan <cristian.birsan@...rochip.com>
Add support for USB Host High Speed Port HSIC phy.
Signed-off-by: Cristian Birsan <cristian.birsan@...rochip.com>
---
drivers/usb/host/ehci-atmel.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
index e893467d659c..05d41fd65f25 100644
--- a/drivers/usb/host/ehci-atmel.c
+++ b/drivers/usb/host/ehci-atmel.c
@@ -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:
--
2.25.1
Powered by blists - more mailing lists