[PATCH 2/2] USB: host: ehci-atmel: Add support for HSIC phy
Alan Stern
stern at rowland.harvard.edu
Fri Sep 10 13:49:01 PDT 2021
On Fri, Sep 10, 2021 at 07:38:42PM +0300, cristian.birsan at microchip.com wrote:
> From: Cristian Birsan <cristian.birsan at microchip.com>
>
> Add support for USB Host High Speed Port HSIC phy.
>
> Signed-off-by: Cristian Birsan <cristian.birsan at microchip.com>
> ---
Acked-by: Alan Stern <stern at rowland.harvard.edu>
> 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
>
More information about the linux-arm-kernel
mailing list