1 From 271adb5c0546b080fb350a41520c600a16739f1a Mon Sep 17 00:00:00 2001
2 From: Rajesh Bhagat <rajesh.bhagat@nxp.com>
3 Date: Fri, 6 May 2016 09:05:29 +0530
4 Subject: [PATCH 23/93] drivers: usb: fsl: add USB ULPI init code
6 This adds the required code to set up a ULPI USB port, for
7 new NXP USB PHY used in QorIQ platforms.
9 To use this both CONFIG_USB_ULPI and CONFIG_USB_ULPI_VIEWPORT
10 have to be set in the board configuration file.
12 Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
14 drivers/usb/host/ehci-fsl.c | 21 +++++++++++++++++++++
15 1 file changed, 21 insertions(+)
17 diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
18 index 97b7f14..3f06345 100644
19 --- a/drivers/usb/host/ehci-fsl.c
20 +++ b/drivers/usb/host/ehci-fsl.c
24 #include <fdt_support.h>
25 +#ifdef CONFIG_USB_ULPI
26 +#include <usb/ulpi.h>
31 @@ -50,6 +53,10 @@ int ehci_hcd_init(int index, enum usb_init_type init,
32 const char *phy_type = NULL;
34 char current_usb_controller[5];
35 +#ifdef CONFIG_USB_ULPI
37 + struct ulpi_viewport ulpi_vp;
39 #ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
42 @@ -126,6 +133,20 @@ int ehci_hcd_init(int index, enum usb_init_type init,
43 udelay(1000); /* delay required for PHY Clk to appear */
44 if (!usb_phy_clk_valid(ehci))
47 +#ifdef CONFIG_USB_ULPI
48 + ulpi_vp.viewport_addr = (u32)&ehci->ulpi_viewpoint;
49 + ulpi_vp.port_num = 0;
51 + ret = ulpi_init(&ulpi_vp);
53 + puts("NXP ULPI viewport init failed\n");
57 + ulpi_set_vbus(&ulpi_vp, 1, 1);
58 + ulpi_set_vbus_indicator(&ulpi_vp, 1, 1, 1);
60 out_le32(&(*hcor)->or_portsc[0], PORT_PTS_ULPI);