All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
@ 2011-07-01  4:11 Kumar Gala
  2011-07-01  4:11 ` [U-Boot] [PATCH 2/2] powerpc/85xx: Enable internal USB UTMI PHY on p204x/p3041/p50x0 Kumar Gala
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Kumar Gala @ 2011-07-01  4:11 UTC (permalink / raw)
  To: u-boot

From: Ramneek Mehresh <ramneek.mehresh@freescale.com>

Add UTMI and ULPI PHY support for USB controller on qoriq series of
processors with internal UTMI PHY implemented, for example P1010/P1014
 - Use both getenv() and hwconfig to get USB phy type till getenv()
   is depricated
 - Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc
   has internal UTMI phy

Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 arch/powerpc/include/asm/config_mpc85xx.h |    2 +
 drivers/usb/host/ehci-fsl.c               |   37 ++++++++++++++++++++++++++--
 2 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
index 04ca989..d9d04e7 100644
--- a/arch/powerpc/include/asm/config_mpc85xx.h
+++ b/arch/powerpc/include/asm/config_mpc85xx.h
@@ -97,6 +97,7 @@
 #define CONFIG_NUM_DDR_CONTROLLERS	1
 #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
 #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
+#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
 
 /* P1011 is single core version of P1020 */
 #elif defined(CONFIG_P1011)
@@ -141,6 +142,7 @@
 #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
 #define CONFIG_NUM_DDR_CONTROLLERS	1
 #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
+#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
 
 /* P1015 is single core version of P1024 */
 #elif defined(CONFIG_P1015)
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 6e0043a..66b7da5 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2009 Freescale Semiconductor, Inc.
+ * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
  *
  * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
  *
@@ -26,6 +26,7 @@
 #include <usb.h>
 #include <asm/io.h>
 #include <usb/ehci-fsl.h>
+#include <hwconfig.h>
 
 #include "ehci.h"
 #include "ehci-core.h"
@@ -39,6 +40,11 @@
 int ehci_hcd_init(void)
 {
 	struct usb_ehci *ehci;
+	char usb_phy[5];
+	const char *phy_type = NULL;
+	size_t len;
+
+	usb_phy[0] = '\0';
 
 	ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
 	hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
@@ -52,10 +58,35 @@ int ehci_hcd_init(void)
 	out_be32(&ehci->snoop2, 0x80000000 | SNOOP_SIZE_2GB);
 
 	/* Init phy */
-	if (!strcmp(getenv("usb_phy_type"), "utmi"))
-		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
+	if (hwconfig_sub("usb1", "phy_type"))
+		phy_type = hwconfig_subarg("usb1", "phy_type", &len);
 	else
+		phy_type = getenv("usb_phy_type");
+	if (!phy_type) {
+#ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
+		/* if none specified assume internal UTMI */
+		strcpy(usb_phy, "utmi");
+		phy_type = usb_phy;
+#else
+		printf("WARNING: USB phy type not defined !!\n");
+		return -1;
+#endif
+		}
+	if (!strcmp(phy_type, "utmi")) {
+#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
+		setbits_be32(&ehci->control, PHY_CLK_SEL_UTMI);
+		setbits_be32(&ehci->control, UTMI_PHY_EN);
+		udelay(1000); /* delay required for PHY Clk to appear */
+#endif
+		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
+	} else {
+#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
+		clrbits_be32(&ehci->control, UTMI_PHY_EN);
+		setbits_be32(&ehci->control, PHY_CLK_SEL_ULPI);
+		udelay(1000); /* delay required for PHY Clk to appear */
+#endif
 		out_le32(&(hcor->or_portsc[0]), PORT_PTS_ULPI);
+	}
 
 	/* Enable interface. */
 	setbits_be32(&ehci->control, USB_EN);
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 2/2] powerpc/85xx: Enable internal USB UTMI PHY on p204x/p3041/p50x0
  2011-07-01  4:11 [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014 Kumar Gala
@ 2011-07-01  4:11 ` Kumar Gala
  2011-08-26 19:02   ` Kumar Gala
  2011-07-11 16:11 ` [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014 Kumar Gala
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Kumar Gala @ 2011-07-01  4:11 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 arch/powerpc/include/asm/config_mpc85xx.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
index d9d04e7..7de8f74 100644
--- a/arch/powerpc/include/asm/config_mpc85xx.h
+++ b/arch/powerpc/include/asm/config_mpc85xx.h
@@ -273,6 +273,7 @@
 #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
 #define CONFIG_SYS_FSL_USB1_PHY_ENABLE
 #define CONFIG_SYS_FSL_USB2_PHY_ENABLE
+#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
 #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
 
 #elif defined(CONFIG_PPC_P2041)
@@ -289,6 +290,7 @@
 #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
 #define CONFIG_SYS_FSL_USB1_PHY_ENABLE
 #define CONFIG_SYS_FSL_USB2_PHY_ENABLE
+#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
 #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
 
 #elif defined(CONFIG_PPC_P3041)
@@ -305,6 +307,7 @@
 #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
 #define CONFIG_SYS_FSL_USB1_PHY_ENABLE
 #define CONFIG_SYS_FSL_USB2_PHY_ENABLE
+#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
 #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
 
 #elif defined(CONFIG_PPC_P4040)
@@ -358,6 +361,7 @@
 #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
 #define CONFIG_SYS_FSL_USB1_PHY_ENABLE
 #define CONFIG_SYS_FSL_USB2_PHY_ENABLE
+#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
 #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
 
 #elif defined(CONFIG_PPC_P5020)
@@ -374,6 +378,7 @@
 #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
 #define CONFIG_SYS_FSL_USB1_PHY_ENABLE
 #define CONFIG_SYS_FSL_USB2_PHY_ENABLE
+#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
 #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
 
 #else
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
  2011-07-01  4:11 [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014 Kumar Gala
  2011-07-01  4:11 ` [U-Boot] [PATCH 2/2] powerpc/85xx: Enable internal USB UTMI PHY on p204x/p3041/p50x0 Kumar Gala
@ 2011-07-11 16:11 ` Kumar Gala
  2011-07-17 15:34   ` Kumar Gala
  2011-08-08 20:15 ` Remy Bohmer
  2011-08-08 20:47 ` [U-Boot] [PATCH 1/2][v2] " Kumar Gala
  3 siblings, 1 reply; 12+ messages in thread
From: Kumar Gala @ 2011-07-11 16:11 UTC (permalink / raw)
  To: u-boot


On Jun 30, 2011, at 11:11 PM, Kumar Gala wrote:

> From: Ramneek Mehresh <ramneek.mehresh@freescale.com>
> 
> Add UTMI and ULPI PHY support for USB controller on qoriq series of
> processors with internal UTMI PHY implemented, for example P1010/P1014
> - Use both getenv() and hwconfig to get USB phy type till getenv()
>   is depricated
> - Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc
>   has internal UTMI phy
> 
> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
> CC: Remy Bohmer <linux@bohmer.net>
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> arch/powerpc/include/asm/config_mpc85xx.h |    2 +
> drivers/usb/host/ehci-fsl.c               |   37 ++++++++++++++++++++++++++--
> 2 files changed, 36 insertions(+), 3 deletions(-)

Remy,

Forgot to CC you on this, any comments / concerns ?

- k

> 
> diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
> index 04ca989..d9d04e7 100644
> --- a/arch/powerpc/include/asm/config_mpc85xx.h
> +++ b/arch/powerpc/include/asm/config_mpc85xx.h
> @@ -97,6 +97,7 @@
> #define CONFIG_NUM_DDR_CONTROLLERS	1
> #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
> #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
> 
> /* P1011 is single core version of P1020 */
> #elif defined(CONFIG_P1011)
> @@ -141,6 +142,7 @@
> #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
> #define CONFIG_NUM_DDR_CONTROLLERS	1
> #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
> 
> /* P1015 is single core version of P1024 */
> #elif defined(CONFIG_P1015)
> diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
> index 6e0043a..66b7da5 100644
> --- a/drivers/usb/host/ehci-fsl.c
> +++ b/drivers/usb/host/ehci-fsl.c
> @@ -1,5 +1,5 @@
> /*
> - * (C) Copyright 2009 Freescale Semiconductor, Inc.
> + * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
>  *
>  * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
>  *
> @@ -26,6 +26,7 @@
> #include <usb.h>
> #include <asm/io.h>
> #include <usb/ehci-fsl.h>
> +#include <hwconfig.h>
> 
> #include "ehci.h"
> #include "ehci-core.h"
> @@ -39,6 +40,11 @@
> int ehci_hcd_init(void)
> {
> 	struct usb_ehci *ehci;
> +	char usb_phy[5];
> +	const char *phy_type = NULL;
> +	size_t len;
> +
> +	usb_phy[0] = '\0';
> 
> 	ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
> 	hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
> @@ -52,10 +58,35 @@ int ehci_hcd_init(void)
> 	out_be32(&ehci->snoop2, 0x80000000 | SNOOP_SIZE_2GB);
> 
> 	/* Init phy */
> -	if (!strcmp(getenv("usb_phy_type"), "utmi"))
> -		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
> +	if (hwconfig_sub("usb1", "phy_type"))
> +		phy_type = hwconfig_subarg("usb1", "phy_type", &len);
> 	else
> +		phy_type = getenv("usb_phy_type");
> +	if (!phy_type) {
> +#ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
> +		/* if none specified assume internal UTMI */
> +		strcpy(usb_phy, "utmi");
> +		phy_type = usb_phy;
> +#else
> +		printf("WARNING: USB phy type not defined !!\n");
> +		return -1;
> +#endif
> +		}
> +	if (!strcmp(phy_type, "utmi")) {
> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
> +		setbits_be32(&ehci->control, PHY_CLK_SEL_UTMI);
> +		setbits_be32(&ehci->control, UTMI_PHY_EN);
> +		udelay(1000); /* delay required for PHY Clk to appear */
> +#endif
> +		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
> +	} else {
> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
> +		clrbits_be32(&ehci->control, UTMI_PHY_EN);
> +		setbits_be32(&ehci->control, PHY_CLK_SEL_ULPI);
> +		udelay(1000); /* delay required for PHY Clk to appear */
> +#endif
> 		out_le32(&(hcor->or_portsc[0]), PORT_PTS_ULPI);
> +	}
> 
> 	/* Enable interface. */
> 	setbits_be32(&ehci->control, USB_EN);
> -- 
> 1.7.3.4
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
  2011-07-11 16:11 ` [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014 Kumar Gala
@ 2011-07-17 15:34   ` Kumar Gala
  0 siblings, 0 replies; 12+ messages in thread
From: Kumar Gala @ 2011-07-17 15:34 UTC (permalink / raw)
  To: u-boot


On Jul 11, 2011, at 11:11 AM, Kumar Gala wrote:

> 
> On Jun 30, 2011, at 11:11 PM, Kumar Gala wrote:
> 
>> From: Ramneek Mehresh <ramneek.mehresh@freescale.com>
>> 
>> Add UTMI and ULPI PHY support for USB controller on qoriq series of
>> processors with internal UTMI PHY implemented, for example P1010/P1014
>> - Use both getenv() and hwconfig to get USB phy type till getenv()
>>  is depricated
>> - Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc
>>  has internal UTMI phy
>> 
>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
>> CC: Remy Bohmer <linux@bohmer.net>
>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>> ---
>> arch/powerpc/include/asm/config_mpc85xx.h |    2 +
>> drivers/usb/host/ehci-fsl.c               |   37 ++++++++++++++++++++++++++--
>> 2 files changed, 36 insertions(+), 3 deletions(-)
> 
> Remy,
> 
> Forgot to CC you on this, any comments / concerns ?
> 
> - k

Remy, and update on this?

- k

> 
>> 
>> diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
>> index 04ca989..d9d04e7 100644
>> --- a/arch/powerpc/include/asm/config_mpc85xx.h
>> +++ b/arch/powerpc/include/asm/config_mpc85xx.h
>> @@ -97,6 +97,7 @@
>> #define CONFIG_NUM_DDR_CONTROLLERS	1
>> #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
>> #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
>> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
>> 
>> /* P1011 is single core version of P1020 */
>> #elif defined(CONFIG_P1011)
>> @@ -141,6 +142,7 @@
>> #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
>> #define CONFIG_NUM_DDR_CONTROLLERS	1
>> #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
>> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
>> 
>> /* P1015 is single core version of P1024 */
>> #elif defined(CONFIG_P1015)
>> diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
>> index 6e0043a..66b7da5 100644
>> --- a/drivers/usb/host/ehci-fsl.c
>> +++ b/drivers/usb/host/ehci-fsl.c
>> @@ -1,5 +1,5 @@
>> /*
>> - * (C) Copyright 2009 Freescale Semiconductor, Inc.
>> + * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
>> *
>> * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
>> *
>> @@ -26,6 +26,7 @@
>> #include <usb.h>
>> #include <asm/io.h>
>> #include <usb/ehci-fsl.h>
>> +#include <hwconfig.h>
>> 
>> #include "ehci.h"
>> #include "ehci-core.h"
>> @@ -39,6 +40,11 @@
>> int ehci_hcd_init(void)
>> {
>> 	struct usb_ehci *ehci;
>> +	char usb_phy[5];
>> +	const char *phy_type = NULL;
>> +	size_t len;
>> +
>> +	usb_phy[0] = '\0';
>> 
>> 	ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
>> 	hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
>> @@ -52,10 +58,35 @@ int ehci_hcd_init(void)
>> 	out_be32(&ehci->snoop2, 0x80000000 | SNOOP_SIZE_2GB);
>> 
>> 	/* Init phy */
>> -	if (!strcmp(getenv("usb_phy_type"), "utmi"))
>> -		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
>> +	if (hwconfig_sub("usb1", "phy_type"))
>> +		phy_type = hwconfig_subarg("usb1", "phy_type", &len);
>> 	else
>> +		phy_type = getenv("usb_phy_type");
>> +	if (!phy_type) {
>> +#ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
>> +		/* if none specified assume internal UTMI */
>> +		strcpy(usb_phy, "utmi");
>> +		phy_type = usb_phy;
>> +#else
>> +		printf("WARNING: USB phy type not defined !!\n");
>> +		return -1;
>> +#endif
>> +		}
>> +	if (!strcmp(phy_type, "utmi")) {
>> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
>> +		setbits_be32(&ehci->control, PHY_CLK_SEL_UTMI);
>> +		setbits_be32(&ehci->control, UTMI_PHY_EN);
>> +		udelay(1000); /* delay required for PHY Clk to appear */
>> +#endif
>> +		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
>> +	} else {
>> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
>> +		clrbits_be32(&ehci->control, UTMI_PHY_EN);
>> +		setbits_be32(&ehci->control, PHY_CLK_SEL_ULPI);
>> +		udelay(1000); /* delay required for PHY Clk to appear */
>> +#endif
>> 		out_le32(&(hcor->or_portsc[0]), PORT_PTS_ULPI);
>> +	}
>> 
>> 	/* Enable interface. */
>> 	setbits_be32(&ehci->control, USB_EN);
>> -- 
>> 1.7.3.4
>> 
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
  2011-07-01  4:11 [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014 Kumar Gala
  2011-07-01  4:11 ` [U-Boot] [PATCH 2/2] powerpc/85xx: Enable internal USB UTMI PHY on p204x/p3041/p50x0 Kumar Gala
  2011-07-11 16:11 ` [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014 Kumar Gala
@ 2011-08-08 20:15 ` Remy Bohmer
  2011-08-08 20:46   ` Kumar Gala
  2011-08-08 20:47 ` [U-Boot] [PATCH 1/2][v2] " Kumar Gala
  3 siblings, 1 reply; 12+ messages in thread
From: Remy Bohmer @ 2011-08-08 20:15 UTC (permalink / raw)
  To: u-boot

Hi,

2011/7/1 Kumar Gala <galak@kernel.crashing.org>:
> From: Ramneek Mehresh <ramneek.mehresh@freescale.com>
>
> Add UTMI and ULPI PHY support for USB controller on qoriq series of
> processors with internal UTMI PHY implemented, for example P1010/P1014
> ?- Use both getenv() and hwconfig to get USB phy type till getenv()
> ? is depricated
> ?- Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc
> ? has internal UTMI phy
>
> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
> CC: Remy Bohmer <linux@bohmer.net>
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> ?arch/powerpc/include/asm/config_mpc85xx.h | ? ?2 +
> ?drivers/usb/host/ehci-fsl.c ? ? ? ? ? ? ? | ? 37 ++++++++++++++++++++++++++--
> ?2 files changed, 36 insertions(+), 3 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
> index 04ca989..d9d04e7 100644
> --- a/arch/powerpc/include/asm/config_mpc85xx.h
> +++ b/arch/powerpc/include/asm/config_mpc85xx.h
> @@ -97,6 +97,7 @@
> ?#define CONFIG_NUM_DDR_CONTROLLERS ? ? 1
> ?#define CONFIG_SYS_CCSRBAR_DEFAULT ? ? 0xff700000
> ?#define CONFIG_SYS_FSL_PCIE_COMPAT ? ? "fsl,qoriq-pcie-v2.2"
> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
>
> ?/* P1011 is single core version of P1020 */
> ?#elif defined(CONFIG_P1011)
> @@ -141,6 +142,7 @@
> ?#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
> ?#define CONFIG_NUM_DDR_CONTROLLERS ? ? 1
> ?#define CONFIG_SYS_CCSRBAR_DEFAULT ? ? 0xff700000
> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
>
> ?/* P1015 is single core version of P1024 */
> ?#elif defined(CONFIG_P1015)
> diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
> index 6e0043a..66b7da5 100644
> --- a/drivers/usb/host/ehci-fsl.c
> +++ b/drivers/usb/host/ehci-fsl.c
> @@ -1,5 +1,5 @@
> ?/*
> - * (C) Copyright 2009 Freescale Semiconductor, Inc.
> + * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
> ?*
> ?* (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
> ?*
> @@ -26,6 +26,7 @@
> ?#include <usb.h>
> ?#include <asm/io.h>
> ?#include <usb/ehci-fsl.h>
> +#include <hwconfig.h>
>
> ?#include "ehci.h"
> ?#include "ehci-core.h"
> @@ -39,6 +40,11 @@
> ?int ehci_hcd_init(void)
> ?{
> ? ? ? ?struct usb_ehci *ehci;
> + ? ? ? char usb_phy[5];
> + ? ? ? const char *phy_type = NULL;
> + ? ? ? size_t len;
> +
> + ? ? ? usb_phy[0] = '\0';
>
> ? ? ? ?ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
> ? ? ? ?hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
> @@ -52,10 +58,35 @@ int ehci_hcd_init(void)
> ? ? ? ?out_be32(&ehci->snoop2, 0x80000000 | SNOOP_SIZE_2GB);
>
> ? ? ? ?/* Init phy */
> - ? ? ? if (!strcmp(getenv("usb_phy_type"), "utmi"))
> - ? ? ? ? ? ? ? out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
> + ? ? ? if (hwconfig_sub("usb1", "phy_type"))
> + ? ? ? ? ? ? ? phy_type = hwconfig_subarg("usb1", "phy_type", &len);
> ? ? ? ?else
> + ? ? ? ? ? ? ? phy_type = getenv("usb_phy_type");

Please insert an empty line here for readability.

> + ? ? ? if (!phy_type) {
> +#ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
> + ? ? ? ? ? ? ? /* if none specified assume internal UTMI */
> + ? ? ? ? ? ? ? strcpy(usb_phy, "utmi");
> + ? ? ? ? ? ? ? phy_type = usb_phy;
> +#else
> + ? ? ? ? ? ? ? printf("WARNING: USB phy type not defined !!\n");
> + ? ? ? ? ? ? ? return -1;
> +#endif
> + ? ? ? ? ? ? ? }

Alignment is messy due to this patch. Please fix.

> + ? ? ? if (!strcmp(phy_type, "utmi")) {
> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
> + ? ? ? ? ? ? ? setbits_be32(&ehci->control, PHY_CLK_SEL_UTMI);
> + ? ? ? ? ? ? ? setbits_be32(&ehci->control, UTMI_PHY_EN);
> + ? ? ? ? ? ? ? udelay(1000); /* delay required for PHY Clk to appear */
> +#endif
> + ? ? ? ? ? ? ? out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
> + ? ? ? } else {
> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
> + ? ? ? ? ? ? ? clrbits_be32(&ehci->control, UTMI_PHY_EN);
> + ? ? ? ? ? ? ? setbits_be32(&ehci->control, PHY_CLK_SEL_ULPI);
> + ? ? ? ? ? ? ? udelay(1000); /* delay required for PHY Clk to appear */
> +#endif
> ? ? ? ? ? ? ? ?out_le32(&(hcor->or_portsc[0]), PORT_PTS_ULPI);
> + ? ? ? }

The ifdef-ery makes the code somewhat messy as well. Can it be written
somewhat else?
Apart from that and the style issues, no remarks or concerns.

Kind regards,

Remy

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
  2011-08-08 20:15 ` Remy Bohmer
@ 2011-08-08 20:46   ` Kumar Gala
  2011-08-08 20:52     ` Remy Bohmer
  0 siblings, 1 reply; 12+ messages in thread
From: Kumar Gala @ 2011-08-08 20:46 UTC (permalink / raw)
  To: u-boot


On Aug 8, 2011, at 3:15 PM, Remy Bohmer wrote:

> Hi,
> 
> 2011/7/1 Kumar Gala <galak@kernel.crashing.org>:
>> From: Ramneek Mehresh <ramneek.mehresh@freescale.com>
>> 
>> Add UTMI and ULPI PHY support for USB controller on qoriq series of
>> processors with internal UTMI PHY implemented, for example P1010/P1014
>>  - Use both getenv() and hwconfig to get USB phy type till getenv()
>>   is depricated
>>  - Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc
>>   has internal UTMI phy
>> 
>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
>> CC: Remy Bohmer <linux@bohmer.net>
>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>> ---
>>  arch/powerpc/include/asm/config_mpc85xx.h |    2 +
>>  drivers/usb/host/ehci-fsl.c               |   37 ++++++++++++++++++++++++++--
>>  2 files changed, 36 insertions(+), 3 deletions(-)
>> 
>> diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
>> index 04ca989..d9d04e7 100644
>> --- a/arch/powerpc/include/asm/config_mpc85xx.h
>> +++ b/arch/powerpc/include/asm/config_mpc85xx.h
>> @@ -97,6 +97,7 @@
>>  #define CONFIG_NUM_DDR_CONTROLLERS     1
>>  #define CONFIG_SYS_CCSRBAR_DEFAULT     0xff700000
>>  #define CONFIG_SYS_FSL_PCIE_COMPAT     "fsl,qoriq-pcie-v2.2"
>> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
>> 
>>  /* P1011 is single core version of P1020 */
>>  #elif defined(CONFIG_P1011)
>> @@ -141,6 +142,7 @@
>>  #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
>>  #define CONFIG_NUM_DDR_CONTROLLERS     1
>>  #define CONFIG_SYS_CCSRBAR_DEFAULT     0xff700000
>> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
>> 
>>  /* P1015 is single core version of P1024 */
>>  #elif defined(CONFIG_P1015)
>> diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
>> index 6e0043a..66b7da5 100644
>> --- a/drivers/usb/host/ehci-fsl.c
>> +++ b/drivers/usb/host/ehci-fsl.c
>> @@ -1,5 +1,5 @@
>>  /*
>> - * (C) Copyright 2009 Freescale Semiconductor, Inc.
>> + * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
>>  *
>>  * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
>>  *
>> @@ -26,6 +26,7 @@
>>  #include <usb.h>
>>  #include <asm/io.h>
>>  #include <usb/ehci-fsl.h>
>> +#include <hwconfig.h>
>> 
>>  #include "ehci.h"
>>  #include "ehci-core.h"
>> @@ -39,6 +40,11 @@
>>  int ehci_hcd_init(void)
>>  {
>>        struct usb_ehci *ehci;
>> +       char usb_phy[5];
>> +       const char *phy_type = NULL;
>> +       size_t len;
>> +
>> +       usb_phy[0] = '\0';
>> 
>>        ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
>>        hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
>> @@ -52,10 +58,35 @@ int ehci_hcd_init(void)
>>        out_be32(&ehci->snoop2, 0x80000000 | SNOOP_SIZE_2GB);
>> 
>>        /* Init phy */
>> -       if (!strcmp(getenv("usb_phy_type"), "utmi"))
>> -               out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
>> +       if (hwconfig_sub("usb1", "phy_type"))
>> +               phy_type = hwconfig_subarg("usb1", "phy_type", &len);
>>        else
>> +               phy_type = getenv("usb_phy_type");
> 
> Please insert an empty line here for readability.
> 
>> +       if (!phy_type) {
>> +#ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
>> +               /* if none specified assume internal UTMI */
>> +               strcpy(usb_phy, "utmi");
>> +               phy_type = usb_phy;
>> +#else
>> +               printf("WARNING: USB phy type not defined !!\n");
>> +               return -1;
>> +#endif
>> +               }
> 
> Alignment is messy due to this patch. Please fix.
> 
>> +       if (!strcmp(phy_type, "utmi")) {
>> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
>> +               setbits_be32(&ehci->control, PHY_CLK_SEL_UTMI);
>> +               setbits_be32(&ehci->control, UTMI_PHY_EN);
>> +               udelay(1000); /* delay required for PHY Clk to appear */
>> +#endif
>> +               out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
>> +       } else {
>> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
>> +               clrbits_be32(&ehci->control, UTMI_PHY_EN);
>> +               setbits_be32(&ehci->control, PHY_CLK_SEL_ULPI);
>> +               udelay(1000); /* delay required for PHY Clk to appear */
>> +#endif
>>                out_le32(&(hcor->or_portsc[0]), PORT_PTS_ULPI);
>> +       }
> 
> The ifdef-ery makes the code somewhat messy as well. Can it be written
> somewhat else?
> Apart from that and the style issues, no remarks or concerns.

Not really sure how to do that.  The patch is a bit more messy than the actual code.

- k

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/2][v2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
  2011-07-01  4:11 [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014 Kumar Gala
                   ` (2 preceding siblings ...)
  2011-08-08 20:15 ` Remy Bohmer
@ 2011-08-08 20:47 ` Kumar Gala
  2011-08-10 17:10   ` Kumar Gala
  3 siblings, 1 reply; 12+ messages in thread
From: Kumar Gala @ 2011-08-08 20:47 UTC (permalink / raw)
  To: u-boot

From: Ramneek Mehresh <ramneek.mehresh@freescale.com>

Add UTMI and ULPI PHY support for USB controller on qoriq series of
processors with internal UTMI PHY implemented, for example P1010/P1014
 - Use both getenv() and hwconfig to get USB phy type till getenv()
   is depricated
 - Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc
   has internal UTMI phy

Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
* Add whitespace and formatting fixes

 arch/powerpc/include/asm/config_mpc85xx.h |    2 +
 drivers/usb/host/ehci-fsl.c               |   39 ++++++++++++++++++++++++++--
 2 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
index 04ca989..d9d04e7 100644
--- a/arch/powerpc/include/asm/config_mpc85xx.h
+++ b/arch/powerpc/include/asm/config_mpc85xx.h
@@ -97,6 +97,7 @@
 #define CONFIG_NUM_DDR_CONTROLLERS	1
 #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
 #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
+#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
 
 /* P1011 is single core version of P1020 */
 #elif defined(CONFIG_P1011)
@@ -141,6 +142,7 @@
 #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
 #define CONFIG_NUM_DDR_CONTROLLERS	1
 #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
+#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
 
 /* P1015 is single core version of P1024 */
 #elif defined(CONFIG_P1015)
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 6e0043a..5a65d92 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2009 Freescale Semiconductor, Inc.
+ * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
  *
  * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
  *
@@ -26,6 +26,7 @@
 #include <usb.h>
 #include <asm/io.h>
 #include <usb/ehci-fsl.h>
+#include <hwconfig.h>
 
 #include "ehci.h"
 #include "ehci-core.h"
@@ -39,6 +40,11 @@
 int ehci_hcd_init(void)
 {
 	struct usb_ehci *ehci;
+	char usb_phy[5];
+	const char *phy_type = NULL;
+	size_t len;
+
+	usb_phy[0] = '\0';
 
 	ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
 	hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
@@ -52,10 +58,37 @@ int ehci_hcd_init(void)
 	out_be32(&ehci->snoop2, 0x80000000 | SNOOP_SIZE_2GB);
 
 	/* Init phy */
-	if (!strcmp(getenv("usb_phy_type"), "utmi"))
-		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
+	if (hwconfig_sub("usb1", "phy_type"))
+		phy_type = hwconfig_subarg("usb1", "phy_type", &len);
 	else
+		phy_type = getenv("usb_phy_type");
+
+	if (!phy_type) {
+#ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
+		/* if none specified assume internal UTMI */
+		strcpy(usb_phy, "utmi");
+		phy_type = usb_phy;
+#else
+		printf("WARNING: USB phy type not defined !!\n");
+		return -1;
+#endif
+	}
+
+	if (!strcmp(phy_type, "utmi")) {
+#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
+		setbits_be32(&ehci->control, PHY_CLK_SEL_UTMI);
+		setbits_be32(&ehci->control, UTMI_PHY_EN);
+		udelay(1000); /* delay required for PHY Clk to appear */
+#endif
+		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
+	} else {
+#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
+		clrbits_be32(&ehci->control, UTMI_PHY_EN);
+		setbits_be32(&ehci->control, PHY_CLK_SEL_ULPI);
+		udelay(1000); /* delay required for PHY Clk to appear */
+#endif
 		out_le32(&(hcor->or_portsc[0]), PORT_PTS_ULPI);
+	}
 
 	/* Enable interface. */
 	setbits_be32(&ehci->control, USB_EN);
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
  2011-08-08 20:46   ` Kumar Gala
@ 2011-08-08 20:52     ` Remy Bohmer
  0 siblings, 0 replies; 12+ messages in thread
From: Remy Bohmer @ 2011-08-08 20:52 UTC (permalink / raw)
  To: u-boot

Hi,

>> The ifdef-ery makes the code somewhat messy as well. Can it be written
>> somewhat else?
>> Apart from that and the style issues, no remarks or concerns.
>
> Not really sure how to do that. ?The patch is a bit more messy than the actual code.

I was talking about the actual code, not the patch...
I did not see a quick solution myself either. So, I will pull it in as-is...

Kind regards,

Remy

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/2][v2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
  2011-08-08 20:47 ` [U-Boot] [PATCH 1/2][v2] " Kumar Gala
@ 2011-08-10 17:10   ` Kumar Gala
  2011-08-13  8:23     ` Remy Bohmer
  0 siblings, 1 reply; 12+ messages in thread
From: Kumar Gala @ 2011-08-10 17:10 UTC (permalink / raw)
  To: u-boot


On Aug 8, 2011, at 3:47 PM, Kumar Gala wrote:

> From: Ramneek Mehresh <ramneek.mehresh@freescale.com>
> 
> Add UTMI and ULPI PHY support for USB controller on qoriq series of
> processors with internal UTMI PHY implemented, for example P1010/P1014
> - Use both getenv() and hwconfig to get USB phy type till getenv()
>   is depricated
> - Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc
>   has internal UTMI phy
> 
> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
> CC: Remy Bohmer <linux@bohmer.net>
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> * Add whitespace and formatting fixes

Remy,

Can you just ack this and I'll pull it in via the 85xx tree?

- k

> 
> arch/powerpc/include/asm/config_mpc85xx.h |    2 +
> drivers/usb/host/ehci-fsl.c               |   39 ++++++++++++++++++++++++++--
> 2 files changed, 38 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
> index 04ca989..d9d04e7 100644
> --- a/arch/powerpc/include/asm/config_mpc85xx.h
> +++ b/arch/powerpc/include/asm/config_mpc85xx.h
> @@ -97,6 +97,7 @@
> #define CONFIG_NUM_DDR_CONTROLLERS	1
> #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
> #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"
> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
> 
> /* P1011 is single core version of P1020 */
> #elif defined(CONFIG_P1011)
> @@ -141,6 +142,7 @@
> #define CONFIG_SYS_FSL_ERRATUM_ESDHC111
> #define CONFIG_NUM_DDR_CONTROLLERS	1
> #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000
> +#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
> 
> /* P1015 is single core version of P1024 */
> #elif defined(CONFIG_P1015)
> diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
> index 6e0043a..5a65d92 100644
> --- a/drivers/usb/host/ehci-fsl.c
> +++ b/drivers/usb/host/ehci-fsl.c
> @@ -1,5 +1,5 @@
> /*
> - * (C) Copyright 2009 Freescale Semiconductor, Inc.
> + * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
>  *
>  * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
>  *
> @@ -26,6 +26,7 @@
> #include <usb.h>
> #include <asm/io.h>
> #include <usb/ehci-fsl.h>
> +#include <hwconfig.h>
> 
> #include "ehci.h"
> #include "ehci-core.h"
> @@ -39,6 +40,11 @@
> int ehci_hcd_init(void)
> {
> 	struct usb_ehci *ehci;
> +	char usb_phy[5];
> +	const char *phy_type = NULL;
> +	size_t len;
> +
> +	usb_phy[0] = '\0';
> 
> 	ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB_ADDR;
> 	hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
> @@ -52,10 +58,37 @@ int ehci_hcd_init(void)
> 	out_be32(&ehci->snoop2, 0x80000000 | SNOOP_SIZE_2GB);
> 
> 	/* Init phy */
> -	if (!strcmp(getenv("usb_phy_type"), "utmi"))
> -		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
> +	if (hwconfig_sub("usb1", "phy_type"))
> +		phy_type = hwconfig_subarg("usb1", "phy_type", &len);
> 	else
> +		phy_type = getenv("usb_phy_type");
> +
> +	if (!phy_type) {
> +#ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
> +		/* if none specified assume internal UTMI */
> +		strcpy(usb_phy, "utmi");
> +		phy_type = usb_phy;
> +#else
> +		printf("WARNING: USB phy type not defined !!\n");
> +		return -1;
> +#endif
> +	}
> +
> +	if (!strcmp(phy_type, "utmi")) {
> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
> +		setbits_be32(&ehci->control, PHY_CLK_SEL_UTMI);
> +		setbits_be32(&ehci->control, UTMI_PHY_EN);
> +		udelay(1000); /* delay required for PHY Clk to appear */
> +#endif
> +		out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
> +	} else {
> +#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
> +		clrbits_be32(&ehci->control, UTMI_PHY_EN);
> +		setbits_be32(&ehci->control, PHY_CLK_SEL_ULPI);
> +		udelay(1000); /* delay required for PHY Clk to appear */
> +#endif
> 		out_le32(&(hcor->or_portsc[0]), PORT_PTS_ULPI);
> +	}
> 
> 	/* Enable interface. */
> 	setbits_be32(&ehci->control, USB_EN);
> -- 
> 1.7.3.4
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/2][v2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
  2011-08-10 17:10   ` Kumar Gala
@ 2011-08-13  8:23     ` Remy Bohmer
  2011-08-22 14:51       ` Kumar Gala
  0 siblings, 1 reply; 12+ messages in thread
From: Remy Bohmer @ 2011-08-13  8:23 UTC (permalink / raw)
  To: u-boot

Hi,

2011/8/10 Kumar Gala <galak@kernel.crashing.org>:
>
> On Aug 8, 2011, at 3:47 PM, Kumar Gala wrote:
>
>> From: Ramneek Mehresh <ramneek.mehresh@freescale.com>
>>
>> Add UTMI and ULPI PHY support for USB controller on qoriq series of
>> processors with internal UTMI PHY implemented, for example P1010/P1014
>> - Use both getenv() and hwconfig to get USB phy type till getenv()
>> ? is depricated
>> - Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc
>> ? has internal UTMI phy
>>
>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
>> CC: Remy Bohmer <linux@bohmer.net>
>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>> ---
>> * Add whitespace and formatting fixes
>
> Remy,
>
> Can you just ack this and I'll pull it in via the 85xx tree?

Now with reply-all ;-))

Acked-by: Remy Bohmer <linux@bohmer.net>

Remy

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/2][v2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014
  2011-08-13  8:23     ` Remy Bohmer
@ 2011-08-22 14:51       ` Kumar Gala
  0 siblings, 0 replies; 12+ messages in thread
From: Kumar Gala @ 2011-08-22 14:51 UTC (permalink / raw)
  To: u-boot


On Aug 13, 2011, at 3:23 AM, Remy Bohmer wrote:

> Hi,
> 
> 2011/8/10 Kumar Gala <galak@kernel.crashing.org>:
>> 
>> On Aug 8, 2011, at 3:47 PM, Kumar Gala wrote:
>> 
>>> From: Ramneek Mehresh <ramneek.mehresh@freescale.com>
>>> 
>>> Add UTMI and ULPI PHY support for USB controller on qoriq series of
>>> processors with internal UTMI PHY implemented, for example P1010/P1014
>>> - Use both getenv() and hwconfig to get USB phy type till getenv()
>>>   is depricated
>>> - Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc
>>>   has internal UTMI phy
>>> 
>>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
>>> CC: Remy Bohmer <linux@bohmer.net>
>>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>>> ---
>>> * Add whitespace and formatting fixes
>> 
>> Remy,
>> 
>> Can you just ack this and I'll pull it in via the 85xx tree?
> 
> Now with reply-all ;-))
> 
> Acked-by: Remy Bohmer <linux@bohmer.net>
> 
> Remy

applied to 85xx 'next'

- k

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 2/2] powerpc/85xx: Enable internal USB UTMI PHY on p204x/p3041/p50x0
  2011-07-01  4:11 ` [U-Boot] [PATCH 2/2] powerpc/85xx: Enable internal USB UTMI PHY on p204x/p3041/p50x0 Kumar Gala
@ 2011-08-26 19:02   ` Kumar Gala
  0 siblings, 0 replies; 12+ messages in thread
From: Kumar Gala @ 2011-08-26 19:02 UTC (permalink / raw)
  To: u-boot


On Jun 30, 2011, at 11:11 PM, Kumar Gala wrote:

> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> arch/powerpc/include/asm/config_mpc85xx.h |    5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)

applied to 85xx next

- k

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2011-08-26 19:02 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-01  4:11 [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014 Kumar Gala
2011-07-01  4:11 ` [U-Boot] [PATCH 2/2] powerpc/85xx: Enable internal USB UTMI PHY on p204x/p3041/p50x0 Kumar Gala
2011-08-26 19:02   ` Kumar Gala
2011-07-11 16:11 ` [U-Boot] [PATCH 1/2] powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014 Kumar Gala
2011-07-17 15:34   ` Kumar Gala
2011-08-08 20:15 ` Remy Bohmer
2011-08-08 20:46   ` Kumar Gala
2011-08-08 20:52     ` Remy Bohmer
2011-08-08 20:47 ` [U-Boot] [PATCH 1/2][v2] " Kumar Gala
2011-08-10 17:10   ` Kumar Gala
2011-08-13  8:23     ` Remy Bohmer
2011-08-22 14:51       ` Kumar Gala

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.