Re: [U-Boot] [PATCH] OMAP5: USB_EHCI: Enable ehci support for omap5

2013-07-10 Thread Dan Murphy
Lokesh
On 07/08/2013 10:21 PM, Lokesh Vutla wrote:
> Hi Dan,
> On Tuesday 09 July 2013 02:29 AM, Dan Murphy wrote:
>> From: "Govindraj.R" 
>>
>> * Enable all usb ehci related clocks.
>> * Add ehci support to omap5 board file and arch specific
>>   sysc reg mask values.
>> * Enable config options for usb support and ethernet support
>>
>> Signed-off-by: Govindraj.R 
>> ---
>>  arch/arm/cpu/armv7/omap5/clocks.c|   20 +++---
>>  arch/arm/include/asm/arch-omap5/clocks.h |6 
>>  arch/arm/include/asm/arch-omap5/ehci.h   |   44 
>> ++
>>  board/ti/omap5_evm/evm.c |   33 ++
>>  include/configs/omap5_evm5430.h  |   23 ++--
>>  5 files changed, 120 insertions(+), 6 deletions(-)
>>  create mode 100644 arch/arm/include/asm/arch-omap5/ehci.h
> Is this based on current mainline?
> Most of the above files changed are not preset in mainline.

Honestly I have no idea how this patch got posted.

I will remove this patch in v2.
> 


-- 
--
Dan Murphy

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] OMAP5: USB_EHCI: Enable ehci support for omap5

2013-07-10 Thread Dan Murphy
Lokesh
On 07/08/2013 10:21 PM, Lokesh Vutla wrote:
> Hi Dan,
> On Tuesday 09 July 2013 02:29 AM, Dan Murphy wrote:
>> From: "Govindraj.R" 
>>
>> * Enable all usb ehci related clocks.
>> * Add ehci support to omap5 board file and arch specific
>>   sysc reg mask values.
>> * Enable config options for usb support and ethernet support
>>
>> Signed-off-by: Govindraj.R 
>> ---
>>  arch/arm/cpu/armv7/omap5/clocks.c|   20 +++---
>>  arch/arm/include/asm/arch-omap5/clocks.h |6 
>>  arch/arm/include/asm/arch-omap5/ehci.h   |   44 
>> ++
>>  board/ti/omap5_evm/evm.c |   33 ++
>>  include/configs/omap5_evm5430.h  |   23 ++--
>>  5 files changed, 120 insertions(+), 6 deletions(-)
>>  create mode 100644 arch/arm/include/asm/arch-omap5/ehci.h
> Is this based on current mainline?
> Most of the above files changed are not preset in mainline.

Honestly I have no idea how this patch got posted.

I will remove this patch in v2.
> 


-- 
--
Dan Murphy

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] OMAP5: USB_EHCI: Enable ehci support for omap5

2013-07-08 Thread Lokesh Vutla
Hi Dan,
On Tuesday 09 July 2013 02:29 AM, Dan Murphy wrote:
> From: "Govindraj.R" 
> 
> * Enable all usb ehci related clocks.
> * Add ehci support to omap5 board file and arch specific
>   sysc reg mask values.
> * Enable config options for usb support and ethernet support
> 
> Signed-off-by: Govindraj.R 
> ---
>  arch/arm/cpu/armv7/omap5/clocks.c|   20 +++---
>  arch/arm/include/asm/arch-omap5/clocks.h |6 
>  arch/arm/include/asm/arch-omap5/ehci.h   |   44 
> ++
>  board/ti/omap5_evm/evm.c |   33 ++
>  include/configs/omap5_evm5430.h  |   23 ++--
>  5 files changed, 120 insertions(+), 6 deletions(-)
>  create mode 100644 arch/arm/include/asm/arch-omap5/ehci.h
Is this based on current mainline?
Most of the above files changed are not preset in mainline.
> 
> diff --git a/arch/arm/cpu/armv7/omap5/clocks.c 
> b/arch/arm/cpu/armv7/omap5/clocks.c
> index 7e69d2b..f914b60 100644
> --- a/arch/arm/cpu/armv7/omap5/clocks.c
> +++ b/arch/arm/cpu/armv7/omap5/clocks.c
> @@ -375,6 +375,8 @@ void enable_basic_clocks(void)
>   &prcm->cm_l4per_gpio4_clkctrl,
>   &prcm->cm_l4per_gpio5_clkctrl,
>   &prcm->cm_l4per_gpio6_clkctrl,
> + &prcm->cm_clksel_usb_60mhz,
> + &prcm->cm_l3init_hsusbtll_clkctrl,
>   0
>   };
>  
> @@ -385,6 +387,7 @@ void enable_basic_clocks(void)
>   &prcm->cm_wkup_wdtimer2_clkctrl,
>   &prcm->cm_l4per_uart3_clkctrl,
>   &prcm->cm_l4per_i2c1_clkctrl,
> + &prcm->cm_l3init_hsusbhost_clkctrl,
>   0
>   };
>  
> @@ -408,10 +411,13 @@ void enable_basic_clocks(void)
>   setbits_le32(&prcm->cm_wkup_gptimer1_clkctrl,
>   GPTIMER1_CLKCTRL_CLKSEL_MASK);
>  
> - do_enable_clocks(clk_domains_essential,
> -  clk_modules_hw_auto_essential,
> -  clk_modules_explicit_en_essential,
> -  1);
> + /* Enbale all 3 usb ports enable uhh, utmi and hsic clocks*/
> + setbits_le32(&prcm->cm_l3init_hsusbhost_clkctrl,
> + USB_HOST_HS_CLKCTRL_MASK);
> +
> + /* Enbale all 3 usb host ports tll clocks*/
> + setbits_le32(&prcm->cm_l3init_hsusbtll_clkctrl,
> + USB_TLL_HS_CLKCTRL_MASK);
Please keep this under a CONFIG_*_USB_* macro.

Thanks, 
Lokesh
>  
>   /* Select 384Mhz for GPU as its the POR for ES1.0 */
>   setbits_le32(&prcm->cm_sgx_sgx_clkctrl,
> @@ -429,6 +435,12 @@ void enable_basic_clocks(void)
>   setbits_le32(&prcm->cm_coreaon_bandgap_clkctrl,
>   ((OMAP_TS_CLK_ENABLE_MASK | OMAP_19M_TS_CLK_DIVIDER_MASK)
>   & ~OMAP_38M_TS_CLK_DIVIDER_MASK));
> +
> + do_enable_clocks(clk_domains_essential,
> +  clk_modules_hw_auto_essential,
> +  clk_modules_explicit_en_essential,
> +  1);
> +
>  }
>  
>  void enable_basic_uboot_clocks(void)
> diff --git a/arch/arm/include/asm/arch-omap5/clocks.h 
> b/arch/arm/include/asm/arch-omap5/clocks.h
> index c944f35..43fc5b8 100644
> --- a/arch/arm/include/asm/arch-omap5/clocks.h
> +++ b/arch/arm/include/asm/arch-omap5/clocks.h
> @@ -613,6 +613,12 @@ struct omap5_prcm_regs {
>  /* CM_L3INIT_USBPHY_CLKCTRL */
>  #define USBPHY_CLKCTRL_OPTFCLKEN_PHY_48M_MASK8
>  
> +/* CM_L3INIT_USB_HOST_HS_CLKCTRL */
> +#define USB_HOST_HS_CLKCTRL_MASK 0xFFC0
> +
> +/* CM_L3INIT_USB_TLL_HS_CLKCTRL */
> +#define USB_TLL_HS_CLKCTRL_MASK  0x700
> +
>  /* CM_MPU_MPU_CLKCTRL */
>  #define MPU_CLKCTRL_CLKSEL_EMIF_DIV_MODE_SHIFT   24
>  #define MPU_CLKCTRL_CLKSEL_EMIF_DIV_MODE_MASK(1 << 24)
> diff --git a/arch/arm/include/asm/arch-omap5/ehci.h 
> b/arch/arm/include/asm/arch-omap5/ehci.h
> new file mode 100644
> index 000..49197f2
> --- /dev/null
> +++ b/arch/arm/include/asm/arch-omap5/ehci.h
> @@ -0,0 +1,44 @@
> +/*
> + * OMAP EHCI port support
> + * Based on LINUX KERNEL
> + * drivers/usb/host/ehci-omap.c and drivers/mfd/omap-usb-host.c
> + *
> + * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com*
> + * Author: Govindraj R 
> + *
> + * This program is free software: you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2  of
> + * the License as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program. If not, see .
> + */
> +
> +#ifndef _EHCI_H
> +#define _EHCI_H
> +
> +#define OMAP_EHCI_BASE   (OMAP

[U-Boot] [PATCH] OMAP5: USB_EHCI: Enable ehci support for omap5

2013-07-08 Thread Dan Murphy
From: "Govindraj.R" 

* Enable all usb ehci related clocks.
* Add ehci support to omap5 board file and arch specific
  sysc reg mask values.
* Enable config options for usb support and ethernet support

Signed-off-by: Govindraj.R 
---
 arch/arm/cpu/armv7/omap5/clocks.c|   20 +++---
 arch/arm/include/asm/arch-omap5/clocks.h |6 
 arch/arm/include/asm/arch-omap5/ehci.h   |   44 ++
 board/ti/omap5_evm/evm.c |   33 ++
 include/configs/omap5_evm5430.h  |   23 ++--
 5 files changed, 120 insertions(+), 6 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-omap5/ehci.h

diff --git a/arch/arm/cpu/armv7/omap5/clocks.c 
b/arch/arm/cpu/armv7/omap5/clocks.c
index 7e69d2b..f914b60 100644
--- a/arch/arm/cpu/armv7/omap5/clocks.c
+++ b/arch/arm/cpu/armv7/omap5/clocks.c
@@ -375,6 +375,8 @@ void enable_basic_clocks(void)
&prcm->cm_l4per_gpio4_clkctrl,
&prcm->cm_l4per_gpio5_clkctrl,
&prcm->cm_l4per_gpio6_clkctrl,
+   &prcm->cm_clksel_usb_60mhz,
+   &prcm->cm_l3init_hsusbtll_clkctrl,
0
};
 
@@ -385,6 +387,7 @@ void enable_basic_clocks(void)
&prcm->cm_wkup_wdtimer2_clkctrl,
&prcm->cm_l4per_uart3_clkctrl,
&prcm->cm_l4per_i2c1_clkctrl,
+   &prcm->cm_l3init_hsusbhost_clkctrl,
0
};
 
@@ -408,10 +411,13 @@ void enable_basic_clocks(void)
setbits_le32(&prcm->cm_wkup_gptimer1_clkctrl,
GPTIMER1_CLKCTRL_CLKSEL_MASK);
 
-   do_enable_clocks(clk_domains_essential,
-clk_modules_hw_auto_essential,
-clk_modules_explicit_en_essential,
-1);
+   /* Enbale all 3 usb ports enable uhh, utmi and hsic clocks*/
+   setbits_le32(&prcm->cm_l3init_hsusbhost_clkctrl,
+   USB_HOST_HS_CLKCTRL_MASK);
+
+   /* Enbale all 3 usb host ports tll clocks*/
+   setbits_le32(&prcm->cm_l3init_hsusbtll_clkctrl,
+   USB_TLL_HS_CLKCTRL_MASK);
 
/* Select 384Mhz for GPU as its the POR for ES1.0 */
setbits_le32(&prcm->cm_sgx_sgx_clkctrl,
@@ -429,6 +435,12 @@ void enable_basic_clocks(void)
setbits_le32(&prcm->cm_coreaon_bandgap_clkctrl,
((OMAP_TS_CLK_ENABLE_MASK | OMAP_19M_TS_CLK_DIVIDER_MASK)
& ~OMAP_38M_TS_CLK_DIVIDER_MASK));
+
+   do_enable_clocks(clk_domains_essential,
+clk_modules_hw_auto_essential,
+clk_modules_explicit_en_essential,
+1);
+
 }
 
 void enable_basic_uboot_clocks(void)
diff --git a/arch/arm/include/asm/arch-omap5/clocks.h 
b/arch/arm/include/asm/arch-omap5/clocks.h
index c944f35..43fc5b8 100644
--- a/arch/arm/include/asm/arch-omap5/clocks.h
+++ b/arch/arm/include/asm/arch-omap5/clocks.h
@@ -613,6 +613,12 @@ struct omap5_prcm_regs {
 /* CM_L3INIT_USBPHY_CLKCTRL */
 #define USBPHY_CLKCTRL_OPTFCLKEN_PHY_48M_MASK  8
 
+/* CM_L3INIT_USB_HOST_HS_CLKCTRL */
+#define USB_HOST_HS_CLKCTRL_MASK   0xFFC0
+
+/* CM_L3INIT_USB_TLL_HS_CLKCTRL */
+#define USB_TLL_HS_CLKCTRL_MASK0x700
+
 /* CM_MPU_MPU_CLKCTRL */
 #define MPU_CLKCTRL_CLKSEL_EMIF_DIV_MODE_SHIFT 24
 #define MPU_CLKCTRL_CLKSEL_EMIF_DIV_MODE_MASK  (1 << 24)
diff --git a/arch/arm/include/asm/arch-omap5/ehci.h 
b/arch/arm/include/asm/arch-omap5/ehci.h
new file mode 100644
index 000..49197f2
--- /dev/null
+++ b/arch/arm/include/asm/arch-omap5/ehci.h
@@ -0,0 +1,44 @@
+/*
+ * OMAP EHCI port support
+ * Based on LINUX KERNEL
+ * drivers/usb/host/ehci-omap.c and drivers/mfd/omap-usb-host.c
+ *
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com*
+ * Author: Govindraj R 
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2  of
+ * the License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#ifndef _EHCI_H
+#define _EHCI_H
+
+#define OMAP_EHCI_BASE (OMAP54XX_L4_CORE_BASE + 
0x64C00)
+#define OMAP_UHH_BASE  (OMAP54XX_L4_CORE_BASE + 
0x64000)
+#define OMAP_USBTLL_BASE   (OMAP54XX_L4_CORE_BASE + 
0x62000)
+
+/* TLL Register Set */
+#define OMAP_USBTLL_SYSCONFIG_SIDLEMODE(1 << 3)
+#define OMAP_USBTLL_SYSCONFIG_ENAWAKEUP(1 << 2)
+#define OMAP_USBTLL_SYSCONFIG_SOFTRESET(1 <<