public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset
@ 2010-09-25 11:36 Varadarajan, Charulatha
  2010-09-25 11:48 ` Varadarajan, Charulatha
  0 siblings, 1 reply; 5+ messages in thread
From: Varadarajan, Charulatha @ 2010-09-25 11:36 UTC (permalink / raw)
  To: linux-omap; +Cc: khilman, tony, premi, Varadarajan, Charulatha

Do reset of Ethernet controller smsc911x using OMAP gpio7
while initializing the Ethernet controller.

Signed-off-by: Charulatha V <charu@ti.com>
---
 arch/arm/mach-omap2/board-omap3evm.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index f76d9c0..54a7e20 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -55,6 +55,7 @@
 #define OMAP3EVM_ETHR_SIZE	1024
 #define OMAP3EVM_ETHR_ID_REV	0x50
 #define OMAP3EVM_ETHR_GPIO_IRQ	176
+#define OMAP3EVM_ETHR_GPIO_RST  7
 #define OMAP3EVM_SMSC911X_CS	5
 
 static u8 omap3_evm_version;
@@ -134,6 +135,20 @@ static inline void __init omap3evm_init_smsc911x(void)
 	else
 		rate = clk_get_rate(l3ck);
 
+	/* Configure ethernet controller reset gpio */
+	if (gpio_request(OMAP3EVM_ETHR_GPIO_RST, "SMSC911x gpio") < 0) {
+		pr_err(KERN_ERR "Failed to request GPIO8 for smsc911x gpio\n");
+		return;
+	}
+
+	gpio_direction_output(OMAP3EVM_ETHR_GPIO_RST, 1);
+
+	/* reset pulse to ethernet controller*/
+	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 0);
+	usleep_range(150, 220);
+	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 1);
+	usleep_range(1, 2);
+
 	if (gpio_request(OMAP3EVM_ETHR_GPIO_IRQ, "SMSC911x irq") < 0) {
 		printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n",
 			OMAP3EVM_ETHR_GPIO_IRQ);
-- 
1.7.0.4


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

* RE: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset
  2010-09-25 11:36 [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset Varadarajan, Charulatha
@ 2010-09-25 11:48 ` Varadarajan, Charulatha
  2010-09-27 14:55   ` Kevin Hilman
  0 siblings, 1 reply; 5+ messages in thread
From: Varadarajan, Charulatha @ 2010-09-25 11:48 UTC (permalink / raw)
  To: linux-omap@vger.kernel.org, Premi, Sanjeev
  Cc: khilman@deeprootsystems.com, tony@atomide.com,
	Varadarajan, Charulatha

Sanjeev,

With GPIO hwmod series, OMAP3EVM board is not up with DHCP + nfs root.
This issue was reported by Kevin.

The root cause of this issue is that during OMAP3EVM board init, the
Ethernet controller (smsc911x) is not reset and it relies on the uboot 
configurations for it's operations. The reset GPIO pin used for this
purpose is not even reserved.

After gpio hmwod series are merged, this patch is required to make the
EVM board working. Also omap3evm_init_smsc911x() needs to be fixed
including CS settings and other required settings for Ethernet controller.

Links to related discussions:
http://www.spinics.net/lists/linux-omap/msg37234.html
http://www.spinics.net/lists/linux-omap/msg36698.html
http://www.spinics.net/lists/linux-omap/msg36799.html

The below patch is tested on OMAP3 EVM board (ES3.1).

Thanks,
V Charulatha


> -----Original Message-----
> From: Varadarajan, Charulatha
> Sent: Saturday, September 25, 2010 5:07 PM
> To: linux-omap@vger.kernel.org
> Cc: khilman@deeprootsystems.com; tony@atomide.com; Premi, Sanjeev;
> Varadarajan, Charulatha
> Subject: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset
> 
> Do reset of Ethernet controller smsc911x using OMAP gpio7
> while initializing the Ethernet controller.
> 
> Signed-off-by: Charulatha V <charu@ti.com>
> ---
>  arch/arm/mach-omap2/board-omap3evm.c |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-
> omap2/board-omap3evm.c
> index f76d9c0..54a7e20 100644
> --- a/arch/arm/mach-omap2/board-omap3evm.c
> +++ b/arch/arm/mach-omap2/board-omap3evm.c
> @@ -55,6 +55,7 @@
>  #define OMAP3EVM_ETHR_SIZE	1024
>  #define OMAP3EVM_ETHR_ID_REV	0x50
>  #define OMAP3EVM_ETHR_GPIO_IRQ	176
> +#define OMAP3EVM_ETHR_GPIO_RST  7
>  #define OMAP3EVM_SMSC911X_CS	5
> 
>  static u8 omap3_evm_version;
> @@ -134,6 +135,20 @@ static inline void __init
> omap3evm_init_smsc911x(void)
>  	else
>  		rate = clk_get_rate(l3ck);
> 
> +	/* Configure ethernet controller reset gpio */
> +	if (gpio_request(OMAP3EVM_ETHR_GPIO_RST, "SMSC911x gpio") < 0) {
> +		pr_err(KERN_ERR "Failed to request GPIO8 for smsc911x
> gpio\n");
> +		return;
> +	}
> +
> +	gpio_direction_output(OMAP3EVM_ETHR_GPIO_RST, 1);
> +
> +	/* reset pulse to ethernet controller*/
> +	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 0);
> +	usleep_range(150, 220);
> +	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 1);
> +	usleep_range(1, 2);
> +
>  	if (gpio_request(OMAP3EVM_ETHR_GPIO_IRQ, "SMSC911x irq") < 0) {
>  		printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n",
>  			OMAP3EVM_ETHR_GPIO_IRQ);
> --
> 1.7.0.4


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

* Re: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset
  2010-09-25 11:48 ` Varadarajan, Charulatha
@ 2010-09-27 14:55   ` Kevin Hilman
  2010-09-27 15:07     ` Premi, Sanjeev
  2011-01-13  4:02     ` Hiremath, Vaibhav
  0 siblings, 2 replies; 5+ messages in thread
From: Kevin Hilman @ 2010-09-27 14:55 UTC (permalink / raw)
  To: Varadarajan, Charulatha
  Cc: linux-omap@vger.kernel.org, Premi, Sanjeev, tony@atomide.com

"Varadarajan, Charulatha" <charu@ti.com> writes:

> Sanjeev,
>
> With GPIO hwmod series, OMAP3EVM board is not up with DHCP + nfs root.
> This issue was reported by Kevin.
>
> The root cause of this issue is that during OMAP3EVM board init, the
> Ethernet controller (smsc911x) is not reset and it relies on the uboot 
> configurations for it's operations. The reset GPIO pin used for this
> purpose is not even reserved.
>
> After gpio hmwod series are merged, this patch is required to make the
> EVM board working. Also omap3evm_init_smsc911x() needs to be fixed
> including CS settings and other required settings for Ethernet controller.
>
> Links to related discussions:
> http://www.spinics.net/lists/linux-omap/msg37234.html
> http://www.spinics.net/lists/linux-omap/msg36698.html
> http://www.spinics.net/lists/linux-omap/msg36799.html
>
> The below patch is tested on OMAP3 EVM board (ES3.1).

Also note that the patch below didn't work on my EVM (ES2.1), making me
assume that it uses a different GPIO for older boards.

Kevin

>
>
>> -----Original Message-----
>> From: Varadarajan, Charulatha
>> Sent: Saturday, September 25, 2010 5:07 PM
>> To: linux-omap@vger.kernel.org
>> Cc: khilman@deeprootsystems.com; tony@atomide.com; Premi, Sanjeev;
>> Varadarajan, Charulatha
>> Subject: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset
>> 
>> Do reset of Ethernet controller smsc911x using OMAP gpio7
>> while initializing the Ethernet controller.
>> 
>> Signed-off-by: Charulatha V <charu@ti.com>
>> ---
>>  arch/arm/mach-omap2/board-omap3evm.c |   16 ++++++++++++++++
>>  1 files changed, 16 insertions(+), 0 deletions(-)
>> 
>> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-
>> omap2/board-omap3evm.c
>> index f76d9c0..54a7e20 100644
>> --- a/arch/arm/mach-omap2/board-omap3evm.c
>> +++ b/arch/arm/mach-omap2/board-omap3evm.c
>> @@ -55,6 +55,7 @@
>>  #define OMAP3EVM_ETHR_SIZE	1024
>>  #define OMAP3EVM_ETHR_ID_REV	0x50
>>  #define OMAP3EVM_ETHR_GPIO_IRQ	176
>> +#define OMAP3EVM_ETHR_GPIO_RST  7
>>  #define OMAP3EVM_SMSC911X_CS	5
>> 
>>  static u8 omap3_evm_version;
>> @@ -134,6 +135,20 @@ static inline void __init
>> omap3evm_init_smsc911x(void)
>>  	else
>>  		rate = clk_get_rate(l3ck);
>> 
>> +	/* Configure ethernet controller reset gpio */
>> +	if (gpio_request(OMAP3EVM_ETHR_GPIO_RST, "SMSC911x gpio") < 0) {
>> +		pr_err(KERN_ERR "Failed to request GPIO8 for smsc911x
>> gpio\n");
>> +		return;
>> +	}
>> +
>> +	gpio_direction_output(OMAP3EVM_ETHR_GPIO_RST, 1);
>> +
>> +	/* reset pulse to ethernet controller*/
>> +	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 0);
>> +	usleep_range(150, 220);
>> +	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 1);
>> +	usleep_range(1, 2);
>> +
>>  	if (gpio_request(OMAP3EVM_ETHR_GPIO_IRQ, "SMSC911x irq") < 0) {
>>  		printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n",
>>  			OMAP3EVM_ETHR_GPIO_IRQ);
>> --
>> 1.7.0.4

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

* RE: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset
  2010-09-27 14:55   ` Kevin Hilman
@ 2010-09-27 15:07     ` Premi, Sanjeev
  2011-01-13  4:02     ` Hiremath, Vaibhav
  1 sibling, 0 replies; 5+ messages in thread
From: Premi, Sanjeev @ 2010-09-27 15:07 UTC (permalink / raw)
  To: Kevin Hilman, Varadarajan, Charulatha
  Cc: linux-omap@vger.kernel.org, tony@atomide.com

> -----Original Message-----
> From: Kevin Hilman [mailto:khilman@deeprootsystems.com] 
> Sent: Monday, September 27, 2010 8:26 PM
> To: Varadarajan, Charulatha
> Cc: linux-omap@vger.kernel.org; Premi, Sanjeev; tony@atomide.com
> Subject: Re: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller 
> smsc911x reset
> 
> "Varadarajan, Charulatha" <charu@ti.com> writes:
> 
> > Sanjeev,
> >
> > With GPIO hwmod series, OMAP3EVM board is not up with DHCP 
> + nfs root.
> > This issue was reported by Kevin.
> >
> > The root cause of this issue is that during OMAP3EVM board init, the
> > Ethernet controller (smsc911x) is not reset and it relies 
> on the uboot 
> > configurations for it's operations. The reset GPIO pin used for this
> > purpose is not even reserved.
> >
> > After gpio hmwod series are merged, this patch is required 
> to make the
> > EVM board working. Also omap3evm_init_smsc911x() needs to be fixed
> > including CS settings and other required settings for 
> Ethernet controller.
> >
> > Links to related discussions:
> > http://www.spinics.net/lists/linux-omap/msg37234.html
> > http://www.spinics.net/lists/linux-omap/msg36698.html
> > http://www.spinics.net/lists/linux-omap/msg36799.html
> >
> > The below patch is tested on OMAP3 EVM board (ES3.1).
> 
> Also note that the patch below didn't work on my EVM (ES2.1), 
> making me
> assume that it uses a different GPIO for older boards.

I am waiting for right person to review the patches; he was
on travel this weekend. Hope to get his time tomorrow...

> Kevin
> 
> >
> >
> >> -----Original Message-----
> >> From: Varadarajan, Charulatha
> >> Sent: Saturday, September 25, 2010 5:07 PM
> >> To: linux-omap@vger.kernel.org
> >> Cc: khilman@deeprootsystems.com; tony@atomide.com; Premi, Sanjeev;
> >> Varadarajan, Charulatha
> >> Subject: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller 
> smsc911x reset
> >> 
> >> Do reset of Ethernet controller smsc911x using OMAP gpio7
> >> while initializing the Ethernet controller.
> >> 
> >> Signed-off-by: Charulatha V <charu@ti.com>
> >> ---
> >>  arch/arm/mach-omap2/board-omap3evm.c |   16 ++++++++++++++++
> >>  1 files changed, 16 insertions(+), 0 deletions(-)
> >> 
> >> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-
> >> omap2/board-omap3evm.c
> >> index f76d9c0..54a7e20 100644
> >> --- a/arch/arm/mach-omap2/board-omap3evm.c
> >> +++ b/arch/arm/mach-omap2/board-omap3evm.c
> >> @@ -55,6 +55,7 @@
> >>  #define OMAP3EVM_ETHR_SIZE	1024
> >>  #define OMAP3EVM_ETHR_ID_REV	0x50
> >>  #define OMAP3EVM_ETHR_GPIO_IRQ	176
> >> +#define OMAP3EVM_ETHR_GPIO_RST  7
> >>  #define OMAP3EVM_SMSC911X_CS	5
> >> 
> >>  static u8 omap3_evm_version;
> >> @@ -134,6 +135,20 @@ static inline void __init
> >> omap3evm_init_smsc911x(void)
> >>  	else
> >>  		rate = clk_get_rate(l3ck);
> >> 
> >> +	/* Configure ethernet controller reset gpio */
> >> +	if (gpio_request(OMAP3EVM_ETHR_GPIO_RST, "SMSC911x gpio") < 0) {
> >> +		pr_err(KERN_ERR "Failed to request GPIO8 for smsc911x
> >> gpio\n");
> >> +		return;
> >> +	}
> >> +
> >> +	gpio_direction_output(OMAP3EVM_ETHR_GPIO_RST, 1);
> >> +
> >> +	/* reset pulse to ethernet controller*/
> >> +	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 0);
> >> +	usleep_range(150, 220);
> >> +	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 1);
> >> +	usleep_range(1, 2);
> >> +
> >>  	if (gpio_request(OMAP3EVM_ETHR_GPIO_IRQ, "SMSC911x irq") < 0) {
> >>  		printk(KERN_ERR "Failed to request GPIO%d for 
> smsc911x IRQ\n",
> >>  			OMAP3EVM_ETHR_GPIO_IRQ);
> >> --
> >> 1.7.0.4
> 

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

* RE: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset
  2010-09-27 14:55   ` Kevin Hilman
  2010-09-27 15:07     ` Premi, Sanjeev
@ 2011-01-13  4:02     ` Hiremath, Vaibhav
  1 sibling, 0 replies; 5+ messages in thread
From: Hiremath, Vaibhav @ 2011-01-13  4:02 UTC (permalink / raw)
  To: Kevin Hilman, Varadarajan, Charulatha
  Cc: linux-omap@vger.kernel.org, Premi, Sanjeev, tony@atomide.com

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> owner@vger.kernel.org] On Behalf Of Kevin Hilman
> Sent: Monday, September 27, 2010 8:26 PM
> To: Varadarajan, Charulatha
> Cc: linux-omap@vger.kernel.org; Premi, Sanjeev; tony@atomide.com
> Subject: Re: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x
> reset
> 
> "Varadarajan, Charulatha" <charu@ti.com> writes:
> 
> > Sanjeev,
> >
> > With GPIO hwmod series, OMAP3EVM board is not up with DHCP + nfs root.
> > This issue was reported by Kevin.
> >
> > The root cause of this issue is that during OMAP3EVM board init, the
> > Ethernet controller (smsc911x) is not reset and it relies on the uboot
> > configurations for it's operations. The reset GPIO pin used for this
> > purpose is not even reserved.
> >
> > After gpio hmwod series are merged, this patch is required to make the
> > EVM board working. Also omap3evm_init_smsc911x() needs to be fixed
> > including CS settings and other required settings for Ethernet
> controller.
> >
> > Links to related discussions:
> > http://www.spinics.net/lists/linux-omap/msg37234.html
> > http://www.spinics.net/lists/linux-omap/msg36698.html
> > http://www.spinics.net/lists/linux-omap/msg36799.html
> >
> > The below patch is tested on OMAP3 EVM board (ES3.1).
> 
> Also note that the patch below didn't work on my EVM (ES2.1), making me
> assume that it uses a different GPIO for older boards.
> 
[Hiremath, Vaibhav] I have also tried it on my REV-G version of EVM (Silicon ES3.1) and it is not working for me.

Trying to debug further.

Thanks,
Vaibhav
> Kevin
> 
> >
> >
> >> -----Original Message-----
> >> From: Varadarajan, Charulatha
> >> Sent: Saturday, September 25, 2010 5:07 PM
> >> To: linux-omap@vger.kernel.org
> >> Cc: khilman@deeprootsystems.com; tony@atomide.com; Premi, Sanjeev;
> >> Varadarajan, Charulatha
> >> Subject: [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset
> >>
> >> Do reset of Ethernet controller smsc911x using OMAP gpio7
> >> while initializing the Ethernet controller.
> >>
> >> Signed-off-by: Charulatha V <charu@ti.com>
> >> ---
> >>  arch/arm/mach-omap2/board-omap3evm.c |   16 ++++++++++++++++
> >>  1 files changed, 16 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-
> >> omap2/board-omap3evm.c
> >> index f76d9c0..54a7e20 100644
> >> --- a/arch/arm/mach-omap2/board-omap3evm.c
> >> +++ b/arch/arm/mach-omap2/board-omap3evm.c
> >> @@ -55,6 +55,7 @@
> >>  #define OMAP3EVM_ETHR_SIZE	1024
> >>  #define OMAP3EVM_ETHR_ID_REV	0x50
> >>  #define OMAP3EVM_ETHR_GPIO_IRQ	176
> >> +#define OMAP3EVM_ETHR_GPIO_RST  7
> >>  #define OMAP3EVM_SMSC911X_CS	5
> >>
> >>  static u8 omap3_evm_version;
> >> @@ -134,6 +135,20 @@ static inline void __init
> >> omap3evm_init_smsc911x(void)
> >>  	else
> >>  		rate = clk_get_rate(l3ck);
> >>
> >> +	/* Configure ethernet controller reset gpio */
> >> +	if (gpio_request(OMAP3EVM_ETHR_GPIO_RST, "SMSC911x gpio") < 0) {
> >> +		pr_err(KERN_ERR "Failed to request GPIO8 for smsc911x
> >> gpio\n");
> >> +		return;
> >> +	}
> >> +
> >> +	gpio_direction_output(OMAP3EVM_ETHR_GPIO_RST, 1);
> >> +
> >> +	/* reset pulse to ethernet controller*/
> >> +	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 0);
> >> +	usleep_range(150, 220);
> >> +	gpio_set_value(OMAP3EVM_ETHR_GPIO_RST, 1);
> >> +	usleep_range(1, 2);
> >> +
> >>  	if (gpio_request(OMAP3EVM_ETHR_GPIO_IRQ, "SMSC911x irq") < 0) {
> >>  		printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n",
> >>  			OMAP3EVM_ETHR_GPIO_IRQ);
> >> --
> >> 1.7.0.4
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2011-01-13  4:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-25 11:36 [PATCH RFC:] FIX: OMAP3EVM: Ethernet controller smsc911x reset Varadarajan, Charulatha
2010-09-25 11:48 ` Varadarajan, Charulatha
2010-09-27 14:55   ` Kevin Hilman
2010-09-27 15:07     ` Premi, Sanjeev
2011-01-13  4:02     ` Hiremath, Vaibhav

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox