* [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