* [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
@ 2006-12-21 9:43 Dirk Behme
2006-12-21 21:57 ` Tony Lindgren
2006-12-22 21:08 ` Tony Lindgren
0 siblings, 2 replies; 8+ messages in thread
From: Dirk Behme @ 2006-12-21 9:43 UTC (permalink / raw)
To: linux-omap-open-source
[-- Attachment #1: Type: text/plain, Size: 239 bytes --]
ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
As reported by Kyungmin Park, ethernet IRQF_TRIGGER flag for
apollon has to be IRQF_TRIGGER_RISING instead of
IRQF_TRIGGER_HIGH.
Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
[-- Attachment #2: appollon_ethernet_irqf_trigger_fix.txt --]
[-- Type: text/plain, Size: 499 bytes --]
Index: linux-osk/drivers/net/smc91x.h
===================================================================
--- linux-osk.orig/drivers/net/smc91x.h
+++ linux-osk/drivers/net/smc91x.h
@@ -198,7 +198,7 @@ SMC_outw(u16 val, void __iomem *ioaddr,
? IRQF_TRIGGER_RISING : IRQF_TRIGGER_FALLING)
#else
#define SMC_IRQ_FLAGS (machine_is_omap_apollon() \
- ? IRQF_TRIGGER_HIGH : IRQF_TRIGGER_LOW)
+ ? IRQF_TRIGGER_RISING : IRQF_TRIGGER_LOW)
#endif
#elif defined(CONFIG_SH_SH4202_MICRODEV)
[-- Attachment #3: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
2006-12-21 9:43 Dirk Behme
@ 2006-12-21 21:57 ` Tony Lindgren
2006-12-21 22:19 ` Syed Mohammed, Khasim
2006-12-21 22:24 ` Woodruff, Richard
2006-12-22 21:08 ` Tony Lindgren
1 sibling, 2 replies; 8+ messages in thread
From: Tony Lindgren @ 2006-12-21 21:57 UTC (permalink / raw)
To: Dirk Behme; +Cc: linux-omap-open-source
* Dirk Behme <dirk.behme@googlemail.com> [061221 01:43]:
>
> ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
>
> As reported by Kyungmin Park, ethernet IRQF_TRIGGER flag for
> apollon has to be IRQF_TRIGGER_RISING instead of
> IRQF_TRIGGER_HIGH.
>
> Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
>
> Index: linux-osk/drivers/net/smc91x.h
> ===================================================================
> --- linux-osk.orig/drivers/net/smc91x.h
> +++ linux-osk/drivers/net/smc91x.h
> @@ -198,7 +198,7 @@ SMC_outw(u16 val, void __iomem *ioaddr,
> ? IRQF_TRIGGER_RISING : IRQF_TRIGGER_FALLING)
> #else
> #define SMC_IRQ_FLAGS (machine_is_omap_apollon() \
> - ? IRQF_TRIGGER_HIGH : IRQF_TRIGGER_LOW)
> + ? IRQF_TRIGGER_RISING : IRQF_TRIGGER_LOW)
> #endif
>
> #elif defined(CONFIG_SH_SH4202_MICRODEV)
>
AFAIK we _should_ be able to use level GPIO interrupts on all omap2
systems. I wonder why that does not work on apollon? Is there some
difference in hardware, or maybe some GPIO lines don't support level
interrupts on omap2?
Tony
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
2006-12-21 21:57 ` Tony Lindgren
@ 2006-12-21 22:19 ` Syed Mohammed, Khasim
2006-12-21 22:24 ` Woodruff, Richard
1 sibling, 0 replies; 8+ messages in thread
From: Syed Mohammed, Khasim @ 2006-12-21 22:19 UTC (permalink / raw)
To: Tony Lindgren, Dirk Behme; +Cc: linux-omap-open-source
> AFAIK we _should_ be able to use level GPIO interrupts on all omap2
> systems. I wonder why that does not work on apollon?
> Is there some
> difference in hardware, or maybe some GPIO lines don't support level
> interrupts on omap2?
All GPIO lines on OMAP2 have similar kind of attributes. SMC can operate
on both edge and level sensitive interrupts. On few boards they route
this interrupt through FPGA or some logic that expects this sort of
changes to GPIO interrupt line. Overall it is a board related than OMAP2
or SMC.
In future we can expect more changes to this particular IRQ depending on
the board design (definitely not for 3430SDP :).
Regards,
Khasim
> -----Original Message-----
> From: linux-omap-open-source-bounces@linux.omap.com
[mailto:linux-omap-
> open-source-bounces@linux.omap.com] On Behalf Of Tony Lindgren
> Sent: Thursday, December 21, 2006 3:58 PM
> To: Dirk Behme
> Cc: linux-omap-open-source@linux.omap.com
> Subject: Re: [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for
apollon
>
> * Dirk Behme <dirk.behme@googlemail.com> [061221 01:43]:
> >
> > ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
> >
> > As reported by Kyungmin Park, ethernet IRQF_TRIGGER flag for
> > apollon has to be IRQF_TRIGGER_RISING instead of
> > IRQF_TRIGGER_HIGH.
> >
> > Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
> >
>
> > Index: linux-osk/drivers/net/smc91x.h
> > ===================================================================
> > --- linux-osk.orig/drivers/net/smc91x.h
> > +++ linux-osk/drivers/net/smc91x.h
> > @@ -198,7 +198,7 @@ SMC_outw(u16 val, void __iomem *ioaddr,
> > ? IRQF_TRIGGER_RISING :
IRQF_TRIGGER_FALLING)
> > #else
> > #define SMC_IRQ_FLAGS (machine_is_omap_apollon()
\
> > - ? IRQF_TRIGGER_HIGH : IRQF_TRIGGER_LOW)
> > + ? IRQF_TRIGGER_RISING :
IRQF_TRIGGER_LOW)
> > #endif
> >
> > #elif defined(CONFIG_SH_SH4202_MICRODEV)
> >
>
> AFAIK we _should_ be able to use level GPIO interrupts on all omap2
> systems. I wonder why that does not work on apollon? Is there some
> difference in hardware, or maybe some GPIO lines don't support level
> interrupts on omap2?
>
> Tony
> _______________________________________________
> Linux-omap-open-source mailing list
> Linux-omap-open-source@linux.omap.com
> http://linux.omap.com/mailman/listinfo/linux-omap-open-source
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
2006-12-21 21:57 ` Tony Lindgren
2006-12-21 22:19 ` Syed Mohammed, Khasim
@ 2006-12-21 22:24 ` Woodruff, Richard
2006-12-21 23:29 ` Tony Lindgren
1 sibling, 1 reply; 8+ messages in thread
From: Woodruff, Richard @ 2006-12-21 22:24 UTC (permalink / raw)
To: Tony Lindgren, Dirk Behme; +Cc: linux-omap-open-source
>
> AFAIK we _should_ be able to use level GPIO interrupts on all omap2
> systems. I wonder why that does not work on apollon? Is there some
> difference in hardware, or maybe some GPIO lines don't support level
> interrupts on omap2?
The OMAP GPIOs can trigger on edges or levels.
That seems likely a board level issue. The Ethernet interrupt from the
raw SMC chip is level assertive. Depending on the SMC bus hook up mode
its either active high or low through a smc-push-pull output buffer.
On the TI-SDP platforms this signal goes into an FPGA which depending on
the SDP may or may not invert the signal. It seems over time depending
on the SDP a pull-up may have been necessary on the FPGA to OMAP-GPIO
side when hooked to an open drain fpga output.
At any rate omap-gpios should be ok. The issue is likely with the smc
to omap path at the board level.
Regards,
Richard W.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
2006-12-21 22:24 ` Woodruff, Richard
@ 2006-12-21 23:29 ` Tony Lindgren
0 siblings, 0 replies; 8+ messages in thread
From: Tony Lindgren @ 2006-12-21 23:29 UTC (permalink / raw)
To: Woodruff, Richard, kyungmin.park; +Cc: linux-omap-open-source
* Woodruff, Richard <r-woodruff2@ti.com> [061221 14:25]:
> >
> > AFAIK we _should_ be able to use level GPIO interrupts on all omap2
> > systems. I wonder why that does not work on apollon? Is there some
> > difference in hardware, or maybe some GPIO lines don't support level
> > interrupts on omap2?
>
> The OMAP GPIOs can trigger on edges or levels.
>
> That seems likely a board level issue. The Ethernet interrupt from the
> raw SMC chip is level assertive. Depending on the SMC bus hook up mode
> its either active high or low through a smc-push-pull output buffer.
>
> On the TI-SDP platforms this signal goes into an FPGA which depending on
> the SDP may or may not invert the signal. It seems over time depending
> on the SDP a pull-up may have been necessary on the FPGA to OMAP-GPIO
> side when hooked to an open drain fpga output.
>
> At any rate omap-gpios should be ok. The issue is likely with the smc
> to omap path at the board level.
Yeah, I believe the omap level gpios should work fine too. Kyungmin,
do you have some special interrupt routing for your smc91x? Or do you
see this only with the RT patches applied?
Regards,
Tony
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
@ 2006-12-22 5:57 Kyungmin Park
2006-12-22 20:26 ` Tony Lindgren
0 siblings, 1 reply; 8+ messages in thread
From: Kyungmin Park @ 2006-12-22 5:57 UTC (permalink / raw)
To: Tony Lindgren; +Cc: linux-omap-open-source@linux.omap.com
[-- Attachment #1: Type: text/plain, Size: 385 bytes --]
> Yeah, I believe the omap level gpios should work fine too. Kyungmin,
> do you have some special interrupt routing for your smc91x? Or do you
> see this only with the RT patches applied?
Yes It's problem on only RT environment.
But I think it's safe to set IRQF_TRIGGER_RISING instead of IRQF_TRIGGER_HIGH. even though it is level-sensive.
Thank you,
Kyungmin Park
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
2006-12-22 5:57 [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon Kyungmin Park
@ 2006-12-22 20:26 ` Tony Lindgren
0 siblings, 0 replies; 8+ messages in thread
From: Tony Lindgren @ 2006-12-22 20:26 UTC (permalink / raw)
To: Kyungmin Park; +Cc: linux-omap-open-source@linux.omap.com
* Kyungmin Park <kyungmin.park@samsung.com> [061221 21:57]:
>
> > Yeah, I believe the omap level gpios should work fine too. Kyungmin,
> > do you have some special interrupt routing for your smc91x? Or do you
> > see this only with the RT patches applied?
>
> Yes It's problem on only RT environment.
> But I think it's safe to set IRQF_TRIGGER_RISING instead of IRQF_TRIGGER_HIGH. even though it is level-sensive.
OK, let's patch it and try to figure out later why GPIO level interrupts
don't work prorperly with RT patches.
Tony
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
2006-12-21 9:43 Dirk Behme
2006-12-21 21:57 ` Tony Lindgren
@ 2006-12-22 21:08 ` Tony Lindgren
1 sibling, 0 replies; 8+ messages in thread
From: Tony Lindgren @ 2006-12-22 21:08 UTC (permalink / raw)
To: Dirk Behme; +Cc: linux-omap-open-source
* Dirk Behme <dirk.behme@googlemail.com> [061221 01:43]:
>
> ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon
>
> As reported by Kyungmin Park, ethernet IRQF_TRIGGER flag for
> apollon has to be IRQF_TRIGGER_RISING instead of
> IRQF_TRIGGER_HIGH.
>
> Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
>
> Index: linux-osk/drivers/net/smc91x.h
> ===================================================================
> --- linux-osk.orig/drivers/net/smc91x.h
> +++ linux-osk/drivers/net/smc91x.h
> @@ -198,7 +198,7 @@ SMC_outw(u16 val, void __iomem *ioaddr,
> ? IRQF_TRIGGER_RISING : IRQF_TRIGGER_FALLING)
> #else
> #define SMC_IRQ_FLAGS (machine_is_omap_apollon() \
> - ? IRQF_TRIGGER_HIGH : IRQF_TRIGGER_LOW)
> + ? IRQF_TRIGGER_RISING : IRQF_TRIGGER_LOW)
> #endif
>
> #elif defined(CONFIG_SH_SH4202_MICRODEV)
>
Pushing today.
Tony
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-12-22 21:08 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-22 5:57 [PATCH] ARM: OMAP: Fix ethernet IRQF_TRIGGER flag for apollon Kyungmin Park
2006-12-22 20:26 ` Tony Lindgren
-- strict thread matches above, loose matches on Subject: below --
2006-12-21 9:43 Dirk Behme
2006-12-21 21:57 ` Tony Lindgren
2006-12-21 22:19 ` Syed Mohammed, Khasim
2006-12-21 22:24 ` Woodruff, Richard
2006-12-21 23:29 ` Tony Lindgren
2006-12-22 21:08 ` Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox