* Problems with 2430 NAND prefetch engine
@ 2008-04-09 0:33 Juha Kuikka
2008-04-11 19:22 ` Tony Lindgren
0 siblings, 1 reply; 5+ messages in thread
From: Juha Kuikka @ 2008-04-09 0:33 UTC (permalink / raw)
To: linux-omap
Hi,
I am trying to use the NAND prefetch engine to speed up NAND access.
In GPMC CS0 is the NAND chip. GPMC_CONFIG7_0 is set to 0x0000084c by
u-boot. Hence the address for this CS should be 0x0C000000.
Documentation indicates that the FIFO should be accessible in any
associated chip-select region after the engine has been enabled.
In linux I use ioremap() to map 0x0C000000 and use the returned
pointer to access the prefetch engine FIFO.
Prefetch engine is configured and started.
I get FIFOEVENT interrupt from it and try to read the fifo by using
this ioremap's pointer but kernel crashes with:
Unhandled fault: external abort on non-linefetch (0x008) at 0xc4854000
0xc4854000 corresponds to the pointer ioremap() returned.
Apparently I miss something either in HW or kernel but I cannot think
of anything.
Conventional access to the NAND chip through COMMAND/ADDRESS/DATA
registers works ok.
Any ideas would be appreciated.
- Juha
--
Madness takes it's toll. Please have exact change.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Problems with 2430 NAND prefetch engine
2008-04-09 0:33 Problems with 2430 NAND prefetch engine Juha Kuikka
@ 2008-04-11 19:22 ` Tony Lindgren
2008-04-11 21:10 ` Juha Kuikka
0 siblings, 1 reply; 5+ messages in thread
From: Tony Lindgren @ 2008-04-11 19:22 UTC (permalink / raw)
To: Juha Kuikka; +Cc: linux-omap
* Juha Kuikka <juha.kuikka@gmail.com> [080408 17:33]:
> Hi,
>
> I am trying to use the NAND prefetch engine to speed up NAND access.
>
> In GPMC CS0 is the NAND chip. GPMC_CONFIG7_0 is set to 0x0000084c by
> u-boot. Hence the address for this CS should be 0x0C000000.
> Documentation indicates that the FIFO should be accessible in any
> associated chip-select region after the engine has been enabled.
>
> In linux I use ioremap() to map 0x0C000000 and use the returned
> pointer to access the prefetch engine FIFO.
>
> Prefetch engine is configured and started.
> I get FIFOEVENT interrupt from it and try to read the fifo by using
> this ioremap's pointer but kernel crashes with:
>
> Unhandled fault: external abort on non-linefetch (0x008) at 0xc4854000
> 0xc4854000 corresponds to the pointer ioremap() returned.
>
> Apparently I miss something either in HW or kernel but I cannot think
> of anything.
> Conventional access to the NAND chip through COMMAND/ADDRESS/DATA
> registers works ok.
> Any ideas would be appreciated.
Are you sure you have all the needed clocks on at this point? At least
gpmc_fck should be checked. Of course if access to gpmc works in
general, this is not the problem.
Tony
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Problems with 2430 NAND prefetch engine
2008-04-11 19:22 ` Tony Lindgren
@ 2008-04-11 21:10 ` Juha Kuikka
2008-04-13 12:22 ` Choraria, Rohit
0 siblings, 1 reply; 5+ messages in thread
From: Juha Kuikka @ 2008-04-11 21:10 UTC (permalink / raw)
To: Tony Lindgren; +Cc: linux-omap
On Fri, Apr 11, 2008 at 12:22 PM, Tony Lindgren <tony@atomide.com> wrote:
> * Juha Kuikka <juha.kuikka@gmail.com> [080408 17:33]:
> > Hi,
> >
> > I am trying to use the NAND prefetch engine to speed up NAND access.
> >
> > In GPMC CS0 is the NAND chip. GPMC_CONFIG7_0 is set to 0x0000084c by
> > u-boot. Hence the address for this CS should be 0x0C000000.
> > Documentation indicates that the FIFO should be accessible in any
> > associated chip-select region after the engine has been enabled.
> >
> > In linux I use ioremap() to map 0x0C000000 and use the returned
> > pointer to access the prefetch engine FIFO.
> >
> > Prefetch engine is configured and started.
> > I get FIFOEVENT interrupt from it and try to read the fifo by using
> > this ioremap's pointer but kernel crashes with:
> >
> > Unhandled fault: external abort on non-linefetch (0x008) at 0xc4854000
> > 0xc4854000 corresponds to the pointer ioremap() returned.
> >
> > Apparently I miss something either in HW or kernel but I cannot think
> > of anything.
> > Conventional access to the NAND chip through COMMAND/ADDRESS/DATA
> > registers works ok.
> > Any ideas would be appreciated.
>
> Are you sure you have all the needed clocks on at this point? At least
> gpmc_fck should be checked. Of course if access to gpmc works in
> general, this is not the problem.
Yes, GPMC access without prefetch engine works fine so clocks are on.
I was able to solve this problem though. U-boot configured CS0 mapping
to be 128MB. If I change this to 64MB it works.
Very strange indeed.
/ Juha
--
Madness takes it's toll. Please have exact change.
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Problems with 2430 NAND prefetch engine
2008-04-11 21:10 ` Juha Kuikka
@ 2008-04-13 12:22 ` Choraria, Rohit
2008-04-13 19:18 ` Juha Kuikka
0 siblings, 1 reply; 5+ messages in thread
From: Choraria, Rohit @ 2008-04-13 12:22 UTC (permalink / raw)
To: Juha Kuikka, Tony Lindgren; +Cc: linux-omap
> Yes, GPMC access without prefetch engine works fine so clocks are on.
>
> I was able to solve this problem though. U-boot configured CS0 mapping
> to be 128MB. If I change this to 64MB it works.
> Very strange indeed.
>
Normally this sort of problem would happen if the start address for the NAND map is not aligned to 128MB boundary.
Regards,
Rohit
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Problems with 2430 NAND prefetch engine
2008-04-13 12:22 ` Choraria, Rohit
@ 2008-04-13 19:18 ` Juha Kuikka
0 siblings, 0 replies; 5+ messages in thread
From: Juha Kuikka @ 2008-04-13 19:18 UTC (permalink / raw)
To: Choraria, Rohit; +Cc: Tony Lindgren, linux-omap
On Sun, Apr 13, 2008 at 5:22 AM, Choraria, Rohit <rohitkc@ti.com> wrote:
> > Yes, GPMC access without prefetch engine works fine so clocks are on.
> >
> > I was able to solve this problem though. U-boot configured CS0 mapping
> > to be 128MB. If I change this to 64MB it works.
> > Very strange indeed.
> >
>
> Normally this sort of problem would happen if the start address for the NAND map is not aligned to 128MB boundary.
Of course. I seem to have missed that completely. Thanks for the pointer.
- Juha
--
Madness takes it's toll. Please have exact change.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-04-13 19:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-09 0:33 Problems with 2430 NAND prefetch engine Juha Kuikka
2008-04-11 19:22 ` Tony Lindgren
2008-04-11 21:10 ` Juha Kuikka
2008-04-13 12:22 ` Choraria, Rohit
2008-04-13 19:18 ` Juha Kuikka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox