Re: Problems with 2430 NAND prefetch engine
On Sun, Apr 13, 2008 at 5:22 AM, Choraria, Rohit <[EMAIL PROTECTED]> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: Problems with 2430 NAND prefetch engine
> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Problems with 2430 NAND prefetch engine
On Fri, Apr 11, 2008 at 12:22 PM, Tony Lindgren <[EMAIL PROTECTED]> wrote: > * Juha Kuikka <[EMAIL PROTECTED]> [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 0x084c by > > u-boot. Hence the address for this CS should be 0x0C00. > > 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 0x0C00 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. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Problems with 2430 NAND prefetch engine
* Juha Kuikka <[EMAIL PROTECTED]> [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 0x084c by > u-boot. Hence the address for this CS should be 0x0C00. > 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 0x0C00 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 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Problems with 2430 NAND prefetch engine
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 0x084c by u-boot. Hence the address for this CS should be 0x0C00. 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 0x0C00 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. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html