> > you need the reference manual of the i.MX25 to know the meaning ofDo these values match the ones you read out of the registers using your
> > these registers and the datasheet of your flash to know it's timings
> > then you can calculate the value to put in the registers.
> >
> >
> I have found them in an old uboot tree a previous person patched to have
> working support for NOR on boot. The values are:
>
> { .ptr_type = 4, .addr = 0xB8002000, .val = 0x0000D003, },
> { .ptr_type = 4, .addr = 0xB8002004, .val = 0x00330D01, },
> { .ptr_type = 4, .addr = 0xB8002008, .val = 0x00220800, },
U-Boot?
Yep, the corresponing dcdheader.S entries:
DCDGEN( 1, 4, 0xB8002000, 0x0000D003) /* CS0_CSCRU */
DCDGEN( 2, 4, 0xB8002004, 0x00330d01) /* CS0_CSCRL */
DCDGEN( 3, 4, 0xB8002008, 0x00220800) /* CS0_CSCRA */
So I reckon at least I got this part working fine.
> /* Set up 16bit NOR flash on WEIM CS0 */You mixed up the argument order.
> writel(0xB8002000, 0x0000D003);
> writel(0xB8002004, 0x00330D01);
> writel(0xB8002008, 0x00220800);
Yikes!!!! I hope I didn't fry something. I'll quickly try the reversed order and report back.
>Because the console hasn't been setup yet. That's exactly the reason why
> board_init_lowlevel_return();
> }
>
> Why can't I printf() from low_level?
I recommend doing only the absolutely necessary stuff in lowlevel_init.
Make perfect sense (*slapping forehead*). Thank you for your patience. I reckon those questions of mine could be compiled into some sort of FAQ for the newcomers into the barebox world to flatten the learning curve.
Cheers
Roberto
_______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox