[Buildroot] How is the RM9200 status of buildroot ?

Ulf Samuelsson ulf at atmel.com
Mon Jan 14 19:49:53 UTC 2008


> Ulf, thanks for your interesting reply.
> 
> On Jan 12, 2008 5:19 PM, Ulf Samuelsson <ulf at atmel.com> wrote:
> 
>>
>>  Hi All,
>>
>>  I've had some bad expecirences using the AT91RM9200 on a custom board:
>>
>>  1) Unable to boot from parallel flash, so you have to use an external
>> eeprom if you want to use a parallel flash
>>    or end up using an SPI Dataflash as i did (see problem 2)
>>
>> ==> That is a misunderstanding of the datasheet.
>>        You can boot from a 16 bit parallel flash, if BMS is low.
>>        If BMS is high (and the internal bootROM is used) the part
>>        will not find any parallel flash.
>>        Both the AT91RM9200DK and AT91RM9200EK boot from parallel flash.
> 
> 
> Of course, you are right, i didnt mean "no parallel flash" at all.
> 
>>
>>
>>  2) When using SPI Dataflash on CS0 you have to use the bit-bang kernel
>> driver instead of the SPI hardware, because of
>>     another problem on the CS that can cause random operations on the
>> dataflash and end up ruining your filesystem.
>>     There's no clear workaround for this problem, some say it works when
>> slowing down the SPI, some other say that it
>>     still fails even when its running slow, and so on.
>>
>> ==> The problem is that if the PDC (DMA) does not get any cycles,
>>        NPCS0 will go high until the PDC has made its memory access,
>>        breaking a transfer into two, causing confusion at the other end of
>> the SPI.
>>
>>        The workaround is to either reduce the speed to < 5 Mbps
>>        or ensure that the NPCS0 remains low by using external glue logic.
>>        The speed reduction needs to be done in all parts of the system,
>>        I.E: dataflashboot, U-boot and linux.
> 
> 
> Maybe its my fault here, but i didn't success when trying to slow down the
> SPI speed, i modified my custom board definition
> file on the kernel, but it doesn't work, it always says "5Mbps". I've also
> received feedback from people who was having the same
> issue that reported fails even when spi is going slower than 5Mbps.
> 
> Any example here?

This may be kernel version dependent since 2.6.19 or so.
People have been playing around with the SPI driver.

The 5 Mbps limit came from a customer which had heavy networking
going on, including WLAN on a slow Compactflash interface.
The problem occurs if you have many busmasters active at the same time.
This was in 2004.
I have modified my dataflashboot and U-boot and to limit speed
and people testing this says that it seems to work.

>>
>>  3) I managed to get buildroot working on a JFFS2 filesystem after
>> looooooooots of problems with the default atmel configs, so
>>     i did my own config.
>>
>> ==> If you find a problem, it makes sense to feed them back.
> 
> 
> I did on the mailing list.
> 

OK, some emails gets forgotten...

>>
>>
>>  Hope this info is useful for somebody...
>>
>>  Now my questions:
>>
>>
>>  I'm now facing a new project that requires the develpment of a new custom
>> board but i don't want to use the
>>  AT91RM9200 again (enough is enough) so i'm doing some investigation on
>> the
>> AT91SAM926x family.
>>
>>  Questions:
>>
>>    - Is buildroot working OK for the AT91SAM926x? Any 1st hand experience?
>> I'm talking only about the toolchain+utilities
>>          part of buildroot (i usually build kernel and u-boot appart from
>> buildroot)
>>
>> ==> You can get a running toolchain.
>>        A lot of the applications will build, but not all.
>>        Do not expect Buildroot to build a running X-Windows.
> 
> 
> Good news for me,  i don't need X-Windows or any gfx at the moment.
> 
>>
>>
>>   - The RM9200 was having an errata on the ROM bootloader not allowing you
>> to boot from a parallel dataflash, according to the AT91SAM9260 datasheet,
>> theres an errata on the SAM9260 too, that leads to the same
>> problem...unable
>> to boot from parallel flash. So the only workaround i see is to use a SPI
>> dataflash to boot, and an additional parallel flash for the rootfs (i need
>> more than 8MiB).
>>
>> ==> The AT91SAM9260 rev A, will not be able to boot from NAND flash.
>>        You can boot from SPI dataflash or external parallel flash.
>>        As in the RM9200, you have to pull BMS low to boot from the par
>> flash.
>>
>>        There is no S/W support from Atmel for boot from parallel flash
>> yet.
>>        I hope it will be there during mid spring.
>>        Still a lot of customers are using parallel flash with the part
>> using
>>        the normal flash support in U-boot.
> 
> 
> Nah, nevermind, dataflash  is  cheap,  i can afford a dataflash+NAND combo,
> i choose the easy way.
> 

Wise decision!

>>
>>
>>  - (Maybe this is a kernel-list question) Again, based on experience... Do
>> you guys know if the kernel is supporting "well" the main peripherals?
>>   or are there any "pending" issues related to hardware erratas? I need
>> SPI, I2C, USB (host), Ethernet and maybe some GPIO pins that look like
>> supported when taking a look at the kernel patches... any useful "warning"
>> here? I don't want to face again the same problems on the RM9200 :(.
>>
>> ==> USB host - OK.
>>        Ethernet - Use internal SRAM for buffers, if you plan to strangle
>> the bus
>>        with 16 bit operation or run the bus at slow speed.
>>        SPI:    The AT91RM9200 problem is gone.
>>                   At high speeds, you can get a problem with SPI overruns
>> on receive.
>>                   I have seen this at customers when the SPI is using 60%
>> of the available
>>                   bandwidth on the bus.
>>                   Often, an SPI transfer is only using data in a single
>> direction, and if you do an SPI read,
>>                    then it might be good to get the send data from the
>> internal SRAM.
>>                    If you do an SPI send, then it might make sense to
>> write the data to
>>                    an internal part of the chip (like "/dev/null"),
>> instead of writing to the
>>                    SDRAM and then discarding it.
>>                  There is a discussion going on at this point of time, and
>>                  you should check out the ARM linux mailing list.
>>
>>        I2C, The jury is still out on this, and some get it to work and
>> some doesn't.
>>                The vanilla driver is polling the I2C and this could cause
>> problems.
>>                I have customers using interrupt driven I2C and they say
>>                that they do not have any issues.
>>
>>        - Any "cheap" development board, like the KB920x for the
>> AT91RM9200?
>>
>> ==> If you start a development now, then you may want to consider getting
>>        the AT91SAM9260A (or AT91SAM9G20 as will be its new name)
>>        Pin compatible, 400 MHz, and will have larger FIFO for Ethernet.
>>        There is one less USART and one more I2C.
>>
>>
>>
>> ==> Check out www.olimex.com
> 
> 
> Board ordered,  that's  what  i was looking for! ,  thanks again  Ulf,  i
> really appreciate  your  help.
> 
> 
> And , another question: Any working OEM wifi (802.11x) for the AT91SAM?  I
> know i can use USB (i did it on the RM9200 board), but i think usb is not
> really an industrial solution, i need something "hardwired" on the PCB.
> 

There is some work beeing done with SDIO for the AT91SAM9260.
Do not have any status though.

> 
> Thank you again, your support is really helpful.
>



Best Regards
Ulf Samuelsson




More information about the buildroot mailing list