Atmel at91sam9261-ek support.
Sylvestre Gallon
ccna.syl at gmail.com
Tue Mar 24 02:10:18 PDT 2009
On Tue, Mar 24, 2009 at 3:45 AM, Arnar Mar Sig <antab at freebsd.org> wrote:
>
> On Mar 23, 2009, at 9:01 PM, Sylvestre Gallon wrote:
>>
>> Hi freebsd-arm@
>>
>> I've got an access to an at91sam9261-ek. This board have a
>> at91sam9261 soc that is near the at91rm9200, so I start a
>> little port of it into FreeBSD. So I work 3 days on it and that
>> results in a Big patch that allow the board to boot.
>
> Nice work
Thanks :)
>
>>
>> As you can see in the dmesg, for the moment the system
>> hangs, but it is normal (I haven't yet finish the implementation
>> of the dm9000 ethernet driver so NFS don't find any ethernet
>> interface and panic).
>>
>>
>> This big diff contains :
>> - an AT91SAM9261EK conf file.
>> - an std.at91sam9261ek file.
>> - a begin of dme driver (dm9000 ethernet chip driver). I
>> will work this week on it to send you another diff that
>> complete this driver :)
>> - a board_at91sam9261ek.c file.
>> - an include for at91sam9261 registers.
>> - a new watchdog driver (at91_wdt)
>> - a new smc driver (static memory controller)
>
> Looks like the at91sam9261 uses the same SMC core as at32ap700x, we should
> look into using the same driver for both archs. I already have at32_smc in
> p4 to do bus managment and attach childs but no setup code (already done in
> uboot for what i need).
I don't found it in the source tree. Where it is located ? If you wan't the
smc register description you can take a look at this datasheet in
chapter 22:
http://www.atmel.org/dyn/resources/prod_documents/doc6242.pdf
The smc is not used in the patch yet but I will need to use it for the
implement the dm9000 driver (because this chip is attach on the 2nd
channel of the smc)
>
>> - a new pit driver (periodic interval timer)
>>
>> There is a lot of little modification on the at91 existing
>> sources.
>>
>> As you can see in the diff I work for the moment on a
>> define way to separate the two soc code that differ. But I
>> think that in the future a .c for each soc should appear.
>
> What about using hints more for device wiring instead of .c code like i did
> for avr32?
>
Yes here we can use hints to factorise a lot of code like
a big part of the code where the #ifdef AT91SAM9261 are.
But like M. Warner Losh said I think that one needs a .c
by SoC to put the cpu_devs structure, the pmap_devmap
structure and the errata code. We need to put this in a specific
files because these code are dependant of the SoC.
Cheers,
--
Sylvestre Gallon (http://devsyl.blogspot.com)
Fifth Grade Student @ Epitech & Researcher @ LSE
R&D @ Rathaxes (http://www.rathaxes.org)
More information about the freebsd-arm
mailing list