summaryrefslogtreecommitdiffstats
path: root/sys/arm/at91/at91var.h
Commit message (Collapse)AuthorAgeFilesLines
* Make at91_soc_id() public.imp2014-03-081-0/+1
|
* Add data so we can convert a PIO unit number into a base address.imp2014-01-151-5/+7
|
* Remember where we found the DBGU and use that for our console.imp2012-07-121-0/+1
|
* Complete the transition away from newbus to populate the children toimp2012-07-121-0/+2
| | | | | | | | the linker set of CPU modules. The newbus method, although clever, had many flaws: it didn't really support multiple SoC, many of the comments about order were just wrong, and it did a few things far too late to be useful. delay and cpu_reset now work much earlier in the boot process.
* Create the children devices for the SoC in atmelarm bus node, not inimp2012-07-121-0/+1
| | | | the identify routine of the CPU.
* Export the interrupt status vector via soc_data. Set the interruptimp2012-07-121-0/+1
| | | | | priorities in the AIC in the atmelarm driver before attaching the children. Delete redunant copies of the code.
* Make the SoC stuff a little more modular, and start to move away fromimp2012-07-111-7/+12
| | | | | | | | | | | having the CPU device that's a child of atmelarm that does stuff. o Create a linker_set for the support fucntions for the SoCs. o Rename soc_data to soc_info. o Move the delay and reset function pointers to new soc_data struct o Create elements for all known SoCs o Add lookup of the SoC we found, and print a warning if it isn't one we know about.
* Remove a useless bit of indirection. On all Atmel ARM products, irq 1imp2012-07-101-1/+0
| | | | is the system IRQ, so use the define for it and get on with life.
* Collapse all copies of at91_add_child into at91.c. They wereimp2012-07-101-0/+3
| | | | | logically identical before today, and actually identical after today's changes.
* Make it possible to link together a sam and an rm kernel. The resultsimp2012-06-151-0/+5
| | | | | | | aren't very pretty yet, but this takes DELAY and cpu_reset and makes them pointers. # I worry that these are set too late in the boot, especially cpu_reset.
* Enhance the Atmel SoC chip identification routines to account for moreimp2012-06-061-6/+57
| | | | | | | | | | | | | | | | | | SoC variants. Fold the AT91SAM9XE chips into the AT91SAM9260 handling, where appropriate. The following SoCs/SoC families are recognized: at91cap9, at91rm9200, at91sam9260, at91sam9261, at91sam9263, at91sam9g10, at91sam9g20, at91sam9g45, at91sam9n12, at91sam9rl, at91sam9x5 and the following variations are also recognized: at91rm9200_bga, at91rm9200_pqfp, at91sam9xe, at91sam9g45, at91sam9m10, at91sam9g46, at91sam9m11, at91sam9g15, at91sam9g25, at91sam9g35, at91sam9x25, at91sam9x35 This is only the identification routine: no additional Atmel devices are supported at this time. # With these changes, I'm able to boot to the point of identification # on a few different Atmel SoCs that we don't yet support using the # KB920X config file -- someday tht will be an ATMEL config file...
* Compute the master clock frequency, so we no longer need to have itimp2012-05-291-0/+2
| | | | | | | | | | | compiled into the kernel. This allows us to boot the same kernel on machines with different master clock frequencies, so long as we can determine the main clock frequency accurately. Cleanup the pmc clock init function so it can be called in early boot so we can use the serial port just after we call cninit. # We have two calls to at91_pmc_clock_init for reasons unknown, that will # be fixed later -- it is harmless for now.
* Add support for the Atmel SAM9XE familiy of microcontrollers, whichmarius2012-04-141-0/+8
| | | | | consist of a ARM926EJ-S processor core with up to 512 Kbytes of on-chip flash. Tested with SAM9XE512.
* - Try to bring these files closer to style(9).marius2012-04-141-6/+9
| | | | | - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
* if_ate.c:cognet2010-10-061-1/+42
| | | | | | | | | | | | | | | | | | | | | | | * Support for sam9 "EMAC" controller. * Support for rmii interface to phy. at91.c & at91sam9.c: * Eliminate separate at91sam9.c file. * Add new devices to at91sam9_devs table. at91_machdep.c & at at91sam9_machdep.c: * Automatic chip type determination. * Remove compile time chip dependencies. * Eliminate separate at91sam9_machdep.c file. at91_pmc.c: * Corrected support for all of the sam926? and sam9g20 chips. * Remove compile time chip dependencies. My apologies to Greg for taking so long to take care of it.
* Store at91_master_clock in a global variable as opposed to a compileimp2009-01-221-0/+2
| | | | | | time constant. This allows us to potentially change it at runtime or autodetect it early in the boot (the latter being much more likely to have a good outcome).
* Start to make it easier to add AT91RM9200 based boards:imp2008-11-251-1/+0
| | | | | | | | | | | | | o Copy kb920x_machdep.c to at91_machdep.c o Move board_init to new board_kb920x.c o rename ramsize to at91_ramsize and make it accessible to board_* files. o Delete files.kb920x. We can do this selection with the new boards. o Add a stub for the tsc4370 board init, which will be added in a future commit. o Add new 'devices' at91_board_kb920x and at91_board_tsc4370. More are needed and will be added in future commits. Reviewed by: stass, cognet
* Tweak the disclaimer section of the license to match COPYRIGHT, forimp2008-11-251-10/+11
| | | | | better or worse. Ok'd by folks that have additional copyrights to the files in cases where there's joint authorship.
* Import support for the Atmel AT91RM9200 CPU/Microcontroller. This SoCimp2006-02-041-0/+46
is a ARM920T based CPU with a bunch of built-in peripherals. The inital import supports the SPI bus, the TWI bus (although iicbus integration is not complete), the uarts, the system timer and the onboard ethernet. Support for the Kwikbyte KB9202 (http://www.kwikbyte.com) board is also included, although there's no reason why the 9200 and the 9201 wouldn't also work. Primitive support for running under the skyeye emulator is also provided (although skyeye's support for the AT91RM9200 is a little weak). The code has been structured so that other members of Atmel's arm family can be supported in the future. The AT91SAM9260 is not presently supported due to lack of hardware. The arm7tdmi families are also not supported becasue they lack an MMU. Many thanks to cognet@ for his help and assistance in bringing up this board. He did much of the vm work and wrote parts of the uart and system timer code as well as the bus space implementation. The system boots to single user w/o problem, although the serial console is a little slow and the ethernet driver is still in flux. This work was sponsored by Timing Solutions, Corporation. I am grateful to their support of the FreeBSD project in this manner.
OpenPOWER on IntegriCloud