Date: Mon, 26 Jul 2010 11:56:57 -0400 From: Greg Ansley <gja@ansley.com> To: freebsd-arm@freebsd.org, "M. Warner Losh" <imp@bsdimp.com> Subject: at91sam9g20: Patches Message-ID: <4C4DB049.5030701@ansley.com>
next in thread | raw e-mail | index | archive | help
Here is the link to the promised patches (against this mornings head): http://idisk.mac.com/gansley//Public/sam9.diff.gz These patches have been tested on a KB9202C and an Atmel AT91SAM9G20EK Rev B. Adding the SAM926[01] chips should be trivial and only very slightly more effort for the SAM9263. Adding a new at91 cpu/chip should only require adding a new at91${cputype}.c and at91${cputype}reg.h files and possible small additions to at91_machdep.c for anything that has to happen *very* early in the boot process. The drivers now use their resource records to find the correct addresses for the hardware and no longer have hard coded offsets (at91_st.c is an exception since it is only on the RM9200 so I didn't touch it). at91_mci.c: * Compile and run time selection of "Slot B" of mci controller. * Compile and run time selection of 4 wire connection (4x bandwidth to slot). * No byte swapping on non-RM9200 targets. * Fix obscure segfault when bus_dma_load() fails in at91_mci_start_cmd(). at91_pit.c: * Support for full resolution timer counter. * Remove compile time address dependencies. at91_rst.c: (NEW) * Support SAM9 reset controller. * Implement shutdown() on NRST (reset button) and full reset if held for more the 5 seconds. at91_reset.c: (NEW) * SAM9G20 Errata: Reset During SDRAM Accesses at91_wdt.c: (NEW) * Support SAM9 watchdog timer using the watchdog(9) style interface. if_ate.c: * Add support for sam9 "EMAC" controller. * Support for rmii interface to phy. at91.c & at91sam9.c: * Eliminate separate at91sam9.c file. * Eliminate chip specific code. * Allow for automatic chip identification. 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. * Automatic generation of "peripheral" clocks references using device name/unit e.g. "spi0". at91_twireg.c: * Handle clocking differences for SAM9 family. at91_pio.c * remove unnecessary chip specfic addressing. at91rm9200.c (NEW) * Chip specific initialization. at91sam9g20.c (NEW) * Chip specific initialization. Greg Ansley
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C4DB049.5030701>