Skip site navigation (1)Skip section navigation (2)
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>