summaryrefslogtreecommitdiffstats
path: root/sys/arm/at91
Commit message (Collapse)AuthorAgeFilesLines
* - Initialize callout before it is used in atestop() during attach.jhb2009-11-191-9/+5
| | | | | | | | - Reorder detach so that ether_ifdetach() is called first. This removes the race that ATE_FLAG_DETACHING closed, so that flag can be removed. - Trim a duplicate clearing of IFF_DRV_RUNNING. Reviewed by: imp
* These drivers only set if_timer but never set if_watchdog. Just removejhb2009-11-191-2/+0
| | | | the assignments to if_timer.
* Eliminate an unnecessary vm include file.alc2009-11-041-1/+0
|
* - Proprely intialize UART parameters at probe stage, so uart(4)stas2009-08-151-4/+4
| | | | | | | | | will initialize the FIFO memory correctly on attach. Before that this values was intialized in only in at91_usart_bus_attach which is called after the uart(4) memory allocation happens. Approved by: re (kib) MFC after: 1 week
* Map DPCPU pages into ARM kernel VA space.raj2009-07-011-0/+5
| | | | | | | | | | | DPCPU area was not properly mapped into kernel VA space, which caused page fault on the first DPCPU access. This patch fixes the problem by mapping DPCPU area into kernel VA space. Submitted by: Michal Hajduk, Piotr Ziecik Reviewed by: cognet, stas Approved by: re (kib) Obtained from: Semihalf
* Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/rwatson2009-06-261-3/+3
| | | | | | | | | | | | | IF_ADDR_UNLOCK() across network device drivers when accessing the per-interface multicast address list, if_multiaddrs. This will allow us to change the locking strategy without affecting our driver programming interface or binary interface. For two wireless drivers, remove unnecessary locking, since they don't actually access the multicast address list. Approved by: re (kib) MFC after: 6 weeks
* Implement a facility for dynamic per-cpu variables.jeff2009-06-231-0/+5
| | | | | | | | | | | | | | | - Modules and kernel code alike may use DPCPU_DEFINE(), DPCPU_GET(), DPCPU_SET(), etc. akin to the statically defined PCPU_*. Requires only one extra instruction more than PCPU_* and is virtually the same as __thread for builtin and much faster for shared objects. DPCPU variables can be initialized when defined. - Modules are supported by relocating the module's per-cpu linker set over space reserved in the kernel. Modules may fail to load if there is insufficient space available. - Track space available for modules with a one-off extent allocator. Free may block for memory to allocate space for an extent. Reviewed by: jhb, rwatson, kan, sam, grehan, marius, marcel, stas
* strict kobj signatures: number of fixes for arm architectureavg2009-06-113-4/+4
| | | | | | | no functional changes should result Reviewed by: imp, current@ Approved by: jhb (mentor)
* Eliminate devclass_find_free_unit call here, since -1 gives the sameimp2009-06-101-1/+1
| | | | net behavior.
* Pass the previously returned IRQ back to arm_get_next_irq() so thatmarcel2009-06-091-2/+1
| | | | | | | | | the implementation can guarantee forward progress in the event of a stuck interrupt or interrupt storm. This is especially critical for fast interrupt handlers, as they can cause a hard hang in that case. When first called, arm_get_next_irq() is passed -1. Obtained from: Juniper Networks, Inc.
* Delete the old USB stack. The new stack has settled in and has all thethompsa2009-05-271-231/+0
| | | | drivers/functionality and then some.
* Fix name for driver to assign to the SPI device.imp2009-05-151-1/+1
|
* - Set MAC address in ateinit, so it can be changed later.stas2009-05-131-8/+7
|
* - Style(9) and consistency nitpicking.stas2009-05-131-72/+88
| | | | Reviewed by: imp
* - Make SPI bus bridge be non-arch dependent by using more genericgonzo2009-05-131-1/+1
| | | | | | name Reviewed by: imp
* - Resurrect the debug printf message I accidentally droppedstas2009-05-121-1/+4
| | | | | | in the previous commit. - Use device_printf instead of printf. - Put all printfs in the interrupt handler under bootverbose.
* - Eliminate extra register reads by using a variable to storestas2009-05-121-16/+28
| | | | | | | registers contents. - Use memory barriers to preserve the order of buffer space operations. This might be needed if we'll ever use this driver on architectures where ordering is not guaranteed.
* - Implement detach path.stas2009-05-121-82/+143
| | | | | - Release memory and DMA resources on stop. - Unload the associated DMA maps after transmit is complete.
* - Fix build with INVARIANTS enabled.stas2009-05-101-2/+2
|
* - Fix multicast operation that I broke in previous commit.stas2009-05-101-16/+44
| | | | | - Do not enable multicast hash lookup if no multicast addresses were configured or if promisc mode is enabled.
* - Fix promisc/multicast/broadcast parameters setting by introducing thestas2009-05-101-12/+53
| | | | | new ate_rxfilter function to set requested parameters. Use this function on parameters change rather than reinitializing the chip.
* - Whitespace nitpicking.stas2009-04-231-7/+7
|
* - Add the driver for AT91RM9200 CompactFlash controller. The driverstas2009-04-225-0/+302
| | | | | | | operates in the common memory mode and use polling mode to control the status of operations as I don't have any board with interrupt line routed yet. I'll add the GPIO interrupt driven mode as soon as I get one.
* MFp4 //depot/projects/usb@159992thompsa2009-04-051-2/+0
| | | | | | | | at91_udp.c does not exist anymore, it is now replaced by at91dci in src/sys/dev/usb/controller. Also remove the ohci_atmelarm.c because it is also included in src/sys/conf/files Submitted by: Sylvestre Gallon
* Move to new usb stack that puts the front-end bus attachments with theimp2009-02-271-1/+1
| | | | | | usb stack rather than with the rest of the processor support code. Not sure that's a good idea, as we were moving away from it, but this fixes the build in the mean time so we can have that discussion.
* Move to having a caps flag. Newer versions of the AT91 family don'timp2009-01-231-13/+21
| | | | | need the bouncing, so save a few copies in that case. Also convert 4-bit code selection to using it.
* Don't over-commit the DMA. Use the passed in size of the transferimp2009-01-221-2/+1
| | | | | | rather than a fixed 512... This fixes the mount root problem on at91. Prior to the SD card reorg, all data transfers were 512 bytes, so we didn't notice.
* Migrate towards using at91_master_clock. Initialize the clocks forimp2009-01-223-5/+12
| | | | | | the serial port class when we set the devclass since it is now no-longer a compile time constant. Eliminate the pci include, as it isn't relevant or necessary.
* Use at91_master_clock instead of AT91C_MASTER_CLOCK.imp2009-01-222-2/+3
|
* Remove now-redundant declaration.imp2009-01-221-1/+0
|
* Store at91_master_clock in a global variable as opposed to a compileimp2009-01-222-0/+4
| | | | | | 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).
* o The f_max is really at91_master_clock / 2, not 30MHz, so compute it as such.imp2009-01-211-3/+6
| | | | | | | | | | o Only set 4-bit caps on those boards that have 4-bit caps (this means that because we don't set wire4 yet, this forces us to always use 1-bit bus). o Don't test wire4 when setting up the bus width, since bad things will happen if we do. # This likely won't fix the busted at91 sd card support, but these are # needful changes for correctness.
* Implement MMCBR_IVAR_CAPS. It should better be implemented, or resultsmav2009-01-201-0/+4
| | | | | | can be unpredictable. PR: arm/128987
* - Fix spelling error in comments.stas2008-12-011-1/+1
| | | | | | PR: arm/128891 Submitted by: Pavel Pankov <pankov_p@mail.ru> Approved by: kib (mentor)
* - Get rid of extra include file, erroneously added by thestas2008-11-301-1/+0
| | | | | | | previous commit. This include file was required by the first version of the patch. Approved by: kib (mentor, implicit)
* - Obtain main clock frequency dynamically based on CKGR_MCFR registerstas2008-11-301-6/+50
| | | | | | | | | | | contents. - It is possible to override the dynamic configuration by using AT91C_MAIN_CLOCK option in kernel config. PR: arm/128961 (based on) Submitted by: Bjorn Konig <bkoenig@alpha-tierchen.de> Reviewed by: imp Approved by: kib (mentor, implicit)
* opt_at91.h isn't needed here at all anymore, since the board initimp2008-11-301-1/+0
| | | | | routines have been split out. Remove it. This leaves only one instance of it in the tree that will be going away soon.
* Convert BWCT and HL200 over to new board mechanism as well. Theimp2008-11-259-19/+238
| | | | | TSC4370 config file wasn't committed to this tree, so I don't know if my changes will work on it or not.
* Start to make it easier to add AT91RM9200 based boards:imp2008-11-257-52/+135
| | | | | | | | | | | | | 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
* Whitespace nit.imp2008-11-251-2/+2
|
* Save boot args.imp2008-11-251-0/+5
|
* more silly whitespace changes.imp2008-11-251-4/+2
|
* Fix various whitespace botches, mostly having them at the end of a line.imp2008-11-251-15/+13
|
* Replace disclaimer with the one from COPYRIGHT. Joint authors aggreedimp2008-11-253-30/+33
| | | | to the change.
* Replace three magic constants with L1_S_SIZE, since that's what isimp2008-11-251-3/+3
| | | | really meant in those places.
* Tweak the disclaimer section of the license to match COPYRIGHT, forimp2008-11-2527-270/+298
| | | | | better or worse. Ok'd by folks that have additional copyrights to the files in cases where there's joint authorship.
* - Fix two minor errors in at91 code.stas2008-11-182-2/+2
| | | | | | PR: arm/128959 Submitted by: Bjorn Konig <bkoenig@alpha-tierchen.de> Approved by: kib (mentor)
* Allow card reader bridge driver to report maximum supported transfer size.mav2008-10-291-0/+4
| | | | | | | | | sdhci supports up to 65535 blocks transfers, at91_mci - one block. Enable multiblock operations disabled before to follow at91_mci driver limitations. Reviewed by: imp@
* - Add stream bus_space operations.stas2008-10-261-0/+36
| | | | | | Reviewed by: cognet Approved by: kib (mentor, implicit) MFC after: 1 week
* - Add a missing NULL-pointer check.stas2008-10-261-2/+4
| | | | | | Reviewed by: cognet Approved by: kib (mentor, implicit) MFC after: 3 days
OpenPOWER on IntegriCloud