267654 |
20-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
259753 |
22-Dec-2013 |
imp |
Direct Commit of mountroot> prompt fix r259748 (since there's no sane branching relationship between that branch and this one and since the more general fix in head may be too risky for a stbale branch this mature):
Fix mountroot> prompt eating most of the characters by not enabling RXRDY interrupts in the attach routine. Instead, defer this until the first interrupt we see after the device is opened. Given the console use case, we're guaranteed to get a TXRDY interrupt before any reads are posted due to boot messages, which makes this work.
The real fix is to use cngrab/cnungrab function pointers to disable RXRDY interrupts while grabbed. However, that touches the MI uart code, so was disallowed for 10.0 due to the lateness of the hour this fix was proposed. It works for mountroot, the most common atmel kernel prompt use cases, but wouldn't work for GELI since it prompts later in the boot process.
|
259038 |
06-Dec-2013 |
imp |
Bump the maximum VM space from 3 * memory size to a fixed 256MB. That's all we have room for since we map the hardware registers starting at 0xd0000000. This allows my 64MB AT91SAM9G20 to boot again after the unmmaped I/O changes were MFC'd at r251897. Other subplatforms may need similar treatment.
|
237386 |
21-Jun-2012 |
marius |
MFC: r235348, r236191, r236497
Add glue/support for the SAM9XE512-based Ethernut 5 boards. Currently, all integrated and on-board peripherals except NAND Flash (missing NAND framework/integration) are working.
|
237382 |
21-Jun-2012 |
marius |
MFC: r237239
Revert the part of r236495 (MFC'ed to stable/9 in r237095) that introduced checking of SPI_SR_TXEMPTY for TX transfer completion as for reasons unknown this occasionally causes SPI_SR_RXBUFF and SPI_SR_ENDRX to not rise. In any case, once the RX part of the transfer is done it's obvious that the preceding TX part had finished and checking of SPI_SR_TXEMPTY was introduced to rule out a possible cause for the data corruption mentioned in r236495 but which didn't turn out to be the problem anyway.
|
237095 |
14-Jun-2012 |
marius |
MFC: r236495
- Prepend the device description with "AT91" to reflect its nature. [1] - Move DMA tag and map creature to at91_spi_activate() where the other resource allocation also lives. [1] - Flesh out at91_spi_deactivate(). [1] - Work around the "Software Reset must be Written Twice" erratum. - For now, run the bus at the slowest speed possible in order to work around data corruption on transit even seen with 9 MHz on ETHERNUT5 (15 MHz maximum) and AT45DB321D (20 MHz maximum). This also serves as a poor man's work-around for the "NPCSx rises if no data data is to be transmitted" erratum of RM9200. Being able to use the appropriate bus speed would require: 1) Adding a proper work-around for the RM9200 bug consisting of taking the chip select control away from the SPI peripheral and managing it directly as a GPIO line. 2) Taking the maximum frequencies supported by the actual board and the slave devices into account and basing the whole thing on the master clock instead of hardcoding a divisor as previously done. 3) Fixing the above mentioned data corruption. - KASSERT that TX/RX command and data sizes match on transfers. - Introduce a mutex ensuring that only one child device is running a SPI transfer at a time. [1] - Add preliminary, #ifdef'ed out support for setting the chip select. [1] - Use the RX instead of the TX commando size when setting up the RX side of a transfer. - For controllers having SPI_SR_TXEMPTY, i.e. !RM9200, also wait for the completion of the TX part of transfers before stopping the whole thing again. - Use DEVMETHOD_END. [1] - Use NULL instead of 0 for pointers. [1, partially]
Additional testing by: Ian Lepore
Submitted by: Ian Lepore [1]
|
237093 |
14-Jun-2012 |
marius |
MFC: r225882
Remove pointless semicolons after label
|
236472 |
02-Jun-2012 |
marius |
Revert changes accidentally committed as part of r236468.
|
236468 |
02-Jun-2012 |
marius |
MFC: r236061
- When creating the DMA tag for user data, don't ask for more segments than required for handling MAXPHYS and report the resulting maximum I/O size to CAM instead of implicitly limiting it to DFLTPHYS. - Move the variables of sym_action2() out of nested scope as required by style(9) and remove extraneous curly braces. - Replace a magic value for PCIR_COMMAND with the appropriate macro. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
Tested with a HBA donated by wilko.
|
236088 |
26-May-2012 |
marius |
MFC: r234901
- Add missing locking in at91_usart_getc(). - Align the RX buffers on the cache line size, otherwise the requirement of partial cache line flushes on every are pretty much guaranteed. [1] - Make the code setting the RX timeout match its comment (apparently, start and stop bits were missed in the previous calculation). [1] - Cover the busdma operations in at91_usart_bus_{ipend,transmit}() with the hardware mutex, too, so these don't race against each other. - In at91_usart_bus_ipend(), reduce duplication in the code dealing with TX interrupts. - In at91_usart_bus_ipend(), turn the code dealing with RX interrupts into an else-if cascade in order reduce its complexity and to improve its run-time behavior. - In at91_usart_bus_ipend(), add missing BUS_DMASYNC_PREREAD calls on the RX buffer map before handing things over to the hardware again. [1] - In at91_usart_bus_getsig(), used a variable of sufficient width for storing the contents of USART_CSR. - Use KOBJMETHOD_END. - Remove an unused header.
Submitted by: Ian Lepore [1] Reviewed by: Ian Lepore
|
236084 |
26-May-2012 |
marius |
MFC: r234560
- Add support for MCI1 revision 2xx controllers and a work-around for their "Data Write Operation and number of bytes" erratum. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
|
236082 |
26-May-2012 |
marius |
MFC: r234293
Generate an obviously missing STOP when having finished transmitting data. This fixes communication with PCF8563.
|
236081 |
26-May-2012 |
marius |
MFC: r234291, r234292
Add support for the Atmel SAM9XE family of microcontrollers, which consist of a ARM926EJ-S processor core with up to 512 Kbytes of on-chip flash. Tested with SAM9XE512.
|
236080 |
26-May-2012 |
marius |
MFC: r234281
- Try to bring these files closer to style(9). - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
|
225736 |
23-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
225214 |
27-Aug-2011 |
rwatson |
Follow up to r225203 refining break-to-debugger run-time configuration improvements:
(1) Implement new model in previously missed at91 UART driver (2) Move BREAK_TO_DEBUGGER and ALT_BREAK_TO_DEBUGGER from opt_comconsole.h to opt_kdb.h (spotted by np) (3) Garbage collect now-unused opt_comconsole.h
MFC after: 3 weeks Approved by: re (bz)
|
223562 |
26-Jun-2011 |
kevlo |
Remove duplicate header includes
|
221025 |
25-Apr-2011 |
cognet |
Typo fix
|
218913 |
21-Feb-2011 |
cognet |
Get myself a brain, move the call to init_param1() before the first use in at91_machdep.c, and do it for the files I forgot the first time
Reported by: andrew Submitted by: pluknet
|
218667 |
13-Feb-2011 |
cognet |
Oops, wasn't supposed to commit this.
|
218666 |
13-Feb-2011 |
cognet |
Call init_param1() much earlier, so that msgbufsize is non-zero when we want to map and use the msgbuf.
|
218387 |
07-Feb-2011 |
ticso |
unbreak mutlicast hash creation for the second time. at91_emac hardware is *not* using ether_crc32_be algorithm!
|
217688 |
21-Jan-2011 |
pluknet |
Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize.
Submitted by: perryh pluto.rain.com (previous version) Reviewed by: jhb Approved by: kib (mentor) Tested by: universe
|
217062 |
06-Jan-2011 |
jhb |
- Use macbstart_locked() directly instead of deferring it to a task. - Expand locking scope in interrupt handler. - Flesh out the detach routine.
Reviewed by: cognet
|
217036 |
06-Jan-2011 |
imp |
Remove support for SKYEYE simulator
|
216227 |
06-Dec-2010 |
kevlo |
Fix double ;;
|
213896 |
15-Oct-2010 |
marius |
Remove a device_printf() accidentally left in r213894.
Submitted by: jhb
|
213894 |
15-Oct-2010 |
marius |
Converted the remainder of the NIC drivers to use the mii_attach() introduced in r213878 instead of mii_phy_probe(). Unlike r213893 these are only straight forward conversions though.
Reviewed by: yongari
|
213498 |
06-Oct-2010 |
cognet |
Add support for the AT91SAM9260
Submitted by: Greg Ansley
|
213496 |
06-Oct-2010 |
cognet |
if_ate.c:
* 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.
|
213251 |
28-Sep-2010 |
ticso |
fix outdated comment
|
213203 |
27-Sep-2010 |
ticso |
The TWI controller automatically stops if we don't fill up with new data in time.
|
213201 |
27-Sep-2010 |
ticso |
fix off by one error for twi reads with len != 1. STOP must be requested before the last byte is received.
|
210040 |
14-Jul-2010 |
cognet |
Import preliminary support for Atmel AT91SAM9G20 cpu, and the Hot-e HL201. This fine work was done by Yohanes Nugroho <yohanes a gmail dot com> Many thanks to John Nicholls and Thinlinx for providing sample hardware.
|
207554 |
03-May-2010 |
sobomax |
Add new tunable 'net.link.ifqmaxlen' to set default send interface queue length. The default value for this parameter is 50, which is quite low for many of today's uses and the only way to modify this parameter right now is to edit if_var.h file. Also add read-only sysctl with the same name, so that it's possible to retrieve the current value.
MFC after: 1 month
|
204476 |
28-Feb-2010 |
ticso |
simplify hash calculation
|
204463 |
28-Feb-2010 |
ticso |
remove debug leftover
|
204462 |
28-Feb-2010 |
ticso |
Fix multicast hashes. Atmel uses a simple xor hash instead of the typical crc based one.
|
199557 |
19-Nov-2009 |
jhb |
- Initialize callout before it is used in atestop() during attach. - 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
|
199537 |
19-Nov-2009 |
jhb |
These drivers only set if_timer but never set if_watchdog. Just remove the assignments to if_timer.
|
198872 |
04-Nov-2009 |
alc |
Eliminate an unnecessary vm include file.
|
196246 |
15-Aug-2009 |
stas |
- Proprely intialize UART parameters at probe stage, so uart(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
|
195256 |
01-Jul-2009 |
raj |
Map DPCPU pages into ARM kernel VA space.
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
|
195049 |
26-Jun-2009 |
rwatson |
Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 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
|
194784 |
23-Jun-2009 |
jeff |
Implement a facility for dynamic per-cpu variables. - 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
|
194015 |
11-Jun-2009 |
avg |
strict kobj signatures: number of fixes for arm architecture
no functional changes should result
Reviewed by: imp, current@ Approved by: jhb (mentor)
|
193934 |
10-Jun-2009 |
imp |
Eliminate devclass_find_free_unit call here, since -1 gives the same net behavior.
|
193847 |
09-Jun-2009 |
marcel |
Pass the previously returned IRQ back to arm_get_next_irq() so that 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.
|
192901 |
27-May-2009 |
thompsa |
Delete the old USB stack. The new stack has settled in and has all the drivers/functionality and then some.
|
192135 |
15-May-2009 |
imp |
Fix name for driver to assign to the SPI device.
|
192064 |
13-May-2009 |
stas |
- Set MAC address in ateinit, so it can be changed later.
|
192063 |
13-May-2009 |
stas |
- Style(9) and consistency nitpicking.
Reviewed by: imp
|
192059 |
13-May-2009 |
gonzo |
- Make SPI bus bridge be non-arch dependent by using more generic name
Reviewed by: imp
|
192028 |
12-May-2009 |
stas |
- Resurrect the debug printf message I accidentally dropped in the previous commit. - Use device_printf instead of printf. - Put all printfs in the interrupt handler under bootverbose.
|
192027 |
12-May-2009 |
stas |
- Eliminate extra register reads by using a variable to store 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.
|
192018 |
12-May-2009 |
stas |
- Implement detach path. - Release memory and DMA resources on stop. - Unload the associated DMA maps after transmit is complete.
|
191961 |
10-May-2009 |
stas |
- Fix build with INVARIANTS enabled.
|
191960 |
10-May-2009 |
stas |
- Fix multicast operation that I broke in previous commit. - Do not enable multicast hash lookup if no multicast addresses were configured or if promisc mode is enabled.
|
191959 |
10-May-2009 |
stas |
- Fix promisc/multicast/broadcast parameters setting by introducing the new ate_rxfilter function to set requested parameters. Use this function on parameters change rather than reinitializing the chip.
|
191410 |
23-Apr-2009 |
stas |
- Whitespace nitpicking.
|
191408 |
22-Apr-2009 |
stas |
- Add the driver for AT91RM9200 CompactFlash controller. The driver 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.
|
190740 |
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@159992
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
|
189126 |
27-Feb-2009 |
imp |
Move to new usb stack that puts the front-end bus attachments with the 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.
|
187606 |
23-Jan-2009 |
imp |
Move to having a caps flag. Newer versions of the AT91 family don't need the bouncing, so save a few copies in that case. Also convert 4-bit code selection to using it.
|
187603 |
22-Jan-2009 |
imp |
Don't over-commit the DMA. Use the passed in size of the transfer 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.
|
187602 |
22-Jan-2009 |
imp |
Migrate towards using at91_master_clock. Initialize the clocks for 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.
|
187601 |
22-Jan-2009 |
imp |
Use at91_master_clock instead of AT91C_MASTER_CLOCK.
|
187600 |
22-Jan-2009 |
imp |
Remove now-redundant declaration.
|
187599 |
22-Jan-2009 |
imp |
Store at91_master_clock in a global variable as opposed to a compile 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).
|
187548 |
21-Jan-2009 |
imp |
o The f_max is really at91_master_clock / 2, not 30MHz, so compute it as such. 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.
|
187476 |
20-Jan-2009 |
mav |
Implement MMCBR_IVAR_CAPS. It should better be implemented, or results can be unpredictable.
PR: arm/128987
|
185539 |
02-Dec-2008 |
peter |
Delete a bunch of empty mergeinfo records caused by local copies.
|
185513 |
01-Dec-2008 |
stas |
- Fix spelling error in comments.
PR: arm/128891 Submitted by: Pavel Pankov <pankov_p@mail.ru> Approved by: kib (mentor)
|
185492 |
30-Nov-2008 |
stas |
- Get rid of extra include file, erroneously added by the previous commit. This include file was required by the first version of the patch.
Approved by: kib (mentor, implicit)
|
185491 |
30-Nov-2008 |
stas |
- Obtain main clock frequency dynamically based on CKGR_MCFR register 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)
|
185477 |
30-Nov-2008 |
imp |
opt_at91.h isn't needed here at all anymore, since the board init routines have been split out. Remove it. This leaves only one instance of it in the tree that will be going away soon.
|
185307 |
25-Nov-2008 |
imp |
Convert BWCT and HL200 over to new board mechanism as well. The TSC4370 config file wasn't committed to this tree, so I don't know if my changes will work on it or not.
|
185305 |
25-Nov-2008 |
imp |
Start to make it easier to add AT91RM9200 based boards: 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
|
185300 |
25-Nov-2008 |
imp |
Whitespace nit.
|
185288 |
25-Nov-2008 |
imp |
Save boot args.
|
185287 |
25-Nov-2008 |
imp |
more silly whitespace changes.
|
185270 |
25-Nov-2008 |
imp |
Fix various whitespace botches, mostly having them at the end of a line.
|
185267 |
25-Nov-2008 |
imp |
Replace disclaimer with the one from COPYRIGHT. Joint authors aggreed to the change.
|
185266 |
25-Nov-2008 |
imp |
Replace three magic constants with L1_S_SIZE, since that's what is really meant in those places.
|
185265 |
25-Nov-2008 |
imp |
Tweak the disclaimer section of the license to match COPYRIGHT, for better or worse. Ok'd by folks that have additional copyrights to the files in cases where there's joint authorship.
|
185049 |
18-Nov-2008 |
stas |
- Fix two minor errors in at91 code.
PR: arm/128959 Submitted by: Bjorn Konig <bkoenig@alpha-tierchen.de> Approved by: kib (mentor)
|
184452 |
29-Oct-2008 |
mav |
Allow card reader bridge driver to report maximum supported transfer size. 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@
|
184310 |
26-Oct-2008 |
stas |
- Add stream bus_space operations.
Reviewed by: cognet Approved by: kib (mentor, implicit) MFC after: 1 week
|
184309 |
26-Oct-2008 |
stas |
- Add a missing NULL-pointer check.
Reviewed by: cognet Approved by: kib (mentor, implicit) MFC after: 3 days
|
183670 |
07-Oct-2008 |
imp |
Use bus_get_dma_tag() instead of NULL here. Not really needed for atmel at the moment, but it is more correct.
|
183479 |
30-Sep-2008 |
imp |
Properly implement read only. Also, the caps implementation is wrong here, so I'm backing it out.
|
183451 |
28-Sep-2008 |
imp |
Implement MMCBR_IVAR_CAPS for AT91 MCI device.
Submitted by: mav@ (well, not this one, but the base impl was)
|
182807 |
05-Sep-2008 |
imp |
Turn some lame pseudo-code into a less lame comment.
|
182806 |
05-Sep-2008 |
imp |
Kill bogus #if 0'd stuff for interrupts. They don't happen, and this driver will need more serious help to work with an interrupt driven path. There's many subtleties in driving the DMA engine with interrupts in many configurations. Best to not "guess" what the right way would be and mislead people.
|
182805 |
05-Sep-2008 |
imp |
Kill vestiges of the special case code we once had in place for usb memory allocation. It was change to include the range in the normal memory area, so these ifdef'd out special cases are no longer useful to keep around.
|
182803 |
05-Sep-2008 |
imp |
Kill bogus #if 1. There's no need for it since usb works these days.
|
182555 |
31-Aug-2008 |
imp |
Use a locally assigned address rather than stealing Atmel's which might cause a conflict...
|
182524 |
31-Aug-2008 |
stas |
- Fix comment. - Set U/L bit of generated ethernet address to 1 to not clash with Atmel assigned addresses.
Suggested by: yar Approved by: kib (mentor)
|
182477 |
30-Aug-2008 |
stas |
- Try to look for MAC address in all SA registers, not only in the first one. U-boot, for example, uses the second register to store MAC.[1] - Use random MAC address if none configured instead of failing.
Submitted by: Bjorn Konig <bkoenig@alpha-tierchen.de> [1] Reviewed by: imp Approved by: kib (mentor) MFC after: 1 week
|
182476 |
30-Aug-2008 |
stas |
- Style fix.
Approved by: kib (mentor) MFC after: 1 week
|
181884 |
19-Aug-2008 |
imp |
Provide hooks into the GPIO lines and the ability to set/clear interrupts from them. This should be more generalized, but is sufficient for now.
Submitted by: Hans Petter Selasky
|
181883 |
19-Aug-2008 |
imp |
Use the proper clock domain for the usb host controller.
Submitted by: Hans Petter Selasky
|
181882 |
19-Aug-2008 |
imp |
Add IRQ line for usb device. I'm not 100% sure this is the right place to add this connection, since the interrupt is for a GPIO pin, but since we have no alternative at the moment...
Submitted by: Hans Petter Selasky
|
181303 |
04-Aug-2008 |
jhb |
Add locking to the various iicbus(4) bridge drivers: - Just grab Giant in the ixp425_iic(4) driver since this driver uses a shared address/data register window pair to access the actual I2C registers. None of the other ixp425 drivers lock access to these shared address/data registers yet and that would need to be done before this could use any meaningful locking. - Add locking to the interrupt handler and 'iicbus_reset' methods of the at91_twi(4) driver. - Add locking to the pcf(4) driver. Other pcf(4) fixes include: - Don't needlessly zero the softc. - Use bus_foo rather than bus_space_foo and remove bus space tag and handle from softc. - The lpbb(4) driver just grabs Giant for now. This will be refined later when ppbus(4) is locked. - As was done with smbus earlier, move the DRIVER_MODULE() lines to match the bus driver (either iicbus or iicbb) to the bridge driver into the bridge drivers.
Tested by: sam (arm/ixp425)
|
181158 |
02-Aug-2008 |
ed |
Make the at91 uart(4) driver compile again.
As of r178766 this driver didn't compile anymore, because it missed a switch()-statement. I'm getting tired of seeing this driver being broken for two months already. When I run `make universe', everything passes, except the BWCT kernel configuration file.
|
180693 |
22-Jul-2008 |
stas |
- Whitespace fixes.
Approved by: gonzo MFC after: 1 week
|
180486 |
12-Jul-2008 |
ticso |
fix multicast hash register definition
|
179693 |
09-Jun-2008 |
wkoszek |
Since we create a DMA tag "mtag" for TX map with bus_dmamap_create(), we must synchronize such a map against "mtag" with bus_dmamap_sync(), not the tag designated for RX map.
Fix it.
Approved by: cognet
|
179375 |
28-May-2008 |
imp |
Release the resources for the registers for the TWI device with SYS_RES_MEMORY to match how we allocate them...
Noticed by: Ian Lepore
|
178766 |
04-May-2008 |
peter |
Expand kdb_alt_break a little, most commonly used with the option ALT_BREAK_TO_DEBUGGER. In addition to "Enter ~ ctrl-B" (to enter the debugger), there is now "Enter ~ ctrl-P" (force panic) and "Enter ~ ctrl-R" (request clean reboot, ala ctrl-alt-del on syscons).
We've used variations of this at work. The force panic sequence is best used with KDB_UNATTENDED for when you just want it to dump and get on with it.
The reboot request is a safer way of getting into single user than a power cycle. eg: you've hosed the ability to log in (pam, rtld, etc). It gives init the reboot signal, which causes an orderly reboot.
I've taken my best guess at what the !x86 and non-sio code changes should be.
This also makes sio release its spinlock before calling KDB/DDB.
|
178366 |
20-Apr-2008 |
cognet |
On the AT91, we need to write on the EOI register after we handle an interrupt. So, add a new function pointer, arm_post_filter, which defaults to NULL, and which will be used as the post_filter arg for intr_event_create(). Set it properly for the AT91, so that it boots again.
Reported by: hps
|
177883 |
03-Apr-2008 |
imp |
Take the first baby step towards unifying and cleaning up arminit(): - Pull all the code to deal with the trampoline stuff into one centeralized place and use it from everywhere. - Some minor style tidiness
Reviewed by: tinguely
|
177873 |
03-Apr-2008 |
imp |
Remove unnecessary #define.
|
175120 |
07-Jan-2008 |
cognet |
Add a missing \n.
|
174898 |
25-Dec-2007 |
rwatson |
Add a new 'why' argument to kdb_enter(), and a set of constants to use for that argument. This will allow DDB to detect the broad category of reason why the debugger has been entered, which it can use for the purposes of deciding which DDB script to run.
Assign approximate why values to all current consumers of the kdb_enter() interface.
|
174880 |
23-Dec-2007 |
stas |
- Fix a typo in comments.
MFC after: 1 week Approved by: cognet
|
174781 |
19-Dec-2007 |
imp |
Actually program the interrupt controller for priorities. As we support more AT91 platforms, we'll need to move this into some platform init routine.
|
174700 |
17-Dec-2007 |
kevlo |
Use M_NOWAIT instead of M_WAITOK to cause malloc() to return NULL
Reviewed by: imp
|
174661 |
16-Dec-2007 |
stas |
- Don't return 0xffff if PHY id isn't equal 0. This allows PHYs with non-zero addresses to be used.
Approved by: cognet MFC after: 2 weeks
|
173361 |
05-Nov-2007 |
kib |
Fix for the panic("vm_thread_new: kstack allocation failed") and silent NULL pointer dereference in the i386 and sparc64 pmap_pinit() when the kmem_alloc_nofault() failed to allocate address space. Both functions now return error instead of panicing or dereferencing NULL.
As consequence, vmspace_exec() and vmspace_unshare() returns the errno int. struct vmspace arg was added to vm_forkproc() to avoid dealing with failed allocation when most of the fork1() job is already done.
The kernel stack for the thread is now set up in the thread_alloc(), that itself may return NULL. Also, allocation of the first process thread is performed in the fork1() to properly deal with stack allocation failure. proc_linkup() is separated into proc_linkup() called from fork1(), and proc_linkup0(), that is used to set up the kernel process (was known as swapper).
In collaboration with: Peter Holm Reviewed by: jhb
|
173155 |
29-Oct-2007 |
imp |
kill commented out line of code.
|
172993 |
25-Oct-2007 |
cognet |
Add an option to be able to override the value of the AT91 master clock frequency. It'd be better to be able to calculate it at runtime, but we need the information very early, to setup the uart.
|
172992 |
25-Oct-2007 |
cognet |
Move some KB920x-specific options into the KB920x file.
|
172989 |
25-Oct-2007 |
cognet |
Oooops, get the end of the memory right.
|
172945 |
24-Oct-2007 |
cognet |
KERNBASE should really be KERNVIRTADDR there too.
MFC after: 1 week
|
172944 |
24-Oct-2007 |
cognet |
In ate_get_mac(), try to get the mac address in the right order, at least in the same order as it's set in ate_set_mac. I remember a discussion about this on -arm, but apparently nothing was done. Warner, is this wrong ?
X-MFC After: proper review
|
172943 |
24-Oct-2007 |
cognet |
Handle the case where PHYSADDR != KERNPHYSADDR (ie we do not load the kernel at the beginning of the RAM).
MFC After: 1 week
|
172942 |
24-Oct-2007 |
cognet |
Correct a comment, this was not true anymore.
|
172739 |
18-Oct-2007 |
imp |
correct guard variable names.
|
172196 |
16-Sep-2007 |
imp |
Kill bogus printf debugs.
Approved by: re@ (blanket)
|
172195 |
16-Sep-2007 |
imp |
Kill overly verbose messages about setting bus width.
Approved by: re@ (blanket)
|
171673 |
31-Jul-2007 |
imp |
Make USB work on the KB9202{,A,B} boards. This has been in p4 for about 7 months. You must have JP6 in the 1-2 position to supply power to the USB devices, but I've used uftdi, uplcom and umass successfully. If you have it in 2-3, then nothing will show up. Also, if you have the FQPA packaging for the AT91RM9200 (like the KN9202 boards have), you will get the following message
uhub0: device problem (IOERROR), disabling port 2
due to a hardware erratum. It is safe to ignore as it is about pins that aren't brought out on the FQPA package and aren't proeprly terminated either. Alas, there's no register to read to tell the FQPA from the BGA versions.
Submitted by: Daan Vreeken Approved by: re (kensmith)
|
170574 |
11-Jun-2007 |
imp |
Fix a spacing nit.
|
170286 |
04-Jun-2007 |
marcel |
Revert to the previous version where the return value of uart_getenv() is being ignored. It's optional and the lack of environment variable is not an error condition.
|
169900 |
23-May-2007 |
cognet |
Remove duplicate includes.
Submitted by: Cyril Nguyen Huu <cyril ci0 org>
|
168281 |
02-Apr-2007 |
marcel |
Don't expose the uart_ops structure directly, but instead have it obtained through the uart_class structure. This allows us to declare the uart_class structure as weak and as such allows us to reference it even when it's not compiled-in. It also allows is to get the uart_ops structure by name, which makes it possible to implement the dt tag handling in uart_getenv(). The side-effect of all this is that we're using the uart_class structure more consistently which means that we now also have access to the size of the bus space block needed by the hardware when we map the bus space, eliminating any hardcoding.
|
167950 |
27-Mar-2007 |
n_hibma |
Revisit the watchdogs: Resetting the error to EINVAL after failing to set the watchdog might hide the succesful arming of an earlier one. Accept that on failing to arm any watchdog (because of non-supported timeouts) EOPNOTSUPP is returned instead of the more appropriate EINVAL.
MFC after: 3 days
|
167935 |
27-Mar-2007 |
kevlo |
Don't map mini-data cache page since ARM920T doesn't have it.
|
167852 |
23-Mar-2007 |
imp |
MFp4: A bunch of patches from myself and Tisco to improve the robustness of IIC transactions when parts aren't present. This also removes a bunch of debug. This also moves this driver to 7-1 addressing rather than 6-0 addressing, which is more inline with all the other iic drivers in the tree. I've tested this for about a million years on the systems at work.
|
167261 |
06-Mar-2007 |
piso |
o substitute INTR_FAST with FILTER in a panic message. o wrap a BUS_SETUP_INTR() line at 80.
|
167135 |
01-Mar-2007 |
piso |
Update bus_setup_intr().
Pointed by: Krassimir Slavchev
|
167082 |
27-Feb-2007 |
jhb |
Use tsleep() rather than msleep() with a NULL mtx.
|
167069 |
27-Feb-2007 |
piso |
Correct return code (int) for at91_rtc_intr() prototype.
Approved by: cognet
|
166974 |
25-Feb-2007 |
piso |
Fix attach of at91_pio() after bus_setup_intr() modification.
Reported and tested by: Krassimir Slavchev
|
166901 |
23-Feb-2007 |
piso |
o break newbus api: add a new argument of type driver_filter_t to bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many Approved by: re@
|
166625 |
10-Feb-2007 |
mlaier |
Fix small altq related copy and paste error.
|
166573 |
08-Feb-2007 |
imp |
Add sanity check to make sure that the MAC address isn't all 0's. Bad boot loaders can do this, and this leads to all kinds of ill effects downstream. Also, minor formatting nits.
|
166532 |
06-Feb-2007 |
imp |
at91_twi depends on the iicbus module to satisfy its symbols when loaded, so make that explicit. Works for the monolithic kernel case, won't work for the kldload case.
|
166454 |
03-Feb-2007 |
kevlo |
ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again.
Approved by: imp, cognet
|
166100 |
18-Jan-2007 |
marius |
- Add a uart_rxready() and corresponding device-specific implementations that can be used to check whether receive data is ready, i.e. whether the subsequent call of uart_poll() should return a char, and unlike uart_poll() doesn't actually receive data. - Remove the device-specific implementations of uart_poll() and implement uart_poll() in terms of uart_getc() and the newly added uart_rxready() in order to minimize code duplication. - In sunkbd(4) take advantage of uart_rxready() and use it to implement the polled mode part of sunkbd_check() so we don't need to buffer a potentially read char in the softc. - Fix some mis-indentation in sunkbd_read_char().
Discussed with: marcel
|
165787 |
05-Jan-2007 |
ticso |
MFp4: Use the next possible value for hz instead of defaulting to 128 Update tick value after modifying hz.
|
165783 |
05-Jan-2007 |
ticso |
MFp4: Make at91_rtc optional to allow other RTC choices
|
165781 |
05-Jan-2007 |
ticso |
MFp4: Read access require PDC to be setup first otherwise we might get overrun errors. Write access however need cmd first, so keep the existing order for them.
|
165780 |
05-Jan-2007 |
ticso |
MFp4: BWCT boards are using an 16MHz xtal
|
165779 |
05-Jan-2007 |
ticso |
MFp4: Add VLAN_MTU support
|
165778 |
05-Jan-2007 |
ticso |
MFp4: fix a race in transmit buffer handling
|
165713 |
01-Jan-2007 |
imp |
MFp4: Fix bit name for SPI SR register
|
165712 |
01-Jan-2007 |
imp |
MFp4: Remove watchdog timeout that appears to be unused.
|
165711 |
01-Jan-2007 |
imp |
Merge from FreeBSD-tsf-6 by way of p4: correct values for PIO registers
submitted by: patrick schweiger
|
165260 |
15-Dec-2006 |
n_hibma |
Align the interfaces for the various watchdogs and make the interface behave as expected.
Also: - Return an error if WD_PASSIVE is passed in to the ioctl as only WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an explanation of the difference between WD_ACTIVE and WD_PASSIVE. - Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've lost your sense of humor, than don't add a define.
Specific changes:
i80321_wdog.c Don't roll your own passive watchdog tickle as this would defeat the purpose of an active (userland) watchdog tickle.
ichwd.c / ipmi.c: WD_ACTIVE means active patting of the watchdog by a userland process, not whether the watchdog is active. See sys/watchdog.h.
kern_clock.c: (software watchdog) Remove a check for WD_ACTIVE as this does not make sense here. This reverts r1.181.
|
164969 |
07-Dec-2006 |
cognet |
Unbreak build for Skyeye: do not attempt to do any DMA, as Skyeye doesn't emulate it.
Reported by: ru
|
164936 |
06-Dec-2006 |
julian |
Threading cleanup.. part 2 of several.
Make part of John Birrell's KSE patch permanent.. Specifically, remove: Any reference of the ksegrp structure. This feature was never fully utilised and made things overly complicated. All code in the scheduler that tried to make threaded programs fair to unthreaded programs. Libpthread processes will already do this to some extent and libthr processes already disable it.
Also: Since this makes such a big change to the scheduler(s), take the opportunity to rename some structures and elements that had to be moved anyhow. This makes the code a lot more readable.
The ULE scheduler compiles again but I have no idea if it works.
The 4bsd scheduler still reqires a little cleaning and some functions that now do ALMOST nothing will go away, but I thought I'd do that as a separate commit.
Tested by David Xu, and Dan Eischen using libthr and libpthread.
|
164745 |
29-Nov-2006 |
imp |
MFp4: formatting nit
|
164744 |
29-Nov-2006 |
imp |
Make this work a lot better: Remove a lot of older cruft not needed. Improve ISR support, but it is still unused since polling is faster Properly initalize the speed register to get 90kb/s, not 400b/s. Try to catch NACK Allow 0 length read transfers to generate start/top pairs.
|
164741 |
29-Nov-2006 |
imp |
MFp4: correct data counts so that we clock enough data for the spi transaction. This allows complete spi transactions to happen.
|
164503 |
22-Nov-2006 |
imp |
MFp4: Make it work :-) o Don't delay when checking the done bits. There's no gain other than a small performance hit. o calculate the clock divisors better (things are still way slow, so maybe there's more here?) o don't always fail reset. Always succeed instead. o fix inverted logic around at91_twi_wait() return value o remove debug code o remove unneeded, unworking junk
|
164432 |
20-Nov-2006 |
imp |
MFp4: Tweak descriptions in preparation for porting to other members of the AT91 arm9 family.
|
164425 |
19-Nov-2006 |
sam |
change bus space unmap protoype
Reviewed by: cognet, imp MFC After: 1 month
|
164198 |
11-Nov-2006 |
alc |
Eliminate unused global variables.
|
163937 |
03-Nov-2006 |
imp |
MFp4: o Fix the packet statistics o Make sure we set the FD bit when in full duplex o Improve TX side efficency by eliminating a data copy for unfragmented mbufs (the hardware can't do s/g). o Minor busdma pedantry o better comments in some places, more XXX in others o Minor style nits.
This solves a problem I was seeing where I'd get no ethernet when not booting with a NFS root. Well, unless I unplugged the cable and plugged it back in first so I'd get the same up down up messages I get for NFS root...
Thanks to sam and scottl for suggestions on making this driver more efficient through better use of approrpiate APIs.
|
163709 |
26-Oct-2006 |
jb |
Make KSE a kernel option, turned on by default in all GENERIC kernel configs except sun4v (which doesn't process signals properly with KSE).
Reviewed by: davidxu@
|
163681 |
25-Oct-2006 |
imp |
MFp4: Move the parameters that are basically dictated by the AT91 organization to that file.
|
163680 |
25-Oct-2006 |
imp |
MFp4: Status register bits
|
163526 |
20-Oct-2006 |
imp |
MFp4: Working SPI driver.
|
163525 |
20-Oct-2006 |
imp |
Commit WIP SSC driver, more work is needed here, but it configures things OK.
|
163524 |
20-Oct-2006 |
imp |
More register definitions.
|
163523 |
20-Oct-2006 |
imp |
Progress commit for getting TWI working
|
163522 |
20-Oct-2006 |
imp |
Add sysctl to export current state of rmii vs mii configuraiton. Fix a typo in resource allocation.
|
163521 |
20-Oct-2006 |
imp |
Add configuration of the SSC lines for second SSC.
|
163517 |
20-Oct-2006 |
imp |
MMC/SD bridge driver (host adapter) for AT91RM9200's MCI interface. This interface also appears in the AT91SAM9260 and '61 as well as the AVR32 based micros from Atmel. We don't yet support write protect or hot-swap in this bridge driver.
|
162130 |
07-Sep-2006 |
imp |
MFp4: first cut at getting I2C transfers working (generically). I'm unsure if this driver correctly implements all the start/stop junk right (but it did or didn't before I made this commit).
|
162129 |
07-Sep-2006 |
imp |
MFp4: berndt pointed me at an errata that shows that the stat register offsets were originally documented incorrectly. This fixes that. It shouldn't affect anything other than error stat reporting.
|
161704 |
28-Aug-2006 |
cognet |
Relocate the vector page for AT91, to work around bugs with the LOW_VECTOR code.
|
161617 |
25-Aug-2006 |
cognet |
Do not create dma maps with bus_dmamap_create, as we call bus_dmamem_alloc later which will overwrite the value, leading to a small memory leak.
|
161138 |
09-Aug-2006 |
imp |
Hook into the watchdog device, if present. Also, turn off the watchdog timer stuff when we boot because the boot blocks are turning it on...
|
161105 |
08-Aug-2006 |
cognet |
Rewrite ARM_USE_SMALL_ALLOC so that instead of the current behavior, it maps whole the physical memory, cached, using 1MB section mappings. This reduces the address space available for user processes a bit, but given the amount of memory a typical arm machine has, it is not (yet) a big issue. It then provides a uma_small_alloc() that works as it does for architectures which have a direct mapping.
|
161063 |
08-Aug-2006 |
kevlo |
Remove a bogus i = 0. Approved by: cognet
|
160683 |
25-Jul-2006 |
cognet |
Use virtual_avail instead of freemempos as the starting point of the available physical memory, as the vm uses the memory between freemempos and virtual_avail.
MFC After: 3 days
|
160533 |
20-Jul-2006 |
cognet |
Fix ALT_BREAK_TO_DEBUGGER on the AT91 : The core uart code expects the receive method to actually puts the characters read into its buffers. For AT91, it's done in the ipend routine, so also check if we have the alternate break sequence here.
MFC after: 3 days
|
160455 |
17-Jul-2006 |
cognet |
If we can't defrag a packet, re-queue it instead of dropping it.
|
160453 |
17-Jul-2006 |
cognet |
#if => #ifdef
|
160374 |
15-Jul-2006 |
cognet |
Add a comment explaining why the OHCI mapping has been commented out.
|
160369 |
14-Jul-2006 |
imp |
MFp4: this now depends on new spi bus stuff
|
160368 |
14-Jul-2006 |
imp |
MFp4: tweaks
|
160366 |
14-Jul-2006 |
imp |
MFp4: elevate quality of slow clock a little
|
160365 |
14-Jul-2006 |
imp |
MFp4: paren police
|
160363 |
14-Jul-2006 |
imp |
MFp4: Introduce framework to configure the multiplexed pins on boot.
Since the USART supprots RS-485 multidrop mode, it allows the TX pins to float. However, for RS-232 operations, we don't want these pins to float. Instead, they should be pulled up to avoid mismatches. Linux does something similar when it configures the TX lines. This implies that we also allow the RX lines to float rather than be in the state they are left in by the boot loader. Since they are input pins, I think that this is the right thing to do.
Plus minor for our board.
|
160362 |
14-Jul-2006 |
imp |
MFp4: Fix typo in RTC_CALR_MK.
|
160361 |
14-Jul-2006 |
imp |
The TSC board uses a 16MHz base clock for the AT91RM9200, while the Kwikbyte board uses a 10MHz base clock. Cope with this difference.
|
160359 |
14-Jul-2006 |
imp |
Implement the set_time function. Rather pointless with this RTC, as it resets when the core resets, but there may be some use for it...
|
160358 |
14-Jul-2006 |
imp |
MF p4:
Adapt to forthcoming spi framework. The ioctls for SPI commands and such belong in the higher level driver.
|
160357 |
14-Jul-2006 |
imp |
Be sure to flush the cache after a partial read on timeout. Expand comments about timeouts. Fix a style nit. Sometimes small messages were getting corrupted.
|
160348 |
14-Jul-2006 |
imp |
Move some of the common parameters into the std. files for this platform. Also migrate from MD disk to NFS boot.
|
160282 |
12-Jul-2006 |
cognet |
Comment out the mapping of the OHCI controller registers va == pa. This address is in the userland address space. The proper thing is either to choose a virtual address in the kernel address space beyond the KVA, or to use pmap_mapdev().
|
160072 |
02-Jul-2006 |
imp |
Add support for configuring pins to be one of {GPIO, PERIPHERAL A or PERIPHERAL B}, as well as direction of GPIO pin. Add defines for all the pins.
|
160071 |
02-Jul-2006 |
imp |
MFp4:
Make serial ports more robust and reliable. Make non-console ports work. This might have broken skyeye stuff.
o Introduce ping-pong receive buffers. o Use DMA to copy characters directly into memory. o Support baud rates other than 115200 o Use 1 stop bit when 1 stop bit is requested (otherwise 2 were used, which caused dropped characters when received in bursts). o Use 1.5 stop bits for 5-bit bytes, and 2 stop bits otherwise when 2 stop bits were requested. o Actually update line parameters. o Fix comments o Move init into attach o Tweaks to TX interrupt registers to get them reliable and non-storming. o harvest data in ipend since the latency between it and the callback was too long. This likely is how it should be, I don't know why I deferred things to the callback before. o disable all interrupts in console init. We don't want interrupts until we turn on an ISR. o cosmetic tweaks o Automatically detect of the TIMEOUT interrupt is supported. If so, use it so we get better CPU utilization. Otherwise do a character at a time RX. Good news here is that it seems we have enough CPU and low enough fast interrupt latency to do this reliably. o Don't read USART_CR. It is a write-only register. o start to implement bus_ioctl. Do BAUD now...
|
159902 |
23-Jun-2006 |
cognet |
Backout previous commit, Warner committed at91_pio.c...
|
159899 |
23-Jun-2006 |
cognet |
Comment out at91_pio.c, it's not in CVS.
|
159814 |
20-Jun-2006 |
imp |
Compute physmem so we can print it correctly on boot. Slightly optimize while I'm here.
|
159795 |
20-Jun-2006 |
imp |
Probe the memory size of the board better. Look at the bus width, number of banks, rows and columns the SDRAMC is programmed to access to determine the RAM size for the board, rather than hard-wiring it to be 32MB. My company's board with 64MB now probes correctly, as does the KB9202 with only 32MB. This means that to detect the right memory size, our boot loader must correctly initialize these values. This is a fairly safe assumption because the boot loader has to initialize SDRAM already, and it isn't really possible to change this register after we've accessed SDRAM.
|
159708 |
17-Jun-2006 |
imp |
Carefully note the RMII bit in the config register at attach time. The boot loader is supposed to leave this bit set to the right value for the board. If this bit was set at attach time, use it to init the config register correctly.
Note: this means the boot loader has to properly initialize it.
|
159707 |
17-Jun-2006 |
imp |
improve reporting of clocks
|
159556 |
12-Jun-2006 |
cognet |
MFp4: Increase the L1 pagetable needed for the kernel from 8 to 22, to be able to boot fat kernels.
|
159365 |
07-Jun-2006 |
imp |
Remove sa1_cache_clean_addr. It isn't needed.
Submitted by: kevlo
|
158746 |
19-May-2006 |
cognet |
We have an implementation of generic_bs_rr_1, so use it, as some drivers use it.
Submitted by: kevlo
|
158531 |
13-May-2006 |
cognet |
Resurrect Skyeye support : Add a new option, SKYEYE_WORKAROUNDS, which as the name suggests adds workarounds for things skyeye doesn't simulate. Specifically : - Use USART0 instead of DBGU as the console, make it not use DMA, and manually provoke an interrupt when we're done in the transmit function. - Skyeye maintains an internal counter for clock, but apparently there's no way to access it, so hack the timecounter code to return a value which is increased at every clock interrupts. This is gross, but I didn't find a better way to implement timecounters without hacking Skyeye to get the counter value. - Force the write-back of PTEs once we're done writing them, even if they are supposed to be write-through. I don't know why I have to do that.
|
158432 |
11-May-2006 |
cognet |
Get this to compile : - The prototype of uart_bus_probe() hasn't been changed in cvs yet, so use the old one. - Add at91_pdcreg.h, needed by uart_dev_at91usart.c.
|
157891 |
20-Apr-2006 |
imp |
When returning a resource that we've allocated with rman_reserve_resource, go ahead and set the rid for that resource.
|
157570 |
06-Apr-2006 |
cognet |
MFp4: Catchup with recent UART changes.
|
157564 |
06-Apr-2006 |
imp |
Add debug writes in error cases that, in theory, should never happen
|
157563 |
06-Apr-2006 |
imp |
Connect twi to the FreeBSD iicbus infrastructure.
|
157562 |
06-Apr-2006 |
imp |
Pull in numerous fixes from myself and cognet. With these fixes the KB9202 eval board is finally stable with a nfs root.
|
157561 |
06-Apr-2006 |
imp |
Remove unused bit definitions. Minor style cleanup while I'm here.
|
157560 |
06-Apr-2006 |
imp |
Optimize the TX side of the part by using the PDC to move bytes out to the wire. This increases the speed considerably. Start to put infrastructure in place to do RX side, but that requires more study before it can be done.
|
157091 |
24-Mar-2006 |
imp |
Skeleton support for the SSC device, which implements I2S interfaces, amoung others.
|
157089 |
24-Mar-2006 |
imp |
Skeleton PIO support.
|
157088 |
24-Mar-2006 |
imp |
Add the sekelton of support for the Power Management Controller.
|
157087 |
24-Mar-2006 |
imp |
Add rtc to files.at91
|
157086 |
24-Mar-2006 |
imp |
Add RTC support. This may be of dubious value since the RTC is reset to 1998 every reboot.
|
157029 |
22-Mar-2006 |
cognet |
MFp4: Don't force single-user now we can go multi-user. Call cninit() only after the pagetable has been set, as locore.S won't map the system device for us anymore.
|
157024 |
22-Mar-2006 |
cognet |
MFp4: teach the KB920x bits how to know where the ELF trampoline puts the strtab and the symtab.
|
157023 |
22-Mar-2006 |
cognet |
MFp4: Handle break interrupts (it seems to only work for USART, not DBGU).
|
156833 |
18-Mar-2006 |
imp |
MFp4:
Add bus attachment for the ohci device on this chip. The bus and hub are detected correctly, but the children devices aren't detected correctly for reasons unknown.
|
156832 |
18-Mar-2006 |
imp |
Add ohci controller mapping.
|
156831 |
18-Mar-2006 |
imp |
MFp4:
o update TODO list o Better use of busdma o mark RX dtors as COHERENT. This helps performance a lot by not requiring so many EXPENSIVE cache flushes. The cost of accessing it non-cached is much smaller. o Copy data from Rx buffers to make IP header 4 byte aligned. o CRC length included in reported length, so cope o Don't free TX buffer twice o Manage TX buffers better. o Enable just the interrupts we want. o Manage OACTIVE better
# Some of these done by cognet # These changes let us get to # via NFS root.
|
156830 |
18-Mar-2006 |
imp |
MFP4: Gratuitously sort alphabetically.
|
156829 |
18-Mar-2006 |
imp |
MFP4:
GC and fix definitions.
# some of this may have been done by cognet
|
156828 |
18-Mar-2006 |
imp |
MFp4:
o Add memory barrier to bus space o Allow for up to 3 IRQs per device o Move to table driven population of children devices. o Add support for usb ohci memory mapped controller resource allocation. o Clean up a bunch of extra writes to disable interrupts that are now done elsewhere. o Force all system interrupt handlers be fast. We get deadlock if they aren't.
|
156827 |
18-Mar-2006 |
imp |
MFp4:
o Disable all interrupts that the ST can generate until we have an ISR to service them. o Correct clock calculation to make DELAY the right length...
Submitted by: cognet (#2)
|
156094 |
27-Feb-2006 |
cognet |
Get this to compile with the recent UART changes.
|
155793 |
17-Feb-2006 |
imp |
These files apply to all the atmel parts that freebsd is going to run on, so name them more generically. If we do support the MMU-less ARM7 parts, then we'll need to, at that time, expand the files we have.
|
155791 |
17-Feb-2006 |
imp |
This file was obsolete when committed. Catchup and delete it.
|
155527 |
11-Feb-2006 |
imp |
Use the correct address for the ohci device.
|
155445 |
07-Feb-2006 |
cognet |
Set the MAC address after we just read it at attach time, as it seems needed.
|
155443 |
07-Feb-2006 |
cognet |
Set m_pkthdr.len and m_pkthdr.rcvif.
|
155405 |
06-Feb-2006 |
cognet |
- Call mii_phy_probe() after we allocated an ifp. mii has this evil hack where it assumes the first field of the driver softc is the struct ifnet, and it copies its value in mii_phy_probe(). - In the interrupt handler, set the mbuf m_len field on packet receive.
|
155324 |
04-Feb-2006 |
imp |
Import support for the Atmel AT91RM9200 CPU/Microcontroller. This SoC 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.
|