Commit graph

630 commits

Author SHA1 Message Date
Warner Losh ab45d28ce3 MFp4:
correct data counts so that we clock enough data for the spi
	transaction.  This allows complete spi transactions to happen.
2006-11-29 07:57:02 +00:00
Kevin Lo f1b6520619 Bring in status led support for /dev/led/gpioled on Avila.
Approved by: cognet
2006-11-22 12:57:17 +00:00
Warner Losh ff7447dae1 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
2006-11-22 06:51:59 +00:00
Kevin Lo 681efe0834 Match bus space unmap prototype.
Approved by: cognet
2006-11-20 13:21:02 +00:00
Warner Losh 111bcda150 MFp4: Tweak descriptions in preparation for porting to other members of
the AT91 arm9 family.
2006-11-20 06:27:15 +00:00
Sam Leffler d4593bb04f config for Gateworks Avila board booting with NFS-mounted root on npe0
Reviewed by:	cognet, imp
MFC after:	1 month
2006-11-19 23:58:12 +00:00
Sam Leffler e67f80fd20 Gateworks Avila board support:
o ixp425 support
o NPE network driver (requires Intel microcode)
o h/w qmgr support
o True IDE compact flash over expansion bus
o pci (ath and hifn795x parts tested)
o xscale watchdog timer
o ds1672 RTC on i2c bus
o ad7418 voltage + temp monitoring on i2c bus
o uart

Work done together with cognet, kevlo, and jmg.  Parts of
the ixp425 support obtaine/derived from netbsd.

Reviewed by:	cognet, imp
MFC after:	1 month
2006-11-19 23:55:23 +00:00
Sam Leffler faad47108d change bus space unmap protoype
Reviewed by:	cognet, imp
MFC After:	1 month
2006-11-19 23:47:51 +00:00
Sam Leffler 588a2322a9 correct bus space unmap prototype
Reviewed by:	cognet, imp
MFC after:	1 month
2006-11-19 23:46:50 +00:00
Sam Leffler 7fb399a7e5 elaborate on stepping names; add intel terminology to help
people cross-referencing intel docs

Reviewed by:	imp, cognet
MFC after:	1 month
2006-11-19 23:45:33 +00:00
Olivier Houchard 1ea7de37f9 Erm we really want to mask all interrupts in the range, just not the first
one.

Submitted by:	ru
2006-11-17 11:56:56 +00:00
Kevin Lo f43f0196a9 Compile -- remove an unused global variable avail_end.
Approved by: cognet
2006-11-17 00:53:39 +00:00
Ruslan Ermilov 26af9ac7d0 Fix a comment. 2006-11-13 06:26:57 +00:00
Alan Cox 44b8bd66f9 Make pmap_enter() responsible for setting PG_WRITEABLE instead
of its caller.  (As a beneficial side-effect, a high-contention
acquisition of the page queues lock in vm_fault() is eliminated.)
2006-11-12 21:48:34 +00:00
Alan Cox cc0d48ffb6 Eliminate unused global variables. 2006-11-11 20:57:52 +00:00
Alan Cox e288d71672 MFamd64/ia64/i386/sun4v
Use cnt.v_page_count, the actual count of available physical pages,
  instead of vm_page_array_size to compute the maximum number of pv
  entries.
2006-11-08 06:31:28 +00:00
Olivier Houchard c162ce855c Increate cnt.v_intr on interrupt. 2006-11-08 01:32:24 +00:00
Olivier Houchard 676b1fbdbf Identify the xscale 81342. 2006-11-07 22:36:57 +00:00
Olivier Houchard 08b91759f3 In the ARM_USE_SMALL_ALLOC case, vm_page_t may have an address < KERNBASE,
so adjust the KASSERT to reflect this.
2006-11-07 22:35:30 +00:00
Olivier Houchard 2c7b82c9dd Add atomic_cmpset_acq_32. 2006-11-07 11:53:44 +00:00
Warner Losh 8cd5dc08c3 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.
2006-11-03 07:39:37 +00:00
Olivier Houchard da834c5711 Do not include both <sys/types.h> and <sys/param.h>, it is a style bug as
sys/types.h is included in sys/param.h, so instead just move the
#include <sys/param.h> before the headers that need it.

Spotted out by:	bde
2006-11-01 12:41:43 +00:00
John Birrell 3d068827c2 Add a cnputs() function to write a string to the console with
a lock to prevent interspersed strings written from different CPUs
at the same time.

To avoid putting a buffer on the stack or having to malloc one,
space is incorporated in the per-cpu structure. The buffer
size if 128 bytes; chosen because it's the next power of 2 size
up from 80 characters.

String writes to the console are buffered up the end of the line
or until the buffer fills. Then the buffer is flushed to all
console devices.

Existing low level console output via cnputc() is unaffected by
this change. ithread calls to log() are also unaffected to avoid
blocking those threads.

A minor change to the behaviour in a panic situation is that
console output will still be buffered, but won't be written to
a tty as before. This should prevent interspersed panic output
as a number of CPUs panic before we end up single threaded
running ddb.

Reviewed by:	scottl, jhb
MFC after:	2 weeks
2006-11-01 04:54:51 +00:00
Olivier Houchard c3248b4002 Include <sys/types.h>, to get definition for uint32_t.
Submitted by:	David Sharp
2006-10-30 23:23:00 +00:00
John Birrell 3750d1ecad Remove the KSE option now that it's in DEFAULTS on these arches/machines.
The 'nooption' kernel config entry has to be used to turn KSE off now.
This isn't my preferred way of dealing with this, but I'll defer to
scottl's experience with the io/mem kernel option change and the grief
experienced over that.

Submitted by:	scottl@
2006-10-26 22:11:35 +00:00
John Birrell 8460a577a4 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@
2006-10-26 21:42:22 +00:00
Olivier Houchard 4e52d86822 Let allow to teardown multiple irqs as well. 2006-10-25 21:11:46 +00:00
Olivier Houchard 0a7b049096 Setup multiple interrupts if needed. 2006-10-25 21:00:08 +00:00
Warner Losh bc8fe52e6d MFp4: Move the parameters that are basically dictated by the AT91
organization to that file.
2006-10-25 08:00:11 +00:00
Warner Losh 1b104c589a MFp4: Status register bits 2006-10-25 07:58:18 +00:00
Olivier Houchard d370f1f482 Ooops, dump_avail[i] can be 0 if the RAM starts at 0x00000000, so check that
dump_avail[i + 1] is == 0 as a stop condition instead.
MFC after: 3 days
2006-10-24 23:27:52 +00:00
Kevin Lo 24ef8c83ee style(9) cleanup.
Approved by: cognet
2006-10-21 04:25:00 +00:00
Olivier Houchard 06e28eec94 Ok I am an idiot. On 32 bits big-endian systems, it is needed to handle the
syscalls using __syscall but only actually returning 32bits, such as mmap(),
specially : they set the return value in td->td_retval[0], but the userland
functions will expect this in r1, and not in r0 as it is normally done, as it
is the LSB. So add a special case for all these syscalls (all except lseek,
which truly returns 64bits).

Many thanks to Peter Grehan for his patience while explaining me the issue.
2006-10-21 00:46:56 +00:00
Olivier Houchard 38b3d206f4 Use __QUAD_LOWWORD for __syscall, to always use the good word, whatever the
endianness is.
2006-10-20 22:40:31 +00:00
Olivier Houchard 40594b3305 There's no need to special-case lseek for arm/big-endian. 2006-10-20 11:00:03 +00:00
Warner Losh 0f1c5aca64 MFp4: Working SPI driver. 2006-10-20 07:10:13 +00:00
Warner Losh 89975186a3 Commit WIP SSC driver, more work is needed here, but it configures
things OK.
2006-10-20 07:08:59 +00:00
Warner Losh bfa94035b0 More register definitions. 2006-10-20 07:08:15 +00:00
Warner Losh 5f9c612ae7 Progress commit for getting TWI working 2006-10-20 07:06:39 +00:00
Warner Losh 56878d42da Add sysctl to export current state of rmii vs mii configuraiton.
Fix a typo in resource allocation.
2006-10-20 07:04:56 +00:00
Warner Losh e352ac0afb Add configuration of the SSC lines for second SSC. 2006-10-20 07:03:57 +00:00
Warner Losh e41e815e5c 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.
2006-10-20 06:44:04 +00:00
David Xu 5f641fc0fb o Add keyword volatile for user mutex owner field.
o Fix type consistent problem by using type long for old
  umtx and wait channel.
o Rename casuptr to casuword.
2006-10-17 02:24:47 +00:00
John Birrell 6825d60738 PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:
MFC after:
Security:
Move the relocation definitions to the common elf header so that DTrace
can use them on one architecture targeted to a different one.

Add the additional ELF types defines in Sun's "Linker and Libraries"
manual.
2006-10-04 21:37:10 +00:00
Poul-Henning Kamp f645b0b51c First part of a little cleanup in the calendar/timezone/RTC handling.
Move relevant variables to <sys/clock.h> and fix #includes as necessary.

Use libkern's much more time- & spamce-efficient BCD routines.
2006-10-02 12:59:59 +00:00
Alexander Kabaev d9cb97ff9d Use __builtin_va_start instead of __builtin_stdarg_start. GCC4 obsoletes
the former and  __builtin_va_start was present in all GCC version 3.1 and
later.
2006-09-21 01:37:02 +00:00
Warner Losh 656595aa63 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).
2006-09-07 21:53:28 +00:00
Warner Losh 5dced01e59 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.
2006-09-07 21:50:01 +00:00
Olivier Houchard 4731df1ee7 Remove dead code, already defined in sys/cdef.h
Spotted out by:	bde
2006-08-30 11:45:07 +00:00
Olivier Houchard d50cc5583f Use ENTRY_NP for alternate entry points instead of ENTRY to avoid calling
mcount twice when profiling.

Spotted out by:	bde
2006-08-30 11:44:37 +00:00