2075 Commits

Author SHA1 Message Date
loos
b13dfd5919 Remove all the instances of '#undef DEBUG' from kernel.
Suggested by:	rpaulo
Approved by:	adrian (mentor)
2013-10-25 18:38:44 +00:00
loos
039166792e Add the Raspberry Pi SPI controller driver.
Reviewed by:	rpaulo
Approved by:	adrian (mentor)
2013-10-24 16:27:33 +00:00
nwhitehorn
20307fd9d3 Typo while reviewing diffs. Sorry for the breakage! 2013-10-23 19:56:13 +00:00
nwhitehorn
b654c9fc92 Remove OF_instance_to_package() hack for FDT and replace with use of the
generic OF_xref_phandle() API universally. Also replace some related
explicit uses of fdt32_to_cpu() with OF_getencprop() calls.
2013-10-23 14:04:09 +00:00
loos
f18bfb3325 Add the Raspberry Pi BSC (I2C compliant) controller driver.
Reviewed by:	rpaulo
Approved by:	adrian (mentor)
2013-10-23 12:29:39 +00:00
ganbold
d8ca131ea8 Radxa Rock board (by radxa.com) kernel config file.
More info on the Wiki page:
https://wiki.freebsd.org/FreeBSD/arm/Radxa%20Rock

Reviewed by: ray@
2013-10-23 00:43:22 +00:00
ganbold
6b33f93b1a Import basic support for Rockchip RK3188 SoC.
Reviewed by: ray@
2013-10-23 00:39:43 +00:00
cognet
ec847085fd - Use bus_dmamap_unload(), it is not optional.
- The new allocator won't return coherent memory for any size > PAGE_SIZE,
so don't assume we have coherent memory, and explicitely use
bus_dmamap_sync().
2013-10-22 21:51:07 +00:00
cognet
957ce81ff4 Typo fix. 2013-10-22 21:49:58 +00:00
cognet
64322f6771 Try to make sure the frame is indeed in the kernel memory. 2013-10-22 21:47:34 +00:00
gonzo
4939585cd7 Make watchdog function conform watchdog(9):
Set error to 0 when watchdog is armed and disable it when timeout
is too large to be set.
2013-10-22 05:22:46 +00:00
gonzo
10d2c4a766 - Implement watchdog function and register it with watchdog list 2013-10-22 05:19:42 +00:00
ganbold
fc5681aea5 Move and rename dwc otg driver to more
generic one as it appears to work
for rk3188 SoC based board too.

No objections from: hselasky@
Reviewed by: ray@
2013-10-21 09:34:04 +00:00
ian
7dfe26742e Add configuration for the Freescale i.MX53 Quick Start Board. 2013-10-20 21:21:07 +00:00
ian
10e069d479 Add a driver for the Freescale Fast Ethernet Controller found on various
Freescale SoCs including the i.MX series.  This also works for the newer
SoCs with the ENET gigabit controller, but doesn't use any of the new
hardware features other than enabling gigabit speed.
2013-10-20 21:07:38 +00:00
ian
975a73b354 Switch to using the standard uart console driver instead of the special
driver for early boot debugging.
2013-10-20 21:03:15 +00:00
ian
377df33a54 Clock divisors 0-3 correspond to dividing by 1-4, so add 1 before dividing. 2013-10-19 21:33:06 +00:00
rrs
fa957a569b Corrects the Kirkwood dreamplug to use
the right register for power managment. It
was incorrectly using the clock register
which also caused the status to be the
opposite of what it is supposed to be.
1 - its disabled
0 - its enabled

Per kirkwood spec FSS_88F6180_9x_6281_OpenSource.pdf
2013-10-19 06:47:02 +00:00
cognet
e9f2d20a41 There's no need to guard pmap_extract(), it won't be called until well after
the VM has been properly initialized.

Spotted out by:	alc
2013-10-18 22:47:10 +00:00
cognet
4c528c274a KERNBASE is unsigned, so we'd better use hs instead of ge.
Pointy hat to:	cognet
Suggested by:	ian
2013-10-18 17:21:47 +00:00
cognet
ff13c0d10b Increase the KVA available for xscale CPUs. 2013-10-17 22:12:32 +00:00
cognet
d8a25b54a7 Spell cpu_l2cache_wb_range correctly. 2013-10-17 21:38:14 +00:00
cognet
8abb82aa67 - Switch to use WBWA mappings for page tables on armv6, this is needed for SMP.
- Fix PTE_SYNC() for PIPT L2 caches, using the virtual address wasn't so useful.
- Use PTE_SYNC() for >= armv6
2013-10-17 21:06:19 +00:00
cognet
9b6dd10f0c Make casuword() atomic for armv6 2013-10-17 17:11:15 +00:00
cognet
b7fd4846e5 If we avoid to use the page at addr 0, we should adjust the size to reflect it. 2013-10-17 09:57:09 +00:00
ian
69fd0657e4 Invalidate the entire L2 cache before enabling it. Say whether it
has been enabled or disabled.
2013-10-16 19:06:44 +00:00
ian
e0e796b156 Add cases for the combinations of busdma sync op flags that we handle
correctly by doing nothing, then add a panic for the default case, because
that implies that some driver asked for a sync (probably incorrectly) and
nothing was done.
2013-10-16 16:35:25 +00:00
ian
170337ca9d When calculating the number of bounce pages needed, round the maxsize
up to a multiple of PAGE_SIZE, and add one page because there can always
be one more boundary crossing than the number of pages in the transfer.
2013-10-16 16:32:35 +00:00
br
5ac96cd6b7 Add CPU ID for ARM Cortex A5.
Approved by:	cognet (mentor)
2013-10-16 15:20:27 +00:00
ian
3384803d85 Fix a register name typo. The effect was that CPU_CONTROL_AFLT_ENABLE
wasn't being set, but it was almost assuredly already turned on anyway
by the bootloader.
2013-10-16 14:24:22 +00:00
kevlo
302f86de3a Remove unsigned comparison < 0
Found by:	LLVM
Reviewed by:	zbb
2013-10-15 09:29:36 +00:00
dim
37186c5224 In sys/arm/versatile/versatile_pci.c, add a default handler, to fix a
gcc warning about uninitialized use of a variable.

Approved by:	re (gjb)
2013-10-10 19:40:01 +00:00
dim
d9be36d380 Remove redundant redeclarations of uart_s3c2410_class in
sys/arm/s3c2xx0/uart_bus_s3c2410.c and uart_cpu_s3c2410.c, to silence
two gcc warnings.

Approved by:	re (gjb)
X-MFC-With:	r252394
2013-10-09 17:05:02 +00:00
br
e78fdc3603 - Enable unmapped buffers on Exynos5 again, because
board now able to see all the 2GB ram it has
- Also unbreak gcc build

Approved by:	cognet (mentor)
Approved by:	re (marius)
2013-10-01 12:01:20 +00:00
loos
185dc91bf2 Fix DELAY() on RPi, the wrong math was making it take twice it should.
Reported by:	Alexander <sht@ropnet.ru>
Approved by:	adrian (mentor)
Approved by:	re (gjb)
2013-09-23 14:00:18 +00:00
glebius
12fb397079 - Create kern.ipc.sendfile namespace, and put the new "readhead" OID
there as "kern.ipc.sendfile.readahead".
- Push all nsfbuf related tunables into MD code. Don't move them
  to new namespace in favor of POLA.

Reviewed by:	scottl
Approved by:	re (gjb)
2013-09-22 13:36:52 +00:00
zbb
966b366427 Fix GCC build for all ARMs. Revert bug introduced in r255613.
Previous change applied in r255613 fixed build for ARMv6 but
broke it for previous architecture revisions. This commit
eventually fixes GCC build for all ARM revisions.

Approved by:	cognet (mentor)
Approved by:	re (kib)
2013-09-20 20:44:32 +00:00
alc
88a4d0f31a The pmap function pmap_clear_reference() is no longer used. Remove it.
pmap_clear_reference() has had exactly one caller in the kernel for
several years, more precisely, since FreeBSD 8.  Now, that call no
longer exists.

Approved by:	re (kib)
Sponsored by:	EMC / Isilon Storage Division
2013-09-20 04:30:18 +00:00
pjd
667d7255be Fix panic in ktrcapfail() when no capability rights are passed.
While here, correct all consumers to pass NULL instead of 0 as we pass
capability rights as pointers now, not uint64_t.

Reported by:	Daniel Peyrolon
Tested by:	Daniel Peyrolon
Approved by:	re (marius)
2013-09-18 19:26:08 +00:00
zbb
a86ee2711c Fix GCC build error when building for ARMv6
Apply theravens's idea to move __strong_reference
macros into the proper ifdef section.

Approved by:	cognet (mentor)
Approved by:	re
2013-09-16 10:46:58 +00:00
zbb
e1eb905487 Implement pmap_advise() for ARMv6/v7 pmap module
Apply the given advice to the specified range of addresses within the
given pmap. Depending on the advice, clear the referenced and/or
modified flags in each mapping. Superpage within the given range will
be demoted or destroyed.

Reviewed by:	alc
Approved by:	cognet (mentor)
Approved by:	re
2013-09-16 10:39:35 +00:00
zbb
6b0cb8bbef Write protect base page after superpage demotion so that it may repromote
When clearing the modification status of the superpage, one of the
base pages produced during demotion should be marked as write disabled.
The intention is that subsequent write access may repromote.
In the current implementation this was done wrong as write permission was
granted instead of forbidden.

Approved by:	cognet (mentor)
Approved by:	re
2013-09-16 10:34:44 +00:00
loos
b8f3cdb508 Export a function to allow BCM2835's peripheral devices to enable their
altenate pin function (from GPIO pins) as needed.

Approved by:	adrian (mentor)
2013-09-07 18:48:15 +00:00
andrew
59c30969f9 On ARM EABI double precision floating point values are stored in the
endian the CPU is in, i.e. little-endian on most ARM cores.

This allows ARMv4 and ARMv5 boards to boot with the ARM EABI.
2013-09-07 14:04:10 +00:00
glebius
0d93068fd4 Fix of r255318: move sf_buf_alloc()/sf_buf_free() out of #ifdef
ARM_USE_SMALL_ALLOC.
2013-09-07 07:56:55 +00:00
loos
b6096f6e1e Fix an off-by-one bug in ar71xx_gpio and bcm2835_gpio which makes the last
pin unavailable.

Reported and tested by:	sbruno (ar71xx)
Approved by:	adrian (mentor)
Pointy hat to:	loos
2013-09-06 23:39:56 +00:00
glebius
cf37135185 Fix build with gcc. Move sf_buf_alloc()/sf_buf_free() declarations
to MD headers.
2013-09-06 17:44:13 +00:00
rpaulo
16cb93231c Revert accidental commit. 2013-09-02 17:07:46 +00:00
rpaulo
d8615bd83a Initial support for the Digi ConnectCore(c) i.MX53 / Wi-i.MX53 boards.
There are many drivers missing, but we can reach single user mode now.

Hardware graciously donated by Douglas Beattie.
2013-09-01 20:15:35 +00:00
theraven
3b54dfb62d Unconditionally compile the __sync_* atomics support functions into compiler-rt
for ARM.
This is quite ugly, because it has to work around a clang bug that does not
allow built-in functions to be defined, even when they're ones that are
expected to be built as part of a library.

Reviewed by:	ed
2013-08-31 08:50:45 +00:00