summaryrefslogtreecommitdiffstats
path: root/sys/arm/lpc
Commit message (Collapse)AuthorAgeFilesLines
* MFC r258779,r258780,r258787,r258822:eadler2014-02-042-4/+4
| | | | | | | | | | | | | Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this shifts into the sign bit. Instead use (1U << 31) which gets the expected result. Similar to the (1 << 31) case it is not defined to do (2 << 30). This fix is not ideal as it assumes a 32 bit int, but does fix the issue for most cases. A similar change was made in OpenBSD.
* MFC r257127:loos2014-01-232-6/+0
| | | | | | | Remove all the instances of '#undef DEBUG' from kernel. Suggested by: rpaulo Approved by: adrian (mentor)
* MFC r257669, r257672, r257673, r257676, r257678:ian2013-12-141-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Call initarm_lastaddr() later in the init sequence, after establishing static device mappings, rather than as the first of the initializations that a platform can hook into. This allows a platform to allocate KVA from the top of the address space downwards for things like static device mapping, and return the final "last usable address" result after that and other early init work is done. Because some platforms were doing work in initarm_lastaddr() that needs to be done early, add a new initarm_early_init() routine and move the early init code to that routine on those platforms. Make PTE_DEVICE a synonym for PTE_NOCACHE on armv4, to make it easier to share the same code on both architectures. Add new helper routines for arm static device mapping. The new code allocates kva space from the top down for the device mappings and builds entries in an internal table which is automatically used later by arm_devmap_bootstrap(). The platform code just calls the new arm_devmap_add_entry() function as many times as it needs to (up to 32 entries allowed; most platforms use 2 or 3 at most). Remove imx local devmap code and use the essentially identical common code that got moved from imx_machdep.c to arm/devmap.c.
* MFC r257648, r257649, r257660:ian2013-12-131-2/+3
| | | | | | | | | | | | | | | | | Begin reducing code duplication in arm pmap.c and pmap-v6.c by factoring out common code related to mapping device memory into a new devmap.c file. Remove the growing duplication of code that used pmap_devmap_find_pa() and then did some math with the returned results to generate a virtual address, and likewise in reverse to get a physical address. Now there are a pair of functions, arm_devmap_vtop() and arm_devmap_ptov(), to do that. The bus_space_map() implementations are rewritten in terms of these. Move remaining code and data related to static device mapping into the new devmap.[ch] files. Emphasize the MD nature of these things by using the prefix arm_devmap_ on the function and type names (already a few of these things found their way into MI code, hopefully it will be harder to do by accident in the future).
* MFC r257258, r257265: Include headers (if_var.h and others) where needed.ian2013-12-131-0/+1
| | | | | | The change that triggered the need for this on head was r257244. That hasn't been MFC'd yet, but there's no harm in paving the way for it with this MFC.
* MFC r257201, r257202ian2013-12-131-1/+1
| | | | Retire arm_remap_nocache() and the data and constants associated with it.
* MFC r257199, r257200, r257217:ian2013-12-136-7/+0
| | | | | | | | | | | | | | | Remove all #include <machine/pmap.h> from arm code. It's already included by vm/pmap.h, which is a prerequisite for arm/machine/pmap.h so there's no reason to ever include it directly. Remove #include <machine/frame.h> from all the arm code that doesn't really need it. That would be almost everywhere it was included. Add it in a couple files that really do need it and were previously getting it by accident via another header. Remove the last dregs of trapframe_t. It turns out only arm was using this type, so remove it to make arm code more consistant with other platforms.
* MFcalloutng:mav2013-02-281-20/+12
| | | | | | | Switch eventtimers(9) from using struct bintime to sbintime_t. Even before this not a single driver really supported full dynamic range of struct bintime even in theory, not speaking about practical inexpediency. This change legitimates the status quo and cleans up the code.
* Mechanically substitute flags from historic mbuf allocator withglebius2012-12-051-1/+1
| | | | | | | | | malloc(9) flags within sys. Exceptions: - sys/contrib not touched - sys/mbuf.h edited manually
* Fix typo; s/ouput/outputkevlo2012-11-071-1/+1
|
* Merge the FDT versions of initarm.andrew2012-11-031-503/+9
| | | | | | | | | The copies of initarm used on platforms with FDT support were almost identical. The differences were pulled out into separate functions that were called by initarm. This change merges the, now identical, copies of initarm and a few of it's support functions. This is a step towards a common kernel on ARMv6.
* Merge r242125 into the other ARMv6 copies of initarm.andrew2012-10-311-0/+5
|
* Move the call to platform_gpio_init() into initarm_gpio_init() to reduceandrew2012-10-301-5/+5
| | | | the diff to the other FDT versions of initarm.
* Create the new initarm_ functions to reduce the diff to the other FDTandrew2012-09-261-11/+25
| | | | versions of initarm
* Use arm_dump_avail_init to build the dump_avail arrayandrew2012-09-261-6/+1
|
* Start to clean up the lpc initarm as it also uses FDT.andrew2012-09-261-12/+18
|
* Update different versions of physmap_init to be identical in preparationandrew2012-09-231-3/+13
| | | | for merging them.
* Reduce the diff between the FDT implementations of initarm.andrew2012-09-221-4/+4
| | | | This only touches whitespace and comments.
* Create a common set_stackptrs in sys/arm/machdep.c.andrew2012-09-221-11/+2
| | | | | | | On single core devices set_stackptrs is only ever called with cpu = 0 in initarm and will be identical to the existing function. On SMP this needs to be implemented for sys/arm/mp_machdep.c, but the implementations are identical for each SoC.
* Set machine correctly on ARM. This allows universe to use the correct worldandrew2012-08-181-0/+1
| | | | | | when building each kernel. Reviewed by: imp
* Switch lpc initarm() to use struct arm_boot_params and therefore fixjceel2012-08-151-33/+7
| | | | | | EA3250 kernel build. Approved by: gonzo
* Merging of projects/armv6, part 8gonzo2012-08-1520-0/+6692
r235162: Initial LPC32x0 support. Includes DTS file for Embedded Artists EA3250 board. Peripherals currently supported: - Serial ports - Interrupt controller - Timers - Ethernet - USB host - Framebuffer (in conjunction with SSD1289 LCD controller) - RTC - SPI - GPIO Submitted by: Jakub Wojciech Klama <jceel@freebsd.org>
OpenPOWER on IntegriCloud