summaryrefslogtreecommitdiffstats
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant ARM_L2_ADDR_BITS and L2_ADDR_BITS definitions andskra2016-02-183-8/+1
| | | | replace them by primary ones where needed.
* Remove redundant L2_ADDR_MASK definition and replace it by primary one.skra2016-02-182-4/+1
|
* Remove unneeded definitions after r291406. Also remove redundant andskra2016-02-182-24/+0
| | | | not used L1_ADDR_BITS definition.
* Move the Allwinner kernels to use fdt_pinctrl. This will read the pinandrew2016-02-1712-81/+717
| | | | | | | | | | | | | configuration from the FDT data, then set the pins into the requested state. As part of this the gpio controller now reports the correct number of pins instead of returning the number of bank * 32. To allow for a future consolidated kernel we add the SOC_ALLWINNER_A10 and SOC_ALLWINNER_A20 kernel options. These need to be set as appropriate for the SoC the kernel will boot on. Submitted by: Emmanuel Vadot <manu@bidouilliste.com> Differential Revision: https://reviews.freebsd.org/D5177
* Do not use PMAP_DOMAIN_KERNEL definition for __ARM_ARCH >= 6 as domainsskra2016-02-173-27/+3
| | | | | | are not utilized there. Only domain #0 is used and there is no reference to it in the whole pmap-v6.c. Thus initialize domain access register in locore-v6.c without reference too.
* Remove unneeded vector_page_setprot() for __ARM_ARCH >= 6. A vectorskra2016-02-173-12/+3
| | | | page is always mapped in KVA space and so it's always writeable.
* Include pte-v6.h only where needed.skra2016-02-173-4/+1
|
* Remove pd_prot and pd_cache members from struct arm_devmap_entry.skra2016-02-1715-109/+31
| | | | | The struct is used for definition of static device mappings which should always have same protection and attributes.
* Evaluate also VM_PROT_EXECUTE protection in pmap_preboot_map_attr().skra2016-02-171-0/+1
| | | | | | | | Before this change all mappings done by this function were executable as pte entries have NOT EXECUTABLE bit. The function is used only for static device mappings at present. Thus this is also a fix as DEVICE memory should not be mapped as executable.
* Allow callers of OF_decode_addr to get the size of the found mapping. Thisandrew2016-02-161-1/+5
| | | | | | | | | | | | | | will allow for code that uses the old fdt_get_range and fdt_regsize functions to find a range, map it, access, then unmap to replace this, up to and including the map, with a call to OF_decode_addr. As this function should only be used in the early boot code the unmap is mostly do document we no longer need the mapping as it's a no-op, at least on arm. Reviewed by: jhibbits Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D5258
* Use EARLY_DRIVER_MODULE() for ti_scm driver to be attached beforeskra2016-02-161-1/+2
| | | | | | | | am335x_prcm driver which uses it. Used BUS_PASS_BUS is a quick pick for now and may be revised when other drivers start using multipass feature. This is needed after an update of Linux dts files done in r295436.
* Do not use DMA channels used by GPU.skra2016-02-163-33/+62
| | | | | | | | | (1) The channel mask is get from "brcm,dma-channel-mask" property of dma node, and if not provided, from "broadcom,channels" property. (2) Consequently, sdhci driver does not allocate any specific channel. (3) Use CS_RESET bit for initial channel reset. Differential Revision: https://reviews.freebsd.org/D4303
* Add a sysctl to read the internal temperature of the AXP209 Powerandrew2016-02-161-0/+41
| | | | | | | Management IC. Submitted by: Jared McNeill <jmcneill@invisible.ca> Differential Revision: https://reviews.freebsd.org/D5298
* Add an analog audio driver for the audio codec found on the Allwinnerandrew2016-02-163-0/+854
| | | | | | | | A10/A20 SoC. Based loosely on the submitters NetBSD driver, tested on Cubieboard 2. Playback and capture are supported. Submitted by: Jared McNeill <jmcneill@invisible.ca> Differential Revision: https://reviews.freebsd.org/D5202
* Only read the power state register when we will be using its value. Whileandrew2016-02-161-10/+13
| | | | | | here remove magic shifts, and cleanup pwr_name. Sponsored by: ABT Systems Ltd
* Add support for the Allwinner DMA controller. This will be used by the atandrew2016-02-156-0/+713
| | | | | | | least the audio codec driver currently in review. Submitted by: Jared McNeill <jmcneill@invisible.ca> Differential Revision: https://reviews.freebsd.org/D5050
* Add support for the AXP209 Power System Management IC. This allows boardsandrew2016-02-152-0/+183
| | | | | | | with this and an Allwinner SoC to power off. Submitted by: Emmanuel Vadot <manu@bidouilliste.com> Differential Revision: https://reviews.freebsd.org/D4954
* Set sc->clkfreq removed in r295470andrew2016-02-151-0/+2
| | | | | Reported by: Jared McNeill <jmcneill@invisible.ca> Pointy-hat to: andrew
* Remove an unused static inline function.andrew2016-02-151-11/+0
| | | | Sponsored by: ABT Systems Ltd
* Initial OMAP4 WUGEN pass-through driver. SPI interrupts are passedskra2016-02-152-0/+229
| | | | | | | through WUGEN to GIC. Hardware initialization is left in state after reset as well as before. This is needed after an update of Linux dts files.
* Add support for the Allwinner i2c device. This is similar to the existingandrew2016-02-156-4/+35
| | | | | | | | | | Marvell twsi part, however uses different register locations, as such split the existing driver into Marvell and Allwinner attachments. While here clean a few style issues. Submitted by: Emmanuel Vadot <manu@bidouilliste.com> Differential Revision: https://reviews.freebsd.org/D4846
* Move the twsi driver source to be under iicbus. It is in a separateandrew2016-02-142-645/+0
| | | | | | | directory as it is expected multiple attachments will be added for the SoC families that use this hardware. Sponsored by: ABT Systems Ltd
* Create the twsi device option in preparation to move the driver to a commonandrew2016-02-149-1/+11
| | | | | | location. The device is also found in Allwinner SoCs. Sponsored by: ABT Systems Ltd
* Remove an unused include.andrew2016-02-141-1/+0
|
* Stop adding an extra null terminator to strings, OF_getprop already returnsandrew2016-02-121-4/+2
| | | | a null terminated string.
* Enable ARM_INTRNG on all kernel configs where we use the Generic Interruptandrew2016-02-1111-2/+18
| | | | | | Controller. Sponsored by: ABT Systems Ltd
* Stop defining fdt_pic_table when building for ARM_INTRNG.andrew2016-02-1113-1/+26
|
* Remove unused Zedboard config files. files.zedboard was empty other thanandrew2016-02-113-18/+1
| | | | comments, and std.zedboard just pointed to files.zedboard and std.xilinx.
* Fix a logic inversion when checking for ARM_INTRNGandrew2016-02-101-1/+1
| | | | Pointy hat to: andrew
* Only use fdt_pic_table when not using ARM_INTRNGandrew2016-02-101-0/+2
|
* Use OF_getencprop to read a property, it already handles the endianandrew2016-02-101-4/+1
| | | | conversion so we don't need to pass the data through fdt32_to_cpu.
* Update of the Allwinner drivers to:andrew2016-02-1014-30/+163
| | | | | | | | | | | | | * Use the Linux compat string * Use EARLY_DRIVER_MODULE to attach at the right time * Add a generic A10 kernel config file * A20 now use generic_timer * Add two new dts files for Olimex boards * Update our custom DTS file for A10 and A20 to use the same compatible property names as the vendor ones. Submitted by: Emmanuel Vadot <manu@bidouilliste.com> Differential Revision: https://reviews.freebsd.org/D4792
* Break out the shared bits of the arm intrng definitions into sys/intr.h;adrian2016-02-101-87/+1
| | | | | | | | leave the machine dependent bits in sys/arm/. This is in preparation for MIPS INTRNG work. Submitted by: Stanislav Galabov <sgalabov@gmail.com>
* Include sys/_task.h into uma_int.h, so that taskqueue.h isn't aglebius2016-02-091-1/+0
| | | | | | requirement for uma_int.h. Suggested by: jhb
* Remove unneeded whitespace, and fix a license for a new file. Extractedandrew2016-02-091-6/+4
| | | | | | | from a larger patch. Submitted by: Emmanuel Vadot <manu@bidouilliste.com> X-Differential Revision: https://reviews.freebsd.org/D4792
* ARM: Use new ARMv6 naming conventions for cache and TLB functionsmmel2016-02-0522-50/+88
| | | | | | in all but ARMv4 specific files. Expand ARMv6 compatibility stubs in cpu-v4.h. Use physical address in L2 cache functions if ARM_L2_PIPT is defined.
* Follow up r295257 and replace bad reference to TEX in defines,skra2016-02-051-36/+37
| | | | | | | | variables and functions. This stuff is named properly now. Thus, the VM_MEMATTR_xxx is an index to PTE2 attribute table. Pointy hat to: skra
* Follow up r295257 and convert also pt_memattr. This did not breakskra2016-02-051-6/+7
| | | | | anything as both VM_MEMATTR_WB_WA and PTE2_ATTR_WB_WA are zero. Correct also type of pmap_dcache_wb_pou() last argument.
* ARM: Introduce new cpu-v4.h header and move all ARMv4 specific codemmel2016-02-059-66/+181
| | | | | from cpu-v6.h to it. Remove unneeded cpu-v6.h includes.
* Replace broken implementation of fuswintr() and suswintr() by functionsmmel2016-02-046-142/+6
| | | | | | | | | | | | | | | | which return -1 as well as on tier 1 archs. Remove block_userspace_access used only in these implementations. (1) These functions may be called in interrupt context and pcb_onfault can be already set in this time. Thus, prior pcb_onfault must be saved and restored afterwards. (2) The check that an abort came either from nested interrupt or while in critical section or holding not sleepable lock must be avoided for this case. These functions are called only for profiling reason, so there will be only small gain by making the code more complex.
* ARM: For ARMv6/v7, code in locore.S initializes SCTLR and ACTRL registers.mmel2016-02-041-112/+0
| | | | Don't duplicate this initialization in cpu_setup().
* Make VM_MEMATTR_xxx definitions independent on pmap internalsskra2016-02-043-54/+89
| | | | | | for __ARM_ARCH >= 6. It's TEX class number now, so it still has some meaning.
* ARM: Set UNAL_ENABLE bit in SCTLR CP15 register. This bit is RAO/SBOPmmel2016-02-041-2/+2
| | | | | for ARMv7. For ARMv6, it controls ARMv5 compatible alignment support. This bit have no effect until unaligned access is enabled.
* Small rearrangement of abort_handler().skra2016-02-041-19/+19
| | | | | | | | (1) Move cnt.v_trap increment to the beginning. There is cnt.v_vm_faults counter in vm_fault(), so a number of hardware emulation aborts may be get roughly as difference. (2) Move kdb_reenter() up to not be ignored if pmap_fault() has failed. (3) Update comments.
* ARM: RPI-B kernel was broken by r294740. Make it functional again.mmel2016-02-041-0/+2
|
* ARM: Don't use ugly (and hidden) global variable, control register ismmel2016-02-043-11/+3
| | | | readable at any time.
* Fix build.br2016-02-041-0/+1
|
* ARM: Remove unused symbols from genassym.c.mmel2016-02-041-14/+0
|
* ARM: Consistently use cpu_setttb() instead of setttb().mmel2016-02-037-16/+13
| | | | Remove unused #define for drain_writebuf.
* ARM: Replace only once used cpu_icache_sync_all() by ranged equivalent.mmel2016-02-039-50/+11
| | | | Remove it from cpu_functions table.
OpenPOWER on IntegriCloud