summaryrefslogtreecommitdiffstats
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
* Update a comment that had drifted out of date with the last changes.ian2015-03-061-1/+1
|
* Fix style.br2015-03-061-4/+4
|
* Add sysctls to control PS-PL level shifters and FCLK settings.gonzo2015-03-053-10/+503
| | | | | | | | | | | | | | | PL (programmable logic) uses FCLK0..FCLK3 as a clock sources. Normally they're configured by first stage boot loader (FSBL) and normal user never has to touch them. These sysctls may come useful for hardware developers hw.fpga.fclk.N.source: clock source (IO, DDR, ARM) hw.fpga.fclk.N.freq: requested frequency in Hz hw.fpga.fclk.N.actual_freq: actual frequency in Hz (R/O) hw.fgpa.level_shifters: 0/1 to enable/disable PS-PL level shifters, normally they're enabled either by FSBL or after programming FPGA through devcfg(4)
* Add the MD parts of dtrace needed to use fbt on ARM. For this we need toandrew2015-03-053-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | emulate the instructions used in function entry and exit. For function entry ARM will use a push instruction to push up to 16 registers to the stack. While we don't expect all 16 to be used we need to handle any combination the compiler may generate, even if it doesn't make sense (e.g. pushing the program counter). On function return we will either have a pop or branch instruction. The former is similar to the push instruction, but with care to make sure we update the stack pointer and program counter correctly in the cases they are either in the list of registers or not. For branch we need to take the 24-bit offset, sign-extend it, and add that number of 4-byte words to the program counter. Care needs to be taken as, due to historical reasons, the address the branch is relative to is not the current instruction, but 8 bytes later. This allows us to use the following probes on ARM boards: dtrace -n 'fbt::malloc:entry { stack() }' and dtrace -n 'fbt::free:return { stack() }' Differential Revision: https://reviews.freebsd.org/D2007 Reviewed by: gnn, rpaulo Sponsored by: ABT Systems Ltd
* Add a "module" to build the dtb files for all supported imx6 systems.ian2015-03-021-0/+1
|
* Add quirk to disable 64-bit XHCI DMA after r276717.hselasky2015-03-021-1/+1
| | | | | Requested by: Gary Jennejohn <gljennjohn@gmail.com> MFC after: 3 days
* Revert r279338. The casts are apparently bogus, despite the fact thatian2015-03-021-17/+7
| | | | they've been working in i386 (where this change came from).
* Update Exynos5 XHCI attach code after r276717.hselasky2015-03-021-72/+52
| | | | MFC after: 3 days
* Remove SMP support from the Wandboard-Solo and have it run as part ofandrew2015-02-271-2/+2
| | | | | | universe as a config with sched_ule but without SMP. Sponsored by: The FreeBSD Foundation
* Add casting to make atomic ops work for pointers. (Apparently nobody hasian2015-02-261-7/+17
| | | | | | ever done atomic ops on pointers before now on arm). Submitted by: Svatopluk Kraus <onwahe@gmail.com>
* Fix a number of -Wcast-qual warnings under sys/arm. No functionaldim2015-02-264-7/+7
| | | | | | | change. Submitted by: andrew MFC after: 3 days
* In sys/arm/ti/am335x/am335x_rtc.c, fix a clang 3.6.0 warning aboutdim2015-02-261-1/+1
| | | | | | | am33x_rtc_softc::sc_irq_res (which is an array) never being NULL. Submitted by: andrew MFC after: 3 days
* Fix endianness on FDT read in ARM GICzbb2015-02-241-4/+4
| | | | | | Submitted by: Jakub Palider <jpa@semihalf.com> Reviewed by: ian, nwhitehorn Obtained from: Semihalf
* There is no reason to do i+dcache writeback and invalidate when changingian2015-02-231-4/+0
| | | | | | | | the translation table (this may be left over from armv5 days). It's especially bad to do so using a cache operation that isn't coherent on SMP systems. Submitted by: Michal Meloun
* Add support to the bcm2835 mailbox driver to work before interrupts areandrew2015-02-221-21/+50
| | | | | enabled. This will be needed to enable the power on devices early on in the boot process.
* Correct a comment which was exactly backwards from reality.ian2015-02-211-2/+2
|
* Allow the ARM unwinder to work through modules. This will be used to addandrew2015-02-193-7/+58
| | | | | | | support for unwinding from dtrace. Tested by: gnn (with dtrace) Sponsored by: ABT Systems Ltd
* Make use of the newly introduced macros.loos2015-02-171-33/+19
| | | | Update the copyright.
* Pull the ARM ddb unwind code out to a new file. This will allow it to beandrew2015-02-173-333/+394
| | | | | | | | | | | used by other places that expect to unwind the stack, e.g. dtrace and stack(9). As I have written most of this code I'm changing the license to the standard FreeBSD license. I have received approval from the other developers who have changed any of the affected code. Approved by: ian, imp, rpaulo, eadler (all license change)
* Add a mask to match only the relative base address of BSC controllers.loos2015-02-162-3/+4
| | | | This should fix the attach of BSC on RPI2 (based on andrew@ dmesg).
* Add the structures needed to get/set the power state. These can be usedandrew2015-02-151-0/+47
| | | | | | | when, for example, we boot without U-Boot and wish to enable USB, or to suspend an unneeded device. MFC after: 1 week
* Add logic for handling new-style ARM cpu ID info.ian2015-02-141-2/+6
| | | | Submitted by: Michal Meloun <meloun@miracle.cz>
* Remove the non-EABI code from the DDB stack unwinder, we only support theandrew2015-02-111-139/+0
| | | | ARM EABI now.
* The cpu_id macro was renamed in r278529, catch up with this new name.andrew2015-02-111-1/+1
|
* Initial version of DTrace on ARM32.gnn2015-02-105-2/+33
| | | | | Submitted by: Howard Su based on work by Oleksandr Tymoshenko Reviewed by: ian, andrew, rpaulo, markj
* Resolve cache line size from CP15zbb2015-02-104-11/+41
| | | | | | | | | Switch the cache line size during invalidations/flushes to be read from CP15 cache type register. Submitted by: Wojciech Macek <wma@semihalf.com> Reviewed by: ian, imp Obtained from: Semihalf
* Add VideoCore audio driver for Rasperry Pi (BCM2835)gonzo2015-02-084-0/+1068
|
* Make VCHI driver optional and add "device vchiq" to default RPI-B configgonzo2015-02-072-9/+11
|
* Pull in the rpi.dts -> rpi.dtb module (dtb/rpi) and have it installimp2015-02-071-1/+2
| | | | rpi.dtb in /boot/dtb by default.
* Import VCHI driver for Broadcom's VideoCore IV GPUgonzo2015-02-051-0/+20
| | | | Differential Revision: D1753
* Fix a bug where an interrupt could be masked unintentionally whenloos2015-02-041-1/+1
| | | | | | | bus_config_intr() is called with the same interrupt type and polarity that is already set. Pointy hat: loos
* Add GPIO interrupt support for BCM2835 (Raspberry pi).loos2015-02-041-21/+293
| | | | | | | | With this commit any of the GPIO pins can now be programmed to act as an interrupt source for GPIO devices (i.e. limited to devices directly attached to gpiobus - at least for now). Differential Revision: https://reviews.freebsd.org/D1000
* Sort and remove unnecessary includes.loos2015-02-041-11/+3
|
* Remove stale comments about the issues with HS mode.loos2015-02-041-18/+0
| | | | | Remove a previous workaround to limit the minimum sdhci frequency that isn't needed anymore.
* Remove some duplicate calls to bus_release_resource() and destroy the mutexloos2015-02-041-20/+2
| | | | | | on error cases. While here remove unnecessary includes.
* am335x_clk_pruss_activate(): use the L3F clock.rpaulo2015-02-021-7/+7
| | | | | | | | The DISP DPLL clock is slower and was making the PRU programs slower on FreeBSD than on Linux. Submitted by: Manuel Stuehn <freebsdnewbie at freenet.de> MFC after: 1 week
* Remove a stale comment. The logic that deleted the map before otherian2015-02-011-2/+0
| | | | resources was removed long ago, but the comment stuck somehow.
* Do not qualify the mcontext_t *mcp argument for set_mcontext(9) askib2015-01-311-1/+1
| | | | | | | | | | | | | | | | const. On x86, even after the machine context is supposedly read into the struct ucontext, lazy FPU state save code might only mark the FPU data as hardware-owned. Later, set_fpcontext() needs to fetch the state from hardware, modifying the *mcp. The set_mcontext(9) is called from sigreturn(2) and setcontext(2) implementations and old create_thread(2) interface, which throw the *mcp out after the set_mcontext() call. Reported by: dim Discussed with: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week
* Stop using load-multiple with lr and pc. This has been deprecated in ARMv7andrew2015-01-311-1/+6
| | | | | and clang 3.6 warns about it. As this is used in libc and we build it with -Werror this warning becomes an error stopping the build.
* Implement GPIO_GET_BUS() method for all GPIO drivers.loos2015-01-3113-54/+231
| | | | | Add helper routines to deal with attach and detach of gpiobus and gpioc devices that are common to all drivers.
* Clean up and fix the device detach routine and the failure path on GPIOloos2015-01-317-37/+49
| | | | | | drivers. This paves the way for upcoming work.
* ti_pruss: make sure the mmap'ed memory region is uncacheable.rpaulo2015-01-311-0/+1
| | | | MFC after: 1 week
* The BCM2835 GPIO controller uses has interrupt lines and not only one.loos2015-01-301-29/+23
| | | | | | | | | Allocate all four, we will use them soon. Simplificate the allocation of memory and interrupt resources with a single bus_alloc_resources() call instead of doing them separately. Destroy the mutex in case of errors.
* Allow the retrieving of the reserved pins state.loos2015-01-301-76/+62
| | | | | | | | | | | | | With this change, it is now possible to verify the pin function and level of reserved pins (but not set them). The use of reserved pins on Raspberry pi can lead to short circuits and real damage to the SoC. While here, remove duplicated code, make use of OF_getencprop_alloc() instead of using fixed sized variables and reduce the dmesg spam by printing reserved pin ranges (when possible) instead of printing each pin in the range.
* Rename the avila, cambria and zynq GPIO driver names to match the expectedloos2015-01-293-16/+3
| | | | | | | | | | string. With this change it is not necessary redeclare the driver relations with gpiobus and gpioc. This also prevents redundant declarations when gpiobusvar.h is included (which is going to happen soon).
* Set LCDC clock frequency to 2*148500 KHzgonzo2015-01-291-3/+3
| | | | | | Minimum LCDC is 2 so clock freq shouild be 2*max_pixel_clock. Maximum pixel clock for HDMI is 148500 (1920x1080). But AM335x can not run in this mode due to bandwidth and clock limitations
* Add ARMv7 performance monitoring counters.br2015-01-283-0/+14
| | | | | | Differential Revision: https://reviews.freebsd.org/D1687 Reviewed by: rpaulo Sponsored by: DARPA, AFRL
* Add a generic way for hooking PMC interrupt.br2015-01-261-0/+157
|
* Ensure that _tmppt KVA is used exclusively by providing exclusive sxkib2015-01-261-0/+6
| | | | | | | | | | | lock around the mapping and uiomove(). Before r277643, it was partially protected by Giant (but potential sleeping in fault from uiomove() would still allow other thread to reuse the mapping). Noted by: ian Reviewed by: alc, ian Sponsored by: The FreeBSD Foundation MFC after: 3 weeks
* - Increase default i2c bus timeout to 5 seconds from 1 second. Sometimesgonzo2015-01-251-5/+39
| | | | | | | 1 second is not enugh for TDA19988 HDMI framer (e.g. on Beaglebone Black) - Add per-device i2c_timout sysctl (dev.iichb.X.i2c_timeout) to control I2C bus timeout manually - Pass softc instead of device_t to all sysctl handlers
OpenPOWER on IntegriCloud