summaryrefslogtreecommitdiffstats
path: root/sys/arm/broadcom
Commit message (Collapse)AuthorAgeFilesLines
* Fix DELAY() on RPi, the wrong math was making it take twice it should.loos2013-09-231-1/+1
| | | | | | Reported by: Alexander <sht@ropnet.ru> Approved by: adrian (mentor) Approved by: re (gjb)
* Export a function to allow BCM2835's peripheral devices to enable theirloos2013-09-072-29/+75
| | | | | | altenate pin function (from GPIO pins) as needed. Approved by: adrian (mentor)
* Fix an off-by-one bug in ar71xx_gpio and bcm2835_gpio which makes the lastloos2013-09-061-1/+1
| | | | | | | | pin unavailable. Reported and tested by: sbruno (ar71xx) Approved by: adrian (mentor) Pointy hat to: loos
* Move the Raspberry Pi low level options out of the kernel config and intorpaulo2013-07-152-0/+19
| | | | | | std.rpi + std.bcm2835. Reviewed by: imp
* Convert bcm2835_mbox to the new mbox interface.rpaulo2013-07-074-55/+63
| | | | Reviewed by: gonzo
* The mbox driver is actually MP safe, so set the right flag inrpaulo2013-07-011-5/+3
| | | | bus_setup_intr().
* Disable debugging.rpaulo2013-07-011-2/+0
|
* Correct a few sizeof()seadler2013-05-011-1/+1
| | | | | Submitted by: swildner@DragonFlyBSD.org Reviewed by: alfred
* Fix undefined behaviour in several gpio_pin_setflags() routines (underdim2013-04-131-2/+2
| | | | | | | | | sys/arm and sys/mips), squelching the clang 3.3 warnings about this. Noticed by: tinderbox and many irate spectators Submitted by: Luiz Otavio O Souza <loos.br@gmail.com> PR: kern/177759 MFC after: 3 days
* Minimal timer period of 100us introduced in r244758 is overkill. Whilemav2013-03-211-4/+11
| | | | | | | | | | | original 2us are indeed not enough, 3us are working quite well on my tests. To be more safe set minimal period to 5us and to be even more safe replicate here from HPET mechanism of rereading counter after programming comparator. This change allows to handle 30K of short nanosleep() calls per second on Raspberry Pi instead of just 8K before. Discussed with: gonzo
* Eliminate an intermediate buffer and some memcpy() operations, and doian2013-03-171-67/+43
| | | | | | DMA directly to/from the buffers passed in from higher layer drivers. Reviewed by: gonzo
* Add a macro that gets the physical address of a memory mapped deviceian2013-03-171-4/+2
| | | | | | | | | | | register from a bus space resource. Note that this macro is just for ARM, and is intended to have a short lifespan. The DMA engines in some SoCs need the physical address of a memory-mapped device register as one of the arguments for the transfer. Several scattered ad-hoc solutions have been converted to use this macro, which now also serves to mark the places where a more complete fix needs to be applied (after that fix has been designed).
* - Reset DMA channel if error occuredgonzo2013-03-051-0/+2
| | | | | | - Initialize info field in bcm_dma_reset Submitted by: Daisuke Aoyama <aoyama@peach.ne.jp>
* Add platform DMA support to SDHCI driver for BCM2835gonzo2013-02-281-4/+300
| | | | | Submitted by: Daisuke Aoyama <aoyama at peach.ne.jp> Reviewed by: ian@
* Add driver for BCM2835's DMA enginegonzo2013-02-283-0/+790
| | | | | This is a version of code submitted by Daisuke Aoyama <aoyama at peach.ne.jp> with some architectural changes.
* MFcalloutng:mav2013-02-281-12/+7
| | | | | | | 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.
* Add macroses to properly map IO peripherals memory window fromgonzo2013-02-231-0/+14
| | | | ARM physical memory address space to VideoCore address space
* Spelling fixesgonzo2013-02-191-2/+2
| | | | Spotted by: N. J. Mann
* Roll back change of frequency for initialization sequence since itgonzo2013-02-191-7/+6
| | | | | | seems to cause more problems then previous behavior: it either breaks initilization sequence in other places or uncovers problems with high-speed mode timing for SDHCI 3.0
* - Add hw.bcm2835.sdhci.hs tunable to enable/disable highspeed mode ingonzo2013-02-171-1/+23
| | | | | | | | | | | | | | | | | SDHCI driver Suggested by: Daisuke Aoyama - Set initilization sequence frequency to 8MHz. It should fix Data CRC errors. Standard requires initialization sequence to be executed at 400KHz but on this hardware low frequncies seems to cause Data CRC errors. Value was derived from analyzing hardware signals after Raspberry Pi is powered up. Before any data is read though DATA line adapter's clock frequency is changed to 8MHz. Modern cards should function fine at 8MHz but for older MMC cards it can be overriden by setting hw.bcm2835.sdhci.min_freq tunable.
* Enable syscons framebuffer support for bcm2835. It makes possible to run Xorgray2013-01-131-1/+24
| | | | | | | | | | on Raspberry Pi. o convert mmap address to physical. o add FBIOGTYPE ioctl handler - allow to get screen resolution by new xf86-video-scfb driver. Originally designed for "Efika MX" project. Sponsored by: FreeBSD Foundation
* Remove accidentally copypasted commentgonzo2013-01-131-5/+0
| | | | Spotted by: gavin
* Export board serial and board revision obtained from FDT blobgonzo2013-01-051-0/+19
|
* Fix background color calculationgonzo2013-01-051-1/+1
| | | | Spotted by: ray@
* Add makeshift implementation for framebuffer console's cursorgonzo2012-12-281-2/+139
| | | | | | Basically it's replica of VersatilePB code which is replica of XBox FB code. All of them are linear framebuffers and should have common bits moved to reusable framework.
* Fix event timer on Raspberry Pigonzo2012-12-281-2/+16
| | | | | | | | | | | | | | - Disable interrupt when updating compare value in order to make this operation atomical - Increase minimum period for event timer. Systimer on BCM2835 is compare timer, so if minimum period is too small it might be less then fraction of time between "read current value" and "set compare timer" operations. It means that when timer is armed actual counter value is more then compare value and it will take whole cycle (~32sec for 1MHz timer) to fire interrupt. Submitted by: Daisuke Aoyama <aoyama at peach.ne.jp>
* Replace generic ARM11 option with more specificgonzo2012-12-201-0/+1
| | | | | | | support for ARM1136 and ARM1176 Submitted by: Daisuke Aoyama <aoyama at peach.ne.jp> Obtained from: NetBSD
* Add sysctls for changing GPIO pins functiongonzo2012-12-181-26/+163
| | | | Submitted by: Luiz Otavio O Souza
* Get frequency from "clock-frequency" property of "/axi/sdhci" FDT nodegonzo2012-11-301-1/+14
|
* Fix RGB565 casegonzo2012-11-301-4/+4
|
* Fix hardcoded bpp valuegonzo2012-11-291-1/+1
|
* Fix spelling.kientzle2012-11-251-1/+1
|
* Add Raspberry Pi GPIO drivergonzo2012-11-232-0/+657
| | | | Submitted by: Luiz Otavio O Souza
* Multiple fixes for BCM2835 framebuffergonzo2012-11-231-31/+149
| | | | | | - Get resolution settings from FDT blob - Properly handle 24 and 16 bits per pixel - Add colors support for text console
* Merge the FDT versions of initarm.andrew2012-11-031-498/+8
| | | | | | | | | 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
|
* Add BCM2835 SDHCI driver and enable it in Raspberry Pi configgonzo2012-10-292-0/+365
|
* remove duplicate semicolons where possible.eadler2012-10-221-2/+2
| | | | | Approved by: cperciva MFC after: 1 week
* Clean up the bcm2835 initarm. It is now identical to the other ARMv6 copiesandrew2012-09-231-10/+8
| | | | Tested by: Alexander Yerenkow
* Fix a typo in a Broadcom initarm debug printfandrew2012-09-231-1/+1
|
* Pull out the SoC specific parts of initarm into separate functionsandrew2012-09-231-1/+22
|
* 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-3/+3
| | | | This only touches whitespace and comments.
* Create a common set_stackptrs in sys/arm/machdep.c.andrew2012-09-221-19/+0
| | | | | | | 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.
* Add device entry for DWC OTG.hselasky2012-09-111-0/+1
|
* Add support for DWC OTG.hselasky2012-09-091-0/+211
|
* Add barebone Raspberry Pi port. Supported parts:gonzo2012-08-3012-0/+2569
- Interrupts controller - Watchdog - System timer - Framebuffer (hardcoded resolution/bpp)
OpenPOWER on IntegriCloud