freebsd-dev/sys/arm/broadcom/bcm2835
Kyle Evans 40084ac37f bcm2835: push address mapping conversion for DMA/mailbox to runtime
We could maintain the static conversions for the !AArch64 Raspberry Pis, but
I'm not sure it's worth it -- we'll traverse the platform list exactly once
(of which there are only two for armv7), then every conversion there-after
traverses the memory map listing of which there are at-most two entries for
these boards: sdram and peripheral space.

Detecting this at runtime is necessary for the AArch64 SOC, though, because
of the distinct IO windows being otherwise not discernible just from support
compiled into the kernel. We currently select the correct window based on
/compatible in the FDT.

We also use a similar mechanism to describe the DMA restrictions- the RPi 4
can have up to 4GB of RAM while the DMA controller and mailbox mechanism can
technically, kind of, only access the lowest 1GB. See the comment in
bcm2835_vcbus.h for a fun description/clarification of this.

Differential Revision:	https://reviews.freebsd.org/D22301
2019-11-20 03:57:46 +00:00
..
bcm283x_dwc_fdt.c Switch to mainstream DTS for Raspberry Pi-B and Pi-2. 2018-02-27 15:01:17 +00:00
bcm2835_audio.c [rpi] Fix bcm2835_audio locking and samples starvation 2016-12-27 19:08:08 +00:00
bcm2835_bsc.c [rpi] Add fdt_pinctrl(4) support to Raspberry Pi GPIO driver 2018-04-08 00:56:19 +00:00
bcm2835_bscreg.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
bcm2835_bscvar.h [rpi] Add fdt_pinctrl(4) support to Raspberry Pi GPIO driver 2018-04-08 00:56:19 +00:00
bcm2835_clkman.c Add skeleton manual page for bcm283x_pwm 2018-01-22 07:43:54 +00:00
bcm2835_clkman.h Add a skeleton Clock Manager for RPi2/3, and use that from pwm 2018-01-22 07:10:30 +00:00
bcm2835_cpufreq.c Fix cpufreq(4) on RPI-B 2019-04-16 09:42:42 +00:00
bcm2835_dma.c bcm2835: push address mapping conversion for DMA/mailbox to runtime 2019-11-20 03:57:46 +00:00
bcm2835_dma.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
bcm2835_fb.c [ofw] fix errneous checks for OF_finddevice(9) return value 2018-03-20 00:03:49 +00:00
bcm2835_fbd.c [rpi] Inherit framebuffer BPP value from the VideoCore firmware 2019-09-08 09:47:21 +00:00
bcm2835_ft5406.c bcm2835: push address mapping conversion for DMA/mailbox to runtime 2019-11-20 03:57:46 +00:00
bcm2835_gpio.c Align OF_getencprop_alloc API with OF_getencprop and OF_getprop_alloc 2018-04-09 22:06:16 +00:00
bcm2835_intr.c Move the reporting of spurious interrupts under bootverbose control, because 2019-04-21 17:39:01 +00:00
bcm2835_machdep.c [rpi] Fix compatiblity with upstream DTB for RPi 3B and 3B+ 2018-06-24 23:19:31 +00:00
bcm2835_mbox_prop.h bcm2835: commit missing constant from r354560 2019-11-08 20:53:56 +00:00
bcm2835_mbox.c bcm2835: push address mapping conversion for DMA/mailbox to runtime 2019-11-20 03:57:46 +00:00
bcm2835_mbox.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
bcm2835_pwm.c [rpi] Add support for the second PWM channel 2018-07-02 01:30:33 +00:00
bcm2835_rng.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
bcm2835_sdhci.c bcm2835: push address mapping conversion for DMA/mailbox to runtime 2019-11-20 03:57:46 +00:00
bcm2835_sdhost.c A bit of code hygiene (no functional changes). 2019-06-10 23:25:40 +00:00
bcm2835_spi.c Retrieve the bus clock speed and mode (polarity/phase) from the child device 2018-06-23 23:44:36 +00:00
bcm2835_spireg.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
bcm2835_spivar.h [rpi] Add fdt_pinctrl(4) support to Raspberry Pi GPIO driver 2018-04-08 00:56:19 +00:00
bcm2835_systimer.c Switch to mainstream DTS for Raspberry Pi-B and Pi-2. 2018-02-27 15:01:17 +00:00
bcm2835_vcbus.c bcm2835: push address mapping conversion for DMA/mailbox to runtime 2019-11-20 03:57:46 +00:00
bcm2835_vcbus.h bcm2835: push address mapping conversion for DMA/mailbox to runtime 2019-11-20 03:57:46 +00:00
bcm2835_vcio.c
bcm2835_wdog.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
bcm2835_wdog.h sys/arm: further adoption of SPDX licensing ID tags. 2017-11-27 15:04:10 +00:00
bcm2836_mp.c Change leading spaces to tabs, no functional change. 2017-09-02 19:22:16 +00:00
bcm2836_mp.h
bcm2836.c bcm_lintc: don't attach if "interrupt-controller" is missing 2019-11-07 21:31:15 +00:00
files.bcm283x bcm2835: push address mapping conversion for DMA/mailbox to runtime 2019-11-20 03:57:46 +00:00
files.bcm2835
files.bcm2836
std.bcm2835
std.bcm2836 Remove IPI_IRQ_START and IPI_IRQ_END from the arm kernel config files. 2018-07-28 06:46:10 +00:00
std.rpi Make kernel option KERNVIRTADDR optional, remove it from std.<platform> 2017-12-30 00:20:49 +00:00
vc_vchi_audioserv_defs.h