mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-01-28 11:50:37 -07:00
Align Raspberry Pi DMA interrupts with Linux DTS
There is nothing in the specs on DMA engine interrupt lines: it should have
been in the "BCM2835 ARM Peripherals" datasheet but the appropriate
"ARM peripherals interrupt table" (p.113) is nearly empty.
All Raspberry Pi models 1-3 (based on bcm2835) have
Linux device tree (arch/arm/boot/dts/bcm2835-common.dtsi +25):
/* dma channel 11-14 share one irq */
This information is repeated in the driver code
(drivers/dma/bcm2835-dma.c +1344):
/*
* in case of channel >= 11
* use the 11th interrupt and that is shared
*/
In this patch channels 0--10 and 11--14 are handled separately.
Signed-off-by: Andrey Makarov <andrey.makarov@auriga.com>
Message-id: 20220716113210.349153-1-andrey.makarov@auriga.com
[PMM: fixed checkpatch nits]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
53ae2fdef1
commit
004c8a8bc5
4 changed files with 147 additions and 2 deletions
|
|
@ -17,6 +17,7 @@
|
|||
#include "hw/char/bcm2835_aux.h"
|
||||
#include "hw/display/bcm2835_fb.h"
|
||||
#include "hw/dma/bcm2835_dma.h"
|
||||
#include "hw/or-irq.h"
|
||||
#include "hw/intc/bcm2835_ic.h"
|
||||
#include "hw/misc/bcm2835_property.h"
|
||||
#include "hw/misc/bcm2835_rng.h"
|
||||
|
|
@ -55,6 +56,7 @@ struct BCM2835PeripheralState {
|
|||
BCM2835AuxState aux;
|
||||
BCM2835FBState fb;
|
||||
BCM2835DMAState dma;
|
||||
qemu_or_irq orgated_dma_irq;
|
||||
BCM2835ICState ic;
|
||||
BCM2835PropertyState property;
|
||||
BCM2835RngState rng;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue