Skip to content

Commit c9d3b29

Browse files
committed
dts: bcm2712-rpi: Give PIO the "heavy" DMA channels
PIO benefits from increased DMA bandwidth when used with DMA channels 0 or 1, because they support longer bursts. Add DMA channel selection attributes to prevent other users from claiming them. Signed-off-by: Phil Elwell <[email protected]>
1 parent 865d564 commit c9d3b29

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
#include <dt-bindings/power/raspberrypi-power.h>
44

5+
#define DMA_SEL_WANTHEAVY (1 << 8)
6+
#define DMA_SEL_ONLYHEAVY (1 << 9)
7+
58
&soc {
69
firmware: firmware {
710
compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
@@ -91,7 +94,21 @@
9194
};
9295
};
9396

97+
&rp1_dma {
98+
snps,sel-require = <DMA_SEL_WANTHEAVY DMA_SEL_WANTHEAVY 0 0 0 0 0 0>;
99+
snps,sel-preclude = <0 0 DMA_SEL_ONLYHEAVY DMA_SEL_ONLYHEAVY DMA_SEL_ONLYHEAVY
100+
DMA_SEL_ONLYHEAVY DMA_SEL_ONLYHEAVY DMA_SEL_ONLYHEAVY>;
101+
};
102+
94103
pio: &rp1_pio {
104+
dmas = <&rp1_dma (RP1_DMA_PIO_CH0_TX | DMA_SEL_WANTHEAVY)>,
105+
<&rp1_dma (RP1_DMA_PIO_CH0_RX | DMA_SEL_WANTHEAVY)>,
106+
<&rp1_dma (RP1_DMA_PIO_CH1_TX | DMA_SEL_WANTHEAVY)>,
107+
<&rp1_dma (RP1_DMA_PIO_CH1_RX | DMA_SEL_WANTHEAVY)>,
108+
<&rp1_dma (RP1_DMA_PIO_CH2_TX | DMA_SEL_WANTHEAVY)>,
109+
<&rp1_dma (RP1_DMA_PIO_CH2_RX | DMA_SEL_WANTHEAVY)>,
110+
<&rp1_dma (RP1_DMA_PIO_CH3_TX | DMA_SEL_WANTHEAVY)>,
111+
<&rp1_dma (RP1_DMA_PIO_CH3_RX | DMA_SEL_WANTHEAVY)>;
95112
status = "okay";
96113
};
97114

0 commit comments

Comments
 (0)