Changes dma-ranges in the pcie1 component of the bcm2712 dts in order to ensure that the DMA addressing space is 32bits, at the expense of having to bounce buffers.
Signed-off-by: Rodrigo Rosmaninho <r.rosmaninho@ua.pt>
pca953x.dtbo \
pcf857x.dtbo \
pcie-32bit-dma.dtbo \
+ pcie-32bit-dma-pi5.dtbo \
pibell.dtbo \
pifacedigital.dtbo \
pifi-40.dtbo \
Params: <None>
+Name: pcie-32bit-dma-pi5
+Info: Force PCIe config to support 32bit DMA addresses at the expense of
+ having to bounce buffers (on the Pi 5).
+Load: dtoverlay=pcie-32bit-dma-pi5
+Params: <None>
+
[ The pcf2127-rtc overlay has been deleted. See i2c-rtc. ]
pcie-32bit-dma {
bcm2711;
+ bcm2712 = "pcie-32bit-dma-pi5";
+ };
+
+ pcie-32bit-dma-pi5 {
+ bcm2712;
};
pi3-act-led {
--- /dev/null
+/*
+ * pcie-32bit-dma-pi5-overlay.dts
+ */
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2712";
+
+ fragment@0 {
+ target = <&pcie1>;
+ __overlay__ {
+ /*
+ * The size of the range is rounded up to a power of 2,
+ * so the range ends up being 0-4GB, and the MSI vector
+ * gets pushed beyond 4GB.
+ */
+ #address-cells = <3>;
+ #size-cells = <2>;
+ dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000
+ 0x0 0x80000000>;
+ };
+ };
+
+};