Skip to content

Commit b21bcfc

Browse files
committed
ARM: dts: rockchip: reserve unusable memory region on rk3288
The all current Rockchip SoCs supporting 4GB of ram have problems accessing the memory region 0xfe000000~0xff000000. This also seems to includes the rk3368 arm64 soc. All current code handling dma memory oddities I could find, seem to involve soc-specific code (zone-dma or so) while this issue is shared between arm32 and arm64 socs from Rockchip, which would need to have this described in the soc devicetree on both socs. Limiting the dma-zone alone also does not solve the issue and as the dma-masks need to be a power-of-two in the kernel, the next lower dma-mask brings memory usable for dma down to 2GB. So as a stop-gap block off the affected region to prevent its use by devices with 4GB of memory, like some recent Chromebooks. Signed-off-by: Heiko Stuebner <[email protected]> Reviewed-by: Douglas Anderson <[email protected]>
1 parent 67867fc commit b21bcfc

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

arch/arm/boot/dts/rk3288.dtsi

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,26 @@
169169
};
170170
};
171171

172+
reserved-memory {
173+
#address-cells = <1>;
174+
#size-cells = <1>;
175+
ranges;
176+
177+
/*
178+
* The rk3288 cannot use the memory area above 0xfe000000
179+
* for dma operations for some reason. While there is
180+
* probably a better solution available somewhere, we
181+
* haven't found it yet and while devices with 2GB of ram
182+
* are not affected, this issue prevents 4GB from booting.
183+
* So to make these devices at least bootable, block
184+
* this area for the time being until the real solution
185+
* is found.
186+
*/
187+
dma-unusable@fe000000 {
188+
reg = <0xfe000000 0x1000000>;
189+
};
190+
};
191+
172192
xin24m: oscillator {
173193
compatible = "fixed-clock";
174194
clock-frequency = <24000000>;

0 commit comments

Comments
 (0)