On 19.02.2024 08:44, Krzysztof Kozlowski wrote:
On 17/02/2024 20:02, Artur Weber wrote:
The stock bootloader on the Samsung Galaxy Tab 3 8.0 provides an
incorrect available memory range over ATAG_MEM. Limit the usable
memory in the DTS to prevent it from doing so, without having to
disable ATAG support.
Signed-off-by: Artur Weber <aweber.kernel@xxxxxxxxx>
---
arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi b/arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi
index e5254e32aa8f..9bc05961577d 100644
--- a/arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi
+++ b/arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi
@@ -45,6 +45,12 @@ chosen {
/* Default S-BOOT bootloader loads initramfs here */
linux,initrd-start = <0x42000000>;
linux,initrd-end = <0x42800000>;
+
+ /*
+ * Stock bootloader provides incorrect memory size in ATAG_MEM;
+ * override it here
+ */
+ linux,usable-memory-range = <0x40000000 0x3fc00000>;
Applied and dropped:
chosen: linux,usable-memory-range:0: [4611686019496935424] is too short
This seems to be a binding issue; the DT schema expects a 64-bit memory
address and size, and doesn't allow a 32-bit range. I've tested the DTS
on my device and this property seems to be handled fine, so I think this
should allow 32-bit values as well.
I've opened a PR[1] against devicetree-org/dt-schema (where the schema
for the chosen node is stored) to try and fix this. If my approach is
incorrect, feel free to comment there as well.
Best regards
Artur
[1] https://github.com/devicetree-org/dt-schema/pull/128
Does not look you tested the bindings.
Please observe that we have dedicated subsystem profile since a release:
https://www.kernel.org/doc/html/latest/process/maintainers.html#arm-samsung-s3c-s5p-and-exynos-arm-architectures
Best regards,
Krzysztof