Re: [PATCH] ARM: dts: exynos4212-tab3: limit usable memory range

From: Krzysztof Kozlowski
Date: Wed Feb 21 2024 - 03:26:47 EST


On 19/02/2024 20:49, Artur Weber wrote:
> 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.

Regardless where is the issue: please test before sending.

>
> 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.


According to Rob's comments, the DTS is the issue.

Best regards,
Krzysztof