[PATCH v4 01/11] rockchip: sdram: Support getting banks from TPL for rk3568 and rk3588

Quentin Schulz quentin.schulz at theobroma-systems.com
Fri Apr 26 11:50:12 CEST 2024


Hi Kever,

On 4/26/24 09:41, Kever Yang wrote:
> Hi Quentin,
> 
> On 2024/4/25 18:46, Quentin Schulz wrote:
>> From: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>>
>> Allow RK3568 and RK3588 based boards to get the RAM bank configuration
>> from the ROCKCHIP_TPL stage instead of the current logic. This fixes
>> both an issue where 256MB of RAM is blocked for devices with >= 4GB
>> of RAM and where memory holes need to be defined for devices with
>> more than 16GB of RAM. In the event that neither SoC is used or the
>> ROCKCHIP_TPL stage is not used, fall back to existing logic.
>>
>> The logic handles creating memory holes from reserved memory areas
>> defined in mem_map data struct in SoC C files, but only if the DRAM area
>> overlaps with one reserved memory area.
>>
>> Since mem_map data struct is used, it should be rather straightforward
>> to add support for other SoCs if needed.
>>
>> The logic is taken from Rockchip's U-Boot tag linux-5.10-gen-rkr4.1
>> (e08e32143dd).
>>
>> Note that Rockchip's U-Boot/TF-A/OP-TEE modify the ATAGS at runtime as
>> well, but the DDR_MEM tag seems to be pretty much stable (though BL31
>> seems to be reserving only 1MB for itself at the moment).
>>
>> u32 for ATAGS is used because it simplifies the pointer arithmetic and
>> it's expected that ATAGS are always below the 4GB limit allowed by u32.
>>
>> Co-developed-by: Chris Morgan <macromorgan at hotmail.com>
>> Signed-off-by: Chris Morgan <macromorgan at hotmail.com>
>> Signed-off-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
> 
> This breaks rv1126 build which is non ARM64 platform, I can fix it and 
> apply it directly.
> 

Thanks!

Cheers,
Quentin


More information about the U-Boot mailing list