[PATCH 2/2] rockchip: rk3399: enable spl-fifo-mode for sdmmc only when needed

Jerome Forissier jerome.forissier at linaro.org
Wed Jun 29 09:59:41 CEST 2022



On 6/29/22 05:01, Kever Yang wrote:
> 
> On 2022/6/9 23:23, Jerome Forissier wrote:
>> Commit 5c606ca35c42 ("rockchip: rk3399: enable spl-fifo-mode for sdmmc")
>> mentions that the RK3399 SoC can't do DMA between SDMMC and SRAM.
>> According to the TRM "7.3.2 Embedded SRAM access path" [1], only the
>> 8KB SRAM at 0xff3b0000 (INTMEM1) is in this situation. The 192KB SRAM
>> can be accessed by both DMA controllers.
>>
>> Assuming the only use case for writing from MMC to INTMEM1 is loading
>> a FIT image, and with the introduction of a temporary buffer for that
>> purpose (CONFIG_SPL_LOAD_FIT_IMAGE_BUFFER_SIZE, which is required
>> anyways to ensure the destination boundaries are enforced), then
>> spl-fifo-mode is not needed anymore and DMA can be enabled safely.
>>
>> Link: [1] https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf
>> CC: Deepak Das <deepakdas.linux at gmail.com>
>> Signed-off-by: Jerome Forissier <jerome.forissier at linaro.org>
> 
> Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks. I will post a v2 with the corrected conditional [#if (xxx == 0)].

-- 
Jerome
> 
> Thanks,
> 
> - Kever
> 
>> ---
>>   arch/arm/dts/rk3399-u-boot.dtsi | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
>> index 716b9a433a..a1b6d6f007 100644
>> --- a/arch/arm/dts/rk3399-u-boot.dtsi
>> +++ b/arch/arm/dts/rk3399-u-boot.dtsi
>> @@ -124,8 +124,10 @@
>>   &sdmmc {
>>       u-boot,dm-pre-reloc;
>>   +#ifndef CONFIG_SPL_LOAD_FIT_IMAGE_BUFFER_SIZE
>>       /* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
>>       u-boot,spl-fifo-mode;
>> +#endif
>>   };
>>     &spi1 {


More information about the U-Boot mailing list