STM32MP1: Adding TF-A causes kernel errors

Marek Vasut marex at denx.de
Wed Sep 30 12:03:06 CEST 2020


On 9/30/20 11:51 AM, Jan Kiszka wrote:
> [BCC'ed TF-A only, migrating to u-boot, including folks involved there]
> 
> On 30.09.20 11:20, Yann GAUTIER wrote:
>> Hi Jan,
>>
>> After discussing with my colleagues, it seems there are 2 issues there.
>> One patch is missing in U-Boot:
>> http://patchwork.ozlabs.org/project/uboot/patch/20200605092244.1.I773bf523d9f4d1a6212483d030e34113b832a779@changeid/
>>
> 
> I can confirm that this resolves the errors I've seen.
> 
> Will that patch still hit 2020.10?

Is that patch a bugfix or a feature ? OpTee seems like a feature.
Since it has no Fixes: tag, it seems like a feature?

>> And it shows an issue in kernel, with GPU and CMA regions.
>> A correction in kernel should also be done:
>>
>> diff --git a/arch/arm/boot/dts/stm32mp157c-ed1.dts
>> b/arch/arm/boot/dts/stm32mp157c-ed1.dts
>> index ca109dc18..685dd61c0 100644
>> --- a/arch/arm/boot/dts/stm32mp157c-ed1.dts
>> +++ b/arch/arm/boot/dts/stm32mp157c-ed1.dts
>> @@ -66,8 +66,8 @@
>>   			no-map;
>>   		};
>>
>> -		gpu_reserved: gpu at e8000000 {
>> -			reg = <0xe8000000 0x8000000>;
>> +		gpu_reserved: gpu at f6000000 {
>> +			reg = <0xf6000000 0x8000000>;
>>   			no-map;
>>   		};
>>   	};
>>

Why do you even need reserved memory for GPU ? Etnaviv to my knowledge
doesn't use this ?

> There might be more issues:
> 
> [    3.428914] stm32_rtc 5c004000.rtc: IRQ index 1 not found
> [    3.432892] stm32_rtc 5c004000.rtc: alarm can't wake up the system: -6
> [    3.440290] stm32_rtc 5c004000.rtc: registered as rtc0
> [    3.444560] stm32_rtc 5c004000.rtc: setting system clock to 2000-01-01T00:00:07 UTC (946684807)
> [    3.453530] stm32_rtc 5c004000.rtc: Date/Time must be initialized
> [    3.459333] stm32_rtc 5c004000.rtc: registered rev:1.2
> [    3.465993] i2c /dev entries driver
> [    3.490226] stm32f7-i2c 40013000.i2c: can't request DMA tx channel
> [    3.494951] stm32f7-i2c 40013000.i2c: can't use DMA
> [    3.504213] stm32f7-i2c 40013000.i2c: STM32F7 I2C-0 bus adapter
> [    3.529032] stm32f7-i2c 40015000.i2c: can't request DMA tx channel
> [    3.533779] stm32f7-i2c 40015000.i2c: can't use DMA
> [    3.539356] stm32f7-i2c 40015000.i2c: STM32F7 I2C-1 bus adapter
> [    3.567561] stm32f7-i2c 5c002000.i2c: can't request DMA tx channel
> [    3.572312] stm32f7-i2c 5c002000.i2c: can't use DMA
> 
> But those would be a kernel topic, I suppose.

Which kernel version is that ?

Mainline on MP1 works just fine, with etnaviv too.
Note that the DMA warnings might be bogus if you don't enable DMA for
i2c in DT, which is often the case, as i2c doesn't really need DMA and
would only waste the DMA channels.

[...]


More information about the U-Boot mailing list