Re: [PATCH 0/3] dt-bindings: dma: ti: k3* : Update optional reg regions

From: Vignesh Raghavendra
Date: Fri Aug 11 2023 - 12:05:03 EST


Hi Peter,

On 11/08/23 20:46, Péter Ujfalusi wrote:
> Vignesh,
>
> On 10/08/2023 20:43, Vignesh Raghavendra wrote:
>> DMAs on TI K3 SoCs have channel configuration registers region which are
>> usually hidden from Linux and configured via Device Manager Firmware
>> APIs. But certain early SWs like bootloader which run before Device
>> Manager is fully up would need to directly configure these registers and
>> thus require to be in DT description.
>>
>> This add bindings for such configuration regions.  Backward
>> compatibility is maintained to existing DT by only mandating existing
>> regions to be present and this new region as optional.
>
> These regions were 'hidden' from Linux or other open coded access for a
> reason.
> If I recall the main reason is security and the need to make sure that
> the allocation of the channels not been violated.
>
> IMho the boot loader should be no exception and it should be using the
> DM firmware to configure the DMAs.
>
> Or has the security concern been dropped and SW can do whatever it wants?

There is been a relook at the arch post this driver was upstreamed.
System firmware (SYSFW) is now two separate components: TI Foundational
Security (TIFS) running in a secure island and Device Management (DM)
firmware (runs on boot R5 core) [0] shows boot flow diagram for AM62x.

Security critical items such as PSIL pairing, channel firewalls and
credential configurations are under TIFS and is handled via TI SCI calls
at all times.

But, things related to resource configuration (to ensure different cores
dont step on each other) is under DM. Linux still needs to talk to DM
for configuring these regions. But, when primary bootloader (R5 SPL) is
running, there isn't a DM firmware (as it runs on the same core after R5
SPL), it would need to configure DMA resources on its own.

This update is mainly to aid R5 SPL to reuse kernel DT as is.
Hope that helps


[0] https://u-boot.readthedocs.io/en/latest/board/ti/am62x_sk.html?highlight=am62#boot-flow
(Similar boot flow for rest of K3 devices barring am65 and am64)

>
>>
>> Vignesh Raghavendra (3):
>>    dt-bindings: dma: ti: k3-bcdma: Describe cfg register regions
>>    dt-bindings: dma: ti: k3-pktdma: Describe cfg register regions
>>    dt-bindings: dma: ti: k3-udma: Describe cfg register regions
>>
>>   .../devicetree/bindings/dma/ti/k3-bcdma.yaml  | 25 +++++++++++++------
>>   .../devicetree/bindings/dma/ti/k3-pktdma.yaml | 18 ++++++++++---
>>   .../devicetree/bindings/dma/ti/k3-udma.yaml   | 14 ++++++++---
>>   3 files changed, 43 insertions(+), 14 deletions(-)
>>
>

--
Regards
Vignesh