Thread (16 messages) 16 messages, 5 authors, 2020-08-24

RE: [PATCH v2 1/4] dt-bindings: remoteproc: Add bindings for R5F subsystem on TI K3 SoCs

From: Ben Levinsky <hidden>
Date: 2020-08-24 20:42:10
Also in: linux-devicetree, linux-remoteproc, lkml

-----Original Message-----
From: Suman Anna <redacted>
Sent: Thursday, August 20, 2020 2:54 PM
To: Stefano Stabellini <redacted>; Mathieu Poirier
[off-list ref]; Rob Herring [off-list ref]; Stefano
Stabellini [off-list ref]; Ben Levinsky [off-list ref]
Cc: Bjorn Andersson <redacted>; Lokesh Vutla
[off-list ref]; linux-remoteproc@vger.kernel.org;
devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-
kernel@vger.kernel.org; Tomas Evensen [off-list ref]
Subject: Re: [PATCH v2 1/4] dt-bindings: remoteproc: Add bindings for R5F
subsystem on TI K3 SoCs

Hi Rob,

On 8/10/20 11:52 AM, Suman Anna wrote:
quoted
Hi Rob,

On 7/27/20 5:39 PM, Suman Anna wrote:
quoted
Hi Rob,

On 7/16/20 2:43 PM, Stefano Stabellini wrote:
quoted
On Thu, 16 Jul 2020, Mathieu Poirier wrote:
quoted
Hi Rob,

On Tue, Jul 14, 2020 at 11:15:53AM -0600, Rob Herring wrote:
quoted
On Mon, Jun 29, 2020 at 09:49:19PM -0500, Suman Anna wrote:
quoted
The Texas Instruments K3 family of SoCs have one or more dual-core
Arm Cortex R5F processor subsystems/clusters (R5FSS). The clusters
can be split between multiple voltage domains as well. Add the device
tree bindings document for these R5F subsystem devices. These R5F
processors do not have an MMU, and so require fixed memory
carveout
quoted
quoted
quoted
quoted
quoted
quoted
regions matching the firmware image addresses. The nodes require
more
quoted
quoted
quoted
quoted
quoted
quoted
than one memory region, with the first memory region used for DMA
allocations at runtime. The remaining memory regions are reserved
and are used for the loading and running of the R5F remote
processors.
quoted
quoted
quoted
quoted
quoted
quoted
The R5F processors can also optionally use any internal on-chip SRAM
memories either for executing code or using it as fast-access data.

The added example illustrates the DT nodes for the single R5FSS
device
quoted
quoted
quoted
quoted
quoted
quoted
present on K3 AM65x family of SoCs.

Signed-off-by: Suman Anna <redacted>
---
v2:
  - Renamed "lockstep-mode" property to "ti,cluster-mode"
I don't think that's a move in the right direction given this is at
least partially a standard feature.

As I said before, I'm very hesistant to accept anything here given I
know the desires and activity to define 'system Devicetrees' of which
TI is participating. While maybe an rproc node is sufficient for a
DSP, it seems multiple vendors have R cores and want to define them
in
quoted
quoted
quoted
quoted
quoted
system DT.
Ping on this discussion. TI is participating on the System DT evolution in
general, but we don't have any plans to use DTS on our remote cores. We
have our own auto-generated Chip-Support-Library (CSL) code that gets used
on our firmwares.
quoted
quoted
Also, most of the properties I defined are rather standard properties. I
have posted a revised v3 [1] after the common ti,sci properties refactoring.
This series is only waiting on the bindings. I am happy to change any ti,
prefixed properties. I had one open question [2] that I am waiting for a
response from you for identifying the R5F Core.
quoted
Ping on this.
Any comments on this? This discussion is what's holding up this series from
getting merged.

Also, FWIW, I spent a bit of time looking at the R5s (called RPU) in the Xilinx
ZynqMP, and the integration aspects are very different between the TI and
Xilinx
SoCs, so I do not think even a single binding is possible between the two
SoCs.
A few of them to cite:

1. TI SoCs require the power/resets to be released for both the Cores in
LockStep-mode, while it was enough to just release the Core0 resets on
ZynqMP.
So, our binding requires that both CPUs be defined for sure as the reset
controls are defined per core, while you don't see them on the RPU.

2. There are specific core reset sequences on TI SoCs in LockStep and
Split-modes on TI SoCs, I am not sure if there are any with Xilinx SoCs.

3. The TCMs are embedded within the R5F sub-system on TI SoCs, and are
controlled by the same power and clock as the R5Fs. There is an additional
CPU
halt line that controls the core execution, and allows us to enable the access
to these. The ZynqMP looks to have completely independent control to the
TCMs.
This is the reason why they are represented as individual mmio-sram nodes in
the
Xilinx binding.

4. The TCMs and which one appears at the R5 address 0 are programmable on
TI
SoCs, I couldn't tell if this is the case with Xilinx SoCs.

Ben and Stefano,
Please do clarify, if I am off on any of the above differences.
[Ben Levinsky] Hi Suman, 

what you said is correct. 

Thanks
regards
Suman

quoted
regards
Suman
quoted
regards
Suman

[1] https://patchwork.kernel.org/patch/11679331/
[2] https://patchwork.kernel.org/comment/23273441/
quoted
quoted
quoted
Though the system DT effort has not yet given any thought to what is
the
quoted
quoted
quoted
quoted
quoted
view of one processor or instance to another instance (which is what
this binding is). We'll still need something defined for that, but I'd
expect that to be dependent on what is defined for system DT.
Efforts related to the definition of the system DT are under way,
something I
quoted
quoted
quoted
quoted
expect to keep going on for some time to come.  I agree with the need to
use the
quoted
quoted
quoted
quoted
system DT to define remote processors and I look forward to the time
we can do
quoted
quoted
quoted
quoted
so.
I'll take this opportunity to add that I should be able to publicly
present a System Device Tree proposal for this during the next call (the
next one after the call early next week that has already a full agenda.)

quoted
That being said we need to find a concensus on how to move forward
with patches
quoted
quoted
quoted
quoted
that are ready to be merged.  What is your opinion on that?
In my opinion we don't have to necessarily wait for System Device Tree
to make progress with those if they look OK.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help