* [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC
@ 2023-03-30 14:15 Hari Nagalla
2023-03-30 14:15 ` [PATCH v2 1/2] arm64: dts: ti: k3-j784s4-main: Add R5F cluster nodes Hari Nagalla
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Hari Nagalla @ 2023-03-30 14:15 UTC (permalink / raw)
To: nm, vigneshr
Cc: kristo, robh+dt, krzysztof.kozlowski+dt, linux-arm-kernel,
devicetree, linux-kernel
This series adds the R5F cluster and C71 DSP processor nodes for
J784S4 SoC.
The first patch adds R5F cluster nodes to the MAIN and MCU voltage
domains of J784S4 SoC. The second patch adds the C71 DSP processor
nodes to the MAIN voltage domain of J784S4 SoC.
Changes in V2:
- Removed default disable of R5F nodes in the SoC device tree.
- Consolidated R5F nodes into one patch.
V1: https://lore.kernel.org/all/20230329093627.30719-1-hnagalla@ti.com/
Hari Nagalla (2):
arm64: dts: ti: k3-j784s4-main: Add R5F cluster nodes
arm64: dts: ti: k3-j784s4-main: Add C71x DSP nodes
arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 168 ++++++++++++++++++
.../boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 40 +++++
2 files changed, 208 insertions(+)
--
2.17.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/2] arm64: dts: ti: k3-j784s4-main: Add R5F cluster nodes
2023-03-30 14:15 [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC Hari Nagalla
@ 2023-03-30 14:15 ` Hari Nagalla
2023-03-30 14:15 ` [PATCH v2 2/2] arm64: dts: ti: k3-j784s4-main: Add C71x DSP nodes Hari Nagalla
2023-03-30 14:55 ` [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC Nishanth Menon
2 siblings, 0 replies; 6+ messages in thread
From: Hari Nagalla @ 2023-03-30 14:15 UTC (permalink / raw)
To: nm, vigneshr
Cc: kristo, robh+dt, krzysztof.kozlowski+dt, linux-arm-kernel,
devicetree, linux-kernel
The J784S4 SoCs have 4 dual-core Arm Cortex-R5F processor (R5FSS)
subsystems/clusters. One R5F cluster (MCU_R5FSS0) is present within
the MCU domain, and the remaining three clusters are present in the
MAIN domain (MAIN_R5FSS0, MAIN_R5FSS1 & MAIN_R5FSS2). The functionality
of the R5FSS is same as the R5FSS functionality on earlier K3 platform
device J721S2. Each of the R5FSS can be configured at boot time to be
either run in a LockStep mode or in an Asymmetric Multi Processing (AMP)
fashion in Split-mode. These subsystems have 64 KB each Tightly-Coupled
Memory (TCM) internal memories for each core split between two banks -
ATCM and BTCM (further interleaved into two banks). There are some IP
integration differences from standard Arm R5 clusters such as the absence
of an ACP port, presence of an additional TI-specific Region Address
Translater (RAT) module for translating 32-bit CPU addresses into
larger system bus addresses etc.
Add the DT nodes for the R5F cluster/subsystems, the two R5F cores are
each added as child nodes to the corresponding cluster node. The clusters
are configured to run in LockStep mode by default, with the ATCMs enabled
to allow the R5 cores to execute code from DDR with boot-strapping code
from ATCM. The inter-processor communication between the main A72 cores
and these processors is achieved through shared memory and Mailboxes.
The following firmware names are used by default for these cores, and
can be overridden in a board dts file if needed:
MAIN R5FSS0 Core0: j784s4-main-r5f0_0-fw (both in LockStep and Split modes)
MAIN R5FSS0 Core1: j784s4-main-r5f0_1-fw (needed only in Split mode)
MAIN R5FSS1 Core0: j784s4-main-r5f1_0-fw (both in LockStep and Split modes)
MAIN R5FSS1 Core1: j784s4-main-r5f1_1-fw (needed only in Split mode)
MAIN R5FSS2 Core0: j784s4-main-r5f2_0-fw (both in LockStep and Split modes)
MAIN R5FSS2 Core1: j784s4-main-r5f2_1-fw (needed only in Split mode)
MCU R5FSS0 Core0: j784s4-mcu-r5f0_0-fw (needed only in Split mode)
MCU R5FSS0 Core1: j784s4-mcu-r5f0_1-fw (needed only in Split mode)
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
---
arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 120 ++++++++++++++++++
.../boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 40 ++++++
2 files changed, 160 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
index e9169eb358c1..3c785cef4f20 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
@@ -1112,4 +1112,124 @@
clocks = <&k3_clks 383 1>;
status = "disabled";
};
+
+ main_r5fss0: r5fss@5c00000 {
+ compatible = "ti,j721s2-r5fss";
+ ti,cluster-mode = <1>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x5c00000 0x00 0x5c00000 0x20000>,
+ <0x5d00000 0x00 0x5d00000 0x20000>;
+ power-domains = <&k3_pds 336 TI_SCI_PD_EXCLUSIVE>;
+
+ main_r5fss0_core0: r5f@5c00000 {
+ compatible = "ti,j721s2-r5f";
+ reg = <0x5c00000 0x00010000>,
+ <0x5c10000 0x00010000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <339>;
+ ti,sci-proc-ids = <0x06 0xff>;
+ resets = <&k3_reset 339 1>;
+ firmware-name = "j784s4-main-r5f0_0-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+
+ main_r5fss0_core1: r5f@5d00000 {
+ compatible = "ti,j721s2-r5f";
+ reg = <0x5d00000 0x00010000>,
+ <0x5d10000 0x00010000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <340>;
+ ti,sci-proc-ids = <0x07 0xff>;
+ resets = <&k3_reset 340 1>;
+ firmware-name = "j784s4-main-r5f0_1-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+ };
+
+ main_r5fss1: r5fss@5e00000 {
+ compatible = "ti,j721s2-r5fss";
+ ti,cluster-mode = <1>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x5e00000 0x00 0x5e00000 0x20000>,
+ <0x5f00000 0x00 0x5f00000 0x20000>;
+ power-domains = <&k3_pds 337 TI_SCI_PD_EXCLUSIVE>;
+
+ main_r5fss1_core0: r5f@5e00000 {
+ compatible = "ti,j721s2-r5f";
+ reg = <0x5e00000 0x00010000>,
+ <0x5e10000 0x00010000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <341>;
+ ti,sci-proc-ids = <0x08 0xff>;
+ resets = <&k3_reset 341 1>;
+ firmware-name = "j784s4-main-r5f1_0-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+
+ main_r5fss1_core1: r5f@5f00000 {
+ compatible = "ti,j721s2-r5f";
+ reg = <0x5f00000 0x00010000>,
+ <0x5f10000 0x00010000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <342>;
+ ti,sci-proc-ids = <0x09 0xff>;
+ resets = <&k3_reset 342 1>;
+ firmware-name = "j784s4-main-r5f1_1-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+ };
+
+ main_r5fss2: r5fss@5900000 {
+ compatible = "ti,j721s2-r5fss";
+ ti,cluster-mode = <1>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x5900000 0x00 0x5900000 0x20000>,
+ <0x5a00000 0x00 0x5a00000 0x20000>;
+ power-domains = <&k3_pds 338 TI_SCI_PD_EXCLUSIVE>;
+
+ main_r5fss2_core0: r5f@5900000 {
+ compatible = "ti,j721s2-r5f";
+ reg = <0x5900000 0x00010000>,
+ <0x5910000 0x00010000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <343>;
+ ti,sci-proc-ids = <0x0a 0xff>;
+ resets = <&k3_reset 343 1>;
+ firmware-name = "j784s4-main-r5f2_0-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+
+ main_r5fss2_core1: r5f@5a00000 {
+ compatible = "ti,j721s2-r5f";
+ reg = <0x5a00000 0x00010000>,
+ <0x5a10000 0x00010000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <344>;
+ ti,sci-proc-ids = <0x0b 0xff>;
+ resets = <&k3_reset 344 1>;
+ firmware-name = "j784s4-main-r5f2_1-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+ };
};
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
index f04fcb614cbe..e517043d3eb2 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
@@ -342,4 +342,44 @@
ti,cpts-periodic-outputs = <2>;
};
};
+
+ mcu_r5fss0: r5fss@41000000 {
+ compatible = "ti,j721s2-r5fss";
+ ti,cluster-mode = <1>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x41000000 0x00 0x41000000 0x20000>,
+ <0x41400000 0x00 0x41400000 0x20000>;
+ power-domains = <&k3_pds 345 TI_SCI_PD_EXCLUSIVE>;
+
+ mcu_r5fss0_core0: r5f@41000000 {
+ compatible = "ti,j721s2-r5f";
+ reg = <0x41000000 0x00010000>,
+ <0x41010000 0x00010000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <346>;
+ ti,sci-proc-ids = <0x01 0xff>;
+ resets = <&k3_reset 346 1>;
+ firmware-name = "j784s4-mcu-r5f0_0-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+
+ mcu_r5fss0_core1: r5f@41400000 {
+ compatible = "ti,j721s2-r5f";
+ reg = <0x41400000 0x00010000>,
+ <0x41410000 0x00010000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <347>;
+ ti,sci-proc-ids = <0x02 0xff>;
+ resets = <&k3_reset 347 1>;
+ firmware-name = "j784s4-mcu-r5f0_1-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+ };
};
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] arm64: dts: ti: k3-j784s4-main: Add C71x DSP nodes
2023-03-30 14:15 [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC Hari Nagalla
2023-03-30 14:15 ` [PATCH v2 1/2] arm64: dts: ti: k3-j784s4-main: Add R5F cluster nodes Hari Nagalla
@ 2023-03-30 14:15 ` Hari Nagalla
2023-03-30 14:55 ` [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC Nishanth Menon
2 siblings, 0 replies; 6+ messages in thread
From: Hari Nagalla @ 2023-03-30 14:15 UTC (permalink / raw)
To: nm, vigneshr
Cc: kristo, robh+dt, krzysztof.kozlowski+dt, linux-arm-kernel,
devicetree, linux-kernel
The J784S4 SoCs have four TMS320C71x DSP subsystems in the MAIN voltage
domain. The functionality of these DSP subsystems is similar to the C71x
DSP subsystems on earlier k3 device J721S2. Each subsystem has a 48 KB of
L1D configurable SRAM/Cache and 512 KB of L2 SRAM/Cache. This subsystem
has a CMMU but is not currently used. The inter-processor communication
between the main A72 cores and the C71x DSPs is achieved through shared
memory and mailboxes. Add the DT nodes for these DSP processor sub-systems.
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
---
arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 48 ++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
index 3c785cef4f20..7277bf6eda09 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
@@ -1232,4 +1232,52 @@
ti,loczrama = <1>;
};
};
+
+ c71_0: dsp@64800000 {
+ compatible = "ti,j721s2-c71-dsp";
+ reg = <0x00 0x64800000 0x00 0x00080000>,
+ <0x00 0x64e00000 0x00 0x0000c000>;
+ reg-names = "l2sram", "l1dram";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <30>;
+ ti,sci-proc-ids = <0x30 0xff>;
+ resets = <&k3_reset 30 1>;
+ firmware-name = "j784s4-c71_0-fw";
+ };
+
+ c71_1: dsp@65800000 {
+ compatible = "ti,j721s2-c71-dsp";
+ reg = <0x00 0x65800000 0x00 0x00080000>,
+ <0x00 0x65e00000 0x00 0x0000c000>;
+ reg-names = "l2sram", "l1dram";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <33>;
+ ti,sci-proc-ids = <0x31 0xff>;
+ resets = <&k3_reset 33 1>;
+ firmware-name = "j784s4-c71_1-fw";
+ };
+
+ c71_2: dsp@66800000 {
+ compatible = "ti,j721s2-c71-dsp";
+ reg = <0x00 0x66800000 0x00 0x00080000>,
+ <0x00 0x66e00000 0x00 0x0000c000>;
+ reg-names = "l2sram", "l1dram";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <37>;
+ ti,sci-proc-ids = <0x32 0xff>;
+ resets = <&k3_reset 37 1>;
+ firmware-name = "j784s4-c71_2-fw";
+ };
+
+ c71_3: dsp@67800000 {
+ compatible = "ti,j721s2-c71-dsp";
+ reg = <0x00 0x67800000 0x00 0x00080000>,
+ <0x00 0x67e00000 0x00 0x0000c000>;
+ reg-names = "l2sram", "l1dram";
+ ti,sci = <&sms>;
+ ti,sci-dev-id = <40>;
+ ti,sci-proc-ids = <0x33 0xff>;
+ resets = <&k3_reset 40 1>;
+ firmware-name = "j784s4-c71_3-fw";
+ };
};
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC
2023-03-30 14:15 [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC Hari Nagalla
2023-03-30 14:15 ` [PATCH v2 1/2] arm64: dts: ti: k3-j784s4-main: Add R5F cluster nodes Hari Nagalla
2023-03-30 14:15 ` [PATCH v2 2/2] arm64: dts: ti: k3-j784s4-main: Add C71x DSP nodes Hari Nagalla
@ 2023-03-30 14:55 ` Nishanth Menon
2023-03-31 9:31 ` Hari Nagalla
2 siblings, 1 reply; 6+ messages in thread
From: Nishanth Menon @ 2023-03-30 14:55 UTC (permalink / raw)
To: Hari Nagalla
Cc: vigneshr, kristo, robh+dt, krzysztof.kozlowski+dt,
linux-arm-kernel, devicetree, linux-kernel
On 09:15-20230330, Hari Nagalla wrote:
> This series adds the R5F cluster and C71 DSP processor nodes for
> J784S4 SoC.
>
> The first patch adds R5F cluster nodes to the MAIN and MCU voltage
> domains of J784S4 SoC. The second patch adds the C71 DSP processor
> nodes to the MAIN voltage domain of J784S4 SoC.
>
> Changes in V2:
> - Removed default disable of R5F nodes in the SoC device tree.
> - Consolidated R5F nodes into one patch.
>
> V1: https://lore.kernel.org/all/20230329093627.30719-1-hnagalla@ti.com/
>
> Hari Nagalla (2):
> arm64: dts: ti: k3-j784s4-main: Add R5F cluster nodes
> arm64: dts: ti: k3-j784s4-main: Add C71x DSP nodes
>
> arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 168 ++++++++++++++++++
> .../boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 40 +++++
> 2 files changed, 208 insertions(+)
>
> --
> 2.17.1
>
No specific need for board file memory reservations for DDR?
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC
2023-03-30 14:55 ` [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC Nishanth Menon
@ 2023-03-31 9:31 ` Hari Nagalla
2023-03-31 15:51 ` Nishanth Menon
0 siblings, 1 reply; 6+ messages in thread
From: Hari Nagalla @ 2023-03-31 9:31 UTC (permalink / raw)
To: Nishanth Menon
Cc: vigneshr, kristo, robh+dt, krzysztof.kozlowski+dt,
linux-arm-kernel, devicetree, linux-kernel
On 3/30/23 09:55, Nishanth Menon wrote:
>> arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 168 ++++++++++++++++++
>> .../boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 40 +++++
>> 2 files changed, 208 insertions(+)
>>
>> --
>> 2.17.1
>>
> No specific need for board file memory reservations for DDR?
They are needed in board file, but to be submitted in separate patch set.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC
2023-03-31 9:31 ` Hari Nagalla
@ 2023-03-31 15:51 ` Nishanth Menon
0 siblings, 0 replies; 6+ messages in thread
From: Nishanth Menon @ 2023-03-31 15:51 UTC (permalink / raw)
To: Hari Nagalla
Cc: vigneshr, kristo, robh+dt, krzysztof.kozlowski+dt,
linux-arm-kernel, devicetree, linux-kernel
On 04:31-20230331, Hari Nagalla wrote:
> On 3/30/23 09:55, Nishanth Menon wrote:
> > > arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 168 ++++++++++++++++++
> > > .../boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 40 +++++
> > > 2 files changed, 208 insertions(+)
> > >
> > > --
> > > 2.17.1
> > >
> > No specific need for board file memory reservations for DDR?
> They are needed in board file, but to be submitted in separate patch set.
Sorry, NAK, please submit as a single series.
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-03-31 15:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-30 14:15 [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC Hari Nagalla
2023-03-30 14:15 ` [PATCH v2 1/2] arm64: dts: ti: k3-j784s4-main: Add R5F cluster nodes Hari Nagalla
2023-03-30 14:15 ` [PATCH v2 2/2] arm64: dts: ti: k3-j784s4-main: Add C71x DSP nodes Hari Nagalla
2023-03-30 14:55 ` [PATCH v2 0/2] Add R5F and C71 DSP nodes for J784S4 SoC Nishanth Menon
2023-03-31 9:31 ` Hari Nagalla
2023-03-31 15:51 ` Nishanth Menon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox