diff mbox series

[2/4] arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node

Message ID 20250127221631.3974583-3-jm@ti.com (mailing list archive)
State New
Headers show
Series Add R5F and C7xv device nodes | expand

Commit Message

Judith Mendez Jan. 27, 2025, 10:16 p.m. UTC
From: Hari Nagalla <hnagalla@ti.com>

AM62A SoCs have a single R5F core in the MCU voltage domain. The MCU
domain also has a 512KB sram memory, the R5F core can use for
applications needing fast memory access.

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
[Judith: Fix commit message header]
Signed-off-by: Judith Mendez <jm@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi | 36 ++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

Comments

Andrew Davis Jan. 28, 2025, 4:27 p.m. UTC | #1
On 1/27/25 4:16 PM, Judith Mendez wrote:
> From: Hari Nagalla <hnagalla@ti.com>
> 
> AM62A SoCs have a single R5F core in the MCU voltage domain. The MCU
> domain also has a 512KB sram memory, the R5F core can use for
> applications needing fast memory access.
> 
> Signed-off-by: Hari Nagalla <hnagalla@ti.com>
> [Judith: Fix commit message header]
> Signed-off-by: Judith Mendez <jm@ti.com>
> ---
>   arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi | 36 ++++++++++++++++++++++++
>   1 file changed, 36 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
> index 0469c766b769e..9a20f75e48063 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
> @@ -6,6 +6,18 @@
>    */
>   
>   &cbass_mcu {
> +	mcu_ram: sram@79100000 {
> +		compatible = "mmio-sram";
> +		reg = <0x00 0x79100000 0x00 0x80000>;
> +		ranges = <0x00 0x00 0x79100000 0x80000>;
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +
> +		mcu1-sram@0 {
> +			reg = <0x0 0x80000>;
> +		};
> +	};
> +
>   	mcu_pmx0: pinctrl@4084000 {
>   		compatible = "pinctrl-single";
>   		reg = <0x00 0x04084000 0x00 0x88>;
> @@ -175,4 +187,28 @@ mcu_mcan1: can@4e18000 {
>   		bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
>   		status = "disabled";
>   	};
> +
> +	mcu_r5fss0: r5fss@79000000 {
> +		compatible = "ti,am62-r5fss";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges = <0x79000000 0x00 0x79000000 0x8000>,
> +			 <0x79020000 0x00 0x79020000 0x8000>;
> +		power-domains = <&k3_pds 7 TI_SCI_PD_EXCLUSIVE>;

Newline here.

Also this should be default "disabled". It can be set to "okay"
in the board DTS file when the needed mboxes and memory-region
are set. Speaking of that, where are those patches? This is
incomplete without them and these nodes will not function.
Same for the DSP patch.

Andrew

> +		mcu_r5fss0_core0: r5f@79000000 {
> +			compatible = "ti,am62-r5f";
> +			reg = <0x79000000 0x00008000>,
> +				<0x79020000 0x00008000>;
> +			reg-names = "atcm", "btcm";
> +			ti,sci = <&dmsc>;
> +			ti,sci-dev-id = <9>;
> +			ti,sci-proc-ids = <0x03 0xff>;
> +			resets = <&k3_reset 9 1>;
> +			firmware-name = "am62a-mcu-r5f0_0-fw";
> +			ti,atcm-enable = <0>;
> +			ti,btcm-enable = <1>;
> +			ti,loczrama = <0>;
> +			sram = <&mcu_ram>;
> +		};
> +	};
>   };
Hari Nagalla Jan. 28, 2025, 4:52 p.m. UTC | #2
On 1/28/25 10:27, Andrew Davis wrote:
>> +    mcu_r5fss0: r5fss@79000000 {
>> +        compatible = "ti,am62-r5fss";
>> +        #address-cells = <1>;
>> +        #size-cells = <1>;
>> +        ranges = <0x79000000 0x00 0x79000000 0x8000>,
>> +             <0x79020000 0x00 0x79020000 0x8000>;
>> +        power-domains = <&k3_pds 7 TI_SCI_PD_EXCLUSIVE>;
> 
> Newline here.
> 
> Also this should be default "disabled". It can be set to "okay"
> in the board DTS file when the needed mboxes and memory-region
> are set. Speaking of that, where are those patches? This is
> incomplete without them and these nodes will not function.
> Same for the DSP patch.
> 
> Andrew
Yes, by default needs to set the node state to "disabled". This is HW 
description of the wake-up domain components. Memory carve outs and 
mailbox assignments for IPC are a separate patch as it is configurable 
and distro dependent.
Judith Mendez Jan. 28, 2025, 5:48 p.m. UTC | #3
Hi Andrew,

On 1/28/25 10:52 AM, Hari Nagalla wrote:
> On 1/28/25 10:27, Andrew Davis wrote:
>>> +    mcu_r5fss0: r5fss@79000000 {
>>> +        compatible = "ti,am62-r5fss";
>>> +        #address-cells = <1>;
>>> +        #size-cells = <1>;
>>> +        ranges = <0x79000000 0x00 0x79000000 0x8000>,
>>> +             <0x79020000 0x00 0x79020000 0x8000>;
>>> +        power-domains = <&k3_pds 7 TI_SCI_PD_EXCLUSIVE>;
>>
>> Newline here.
>>
>> Also this should be default "disabled". It can be set to "okay"
>> in the board DTS file when the needed mboxes and memory-region
>> are set. Speaking of that, where are those patches? This is
>> incomplete without them and these nodes will not function.
>> Same for the DSP patch.
>>
>> Andrew
> Yes, by default needs to set the node state to "disabled". This is HW 
> description of the wake-up domain components. Memory carve outs and 
> mailbox assignments for IPC are a separate patch as it is configurable 
> and distro dependent.

Yes I plan to disable the nodes in each domain .dtsi file.

Also yes, my understanding is that the memory carveouts could
be a separate series if at all. Not sure if those patches can be
sent upstream since they are distro dependent. Can anyone clarify
if this is the case?

~ Judith
Judith Mendez Jan. 30, 2025, 10:40 p.m. UTC | #4
On 1/28/25 11:48 AM, Judith Mendez wrote:
> Hi Andrew,
> 
> On 1/28/25 10:52 AM, Hari Nagalla wrote:
>> On 1/28/25 10:27, Andrew Davis wrote:
>>>> +    mcu_r5fss0: r5fss@79000000 {
>>>> +        compatible = "ti,am62-r5fss";
>>>> +        #address-cells = <1>;
>>>> +        #size-cells = <1>;
>>>> +        ranges = <0x79000000 0x00 0x79000000 0x8000>,
>>>> +             <0x79020000 0x00 0x79020000 0x8000>;
>>>> +        power-domains = <&k3_pds 7 TI_SCI_PD_EXCLUSIVE>;
>>>
>>> Newline here.
>>>
>>> Also this should be default "disabled". It can be set to "okay"
>>> in the board DTS file when the needed mboxes and memory-region
>>> are set. Speaking of that, where are those patches? This is
>>> incomplete without them and these nodes will not function.
>>> Same for the DSP patch.
>>>
>>> Andrew
>> Yes, by default needs to set the node state to "disabled". This is HW 
>> description of the wake-up domain components. Memory carve outs and 
>> mailbox assignments for IPC are a separate patch as it is configurable 
>> and distro dependent.
> 
> Yes I plan to disable the nodes in each domain .dtsi file.
> 
> Also yes, my understanding is that the memory carveouts could
> be a separate series if at all. Not sure if those patches can be
> sent upstream since they are distro dependent. Can anyone clarify
> if this is the case?
> 

As per offline discussion, I will include the memory carveouts in this
same series.
~ Judith

> ~ Judith
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
index 0469c766b769e..9a20f75e48063 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
@@ -6,6 +6,18 @@ 
  */
 
 &cbass_mcu {
+	mcu_ram: sram@79100000 {
+		compatible = "mmio-sram";
+		reg = <0x00 0x79100000 0x00 0x80000>;
+		ranges = <0x00 0x00 0x79100000 0x80000>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		mcu1-sram@0 {
+			reg = <0x0 0x80000>;
+		};
+	};
+
 	mcu_pmx0: pinctrl@4084000 {
 		compatible = "pinctrl-single";
 		reg = <0x00 0x04084000 0x00 0x88>;
@@ -175,4 +187,28 @@  mcu_mcan1: can@4e18000 {
 		bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
 		status = "disabled";
 	};
+
+	mcu_r5fss0: r5fss@79000000 {
+		compatible = "ti,am62-r5fss";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x79000000 0x00 0x79000000 0x8000>,
+			 <0x79020000 0x00 0x79020000 0x8000>;
+		power-domains = <&k3_pds 7 TI_SCI_PD_EXCLUSIVE>;
+		mcu_r5fss0_core0: r5f@79000000 {
+			compatible = "ti,am62-r5f";
+			reg = <0x79000000 0x00008000>,
+				<0x79020000 0x00008000>;
+			reg-names = "atcm", "btcm";
+			ti,sci = <&dmsc>;
+			ti,sci-dev-id = <9>;
+			ti,sci-proc-ids = <0x03 0xff>;
+			resets = <&k3_reset 9 1>;
+			firmware-name = "am62a-mcu-r5f0_0-fw";
+			ti,atcm-enable = <0>;
+			ti,btcm-enable = <1>;
+			ti,loczrama = <0>;
+			sram = <&mcu_ram>;
+		};
+	};
 };