diff mbox series

[1/4] remoteproc: k3-dsp: Enable C71x support for AM62A

Message ID 20240509142037.32064-2-hnagalla@ti.com
State Accepted
Commit a5366098b650e5152ba83961faa719e523b09e42
Delegated to: Tom Rini
Headers show
Series Add remoteproc driver for AM62a SoC | expand

Commit Message

Hari Nagalla May 9, 2024, 2:20 p.m. UTC
AM62A SoC has a single C71x DSP subsystem with analytics engine in
main voltage domain. Extend support to AM62A with compatible strings.

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
---
 drivers/remoteproc/ti_k3_dsp_rproc.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

Comments

Devarsh Thakkar May 10, 2024, 5:46 a.m. UTC | #1
On 09/05/24 19:50, Hari Nagalla wrote:
> AM62A SoC has a single C71x DSP subsystem with analytics engine in
> main voltage domain. Extend support to AM62A with compatible strings.
> 
> Signed-off-by: Hari Nagalla <hnagalla@ti.com>

Reviewed-by: Devarsh Thakkar <devarsht@ti.com>

Regards
Devarsh
> ---
>  drivers/remoteproc/ti_k3_dsp_rproc.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/remoteproc/ti_k3_dsp_rproc.c b/drivers/remoteproc/ti_k3_dsp_rproc.c
> index e790406324..ed13729c33 100644
> --- a/drivers/remoteproc/ti_k3_dsp_rproc.c
> +++ b/drivers/remoteproc/ti_k3_dsp_rproc.c
> @@ -339,7 +339,8 @@ static int k3_dsp_of_get_memories(struct udevice *dev)
>  	for (i = 0; i < dsp->num_mems; i++) {
>  		/* C71 cores only have a L1P Cache, there are no L1P SRAMs */
>  		if (((device_is_compatible(dev, "ti,j721e-c71-dsp")) ||
> -		     (device_is_compatible(dev, "ti,j721s2-c71-dsp"))) &&
> +		    (device_is_compatible(dev, "ti,j721s2-c71-dsp")) ||
> +		    (device_is_compatible(dev, "ti,am62a-c7xv-dsp"))) &&
>  		    !strcmp(mem_names[i], "l1pram")) {
>  			dsp->mem[i].bus_addr = FDT_ADDR_T_NONE;
>  			dsp->mem[i].dev_addr = FDT_ADDR_T_NONE;
> @@ -347,7 +348,14 @@ static int k3_dsp_of_get_memories(struct udevice *dev)
>  			dsp->mem[i].size = 0;
>  			continue;
>  		}
> -
> +		if (device_is_compatible(dev, "ti,am62a-c7xv-dsp") &&
> +		    !strcmp(mem_names[i], "l1dram")) {
> +			dsp->mem[i].bus_addr = FDT_ADDR_T_NONE;
> +			dsp->mem[i].dev_addr = FDT_ADDR_T_NONE;
> +			dsp->mem[i].cpu_addr = NULL;
> +			dsp->mem[i].size = 0;
> +			continue;
> +		}
>  		dsp->mem[i].bus_addr = dev_read_addr_size_name(dev, mem_names[i],
>  					  (fdt_addr_t *)&dsp->mem[i].size);
>  		if (dsp->mem[i].bus_addr == FDT_ADDR_T_NONE) {
> @@ -459,6 +467,7 @@ static const struct udevice_id k3_dsp_ids[] = {
>  	{ .compatible = "ti,j721e-c66-dsp", .data = (ulong)&c66_data, },
>  	{ .compatible = "ti,j721e-c71-dsp", .data = (ulong)&c71_data, },
>  	{ .compatible = "ti,j721s2-c71-dsp", .data = (ulong)&c71_data, },
> +	{ .compatible = "ti,am62a-c7xv-dsp", .data = (ulong)&c71_data, },
>  	{}
>  };
>
diff mbox series

Patch

diff --git a/drivers/remoteproc/ti_k3_dsp_rproc.c b/drivers/remoteproc/ti_k3_dsp_rproc.c
index e790406324..ed13729c33 100644
--- a/drivers/remoteproc/ti_k3_dsp_rproc.c
+++ b/drivers/remoteproc/ti_k3_dsp_rproc.c
@@ -339,7 +339,8 @@  static int k3_dsp_of_get_memories(struct udevice *dev)
 	for (i = 0; i < dsp->num_mems; i++) {
 		/* C71 cores only have a L1P Cache, there are no L1P SRAMs */
 		if (((device_is_compatible(dev, "ti,j721e-c71-dsp")) ||
-		     (device_is_compatible(dev, "ti,j721s2-c71-dsp"))) &&
+		    (device_is_compatible(dev, "ti,j721s2-c71-dsp")) ||
+		    (device_is_compatible(dev, "ti,am62a-c7xv-dsp"))) &&
 		    !strcmp(mem_names[i], "l1pram")) {
 			dsp->mem[i].bus_addr = FDT_ADDR_T_NONE;
 			dsp->mem[i].dev_addr = FDT_ADDR_T_NONE;
@@ -347,7 +348,14 @@  static int k3_dsp_of_get_memories(struct udevice *dev)
 			dsp->mem[i].size = 0;
 			continue;
 		}
-
+		if (device_is_compatible(dev, "ti,am62a-c7xv-dsp") &&
+		    !strcmp(mem_names[i], "l1dram")) {
+			dsp->mem[i].bus_addr = FDT_ADDR_T_NONE;
+			dsp->mem[i].dev_addr = FDT_ADDR_T_NONE;
+			dsp->mem[i].cpu_addr = NULL;
+			dsp->mem[i].size = 0;
+			continue;
+		}
 		dsp->mem[i].bus_addr = dev_read_addr_size_name(dev, mem_names[i],
 					  (fdt_addr_t *)&dsp->mem[i].size);
 		if (dsp->mem[i].bus_addr == FDT_ADDR_T_NONE) {
@@ -459,6 +467,7 @@  static const struct udevice_id k3_dsp_ids[] = {
 	{ .compatible = "ti,j721e-c66-dsp", .data = (ulong)&c66_data, },
 	{ .compatible = "ti,j721e-c71-dsp", .data = (ulong)&c71_data, },
 	{ .compatible = "ti,j721s2-c71-dsp", .data = (ulong)&c71_data, },
+	{ .compatible = "ti,am62a-c7xv-dsp", .data = (ulong)&c71_data, },
 	{}
 };