J722S uses the C7XV DSP based deep learning engine similar to AM62A,
but the reset and module enable integration in the SoC is little
different. It does not have a local reset from power state controller.
So, add a new compatible string to distinguish this difference.
For these DSP core variants 'prepare' operation is not needed before
loading the firmware. The module level main reset is released during
'start' operation, i.e after firmware load.

Signed-off-by: Hari Nagalla <[email protected]>
---
 drivers/remoteproc/ti_k3_dsp_remoteproc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/remoteproc/ti_k3_dsp_remoteproc.c 
b/drivers/remoteproc/ti_k3_dsp_remoteproc.c
index 7881c711d872..301d7b5afd2f 100644
--- a/drivers/remoteproc/ti_k3_dsp_remoteproc.c
+++ b/drivers/remoteproc/ti_k3_dsp_remoteproc.c
@@ -214,11 +214,19 @@ static const struct k3_rproc_dev_data c7xv_data = {
        .uses_lreset = true,
 };
 
+static const struct k3_rproc_dev_data j722s_c7xv_data = {
+       .mems = c7xv_mems,
+       .num_mems = ARRAY_SIZE(c7xv_mems),
+       .boot_align_addr = SZ_2M,
+       .uses_lreset = false,
+};
+
 static const struct of_device_id k3_dsp_of_match[] = {
        { .compatible = "ti,j721e-c66-dsp", .data = &c66_data, },
        { .compatible = "ti,j721e-c71-dsp", .data = &c71_data, },
        { .compatible = "ti,j721s2-c71-dsp", .data = &c71_data, },
        { .compatible = "ti,am62a-c7xv-dsp", .data = &c7xv_data, },
+       { .compatible = "ti,j722s-c7xv-dsp", .data = &j722s_c7xv_data, },
        { /* sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, k3_dsp_of_match);
-- 
2.34.1


Reply via email to