remoteproc: k3-c7x: Add support for C7xv DSP on AM62A SoC
authorJai Luthra <j-luthra@ti.com>
Fri, 30 Dec 2022 13:24:53 +0000 (07:24 -0600)
committerMathieu Poirier <mathieu.poirier@linaro.org>
Fri, 13 Jan 2023 21:16:44 +0000 (14:16 -0700)
Add support to the K3 DSP remoteproc driver to configure the C7xv
subsystem core on AM62A SoCs. The C7xv susbsytem is based on C71 DSP
with anlytics engine for deep learning purposes. The remoteproc
handling for device management is similar to the C66/C71 DSPs on K3
J7 family SoCs, even though there are additional hardware accelerators
and IP updates to C7xv subsystem.

Signed-off-by: Jai Luthra <j-luthra@ti.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Link: https://lore.kernel.org/r/20221230132453.32022-3-hnagalla@ti.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
drivers/remoteproc/ti_k3_dsp_remoteproc.c

index eb9c64f..ec626a3 100644 (file)
@@ -870,6 +870,10 @@ static const struct k3_dsp_mem_data c71_mems[] = {
        { .name = "l1dram", .dev_addr = 0xe00000 },
 };
 
+static const struct k3_dsp_mem_data c7xv_mems[] = {
+       { .name = "l2sram", .dev_addr = 0x800000 },
+};
+
 static const struct k3_dsp_dev_data c66_data = {
        .mems = c66_mems,
        .num_mems = ARRAY_SIZE(c66_mems),
@@ -884,10 +888,18 @@ static const struct k3_dsp_dev_data c71_data = {
        .uses_lreset = false,
 };
 
+static const struct k3_dsp_dev_data 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, },
        { /* sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, k3_dsp_of_match);