linux/drivers/remoteproc
Tanmay Shah b31bcda55f remoteproc: zynqmp: fix lockstep mode memory region
In lockstep mode, r5 core0 uses TCM of R5 core1. Following is lockstep
mode memory region as per hardware reference manual.

    |      *TCM*         |   *R5 View* | *Linux view* |
    | R5_0 ATCM (128 KB) | 0x0000_0000 | 0xFFE0_0000  |
    | R5_0 BTCM (128 KB) | 0x0002_0000 | 0xFFE2_0000  |

However, driver shouldn't model it as above because R5 core0 TCM and core1
TCM has different power-domains mapped to it.
Hence, TCM address space in lockstep mode should be modeled as 64KB
regions only where each region has its own power-domain as following:

    |      *TCM*         |   *R5 View* | *Linux view* |
    | R5_0 ATCM0 (64 KB) | 0x0000_0000 | 0xFFE0_0000  |
    | R5_0 BTCM0 (64 KB) | 0x0002_0000 | 0xFFE2_0000  |
    | R5_0 ATCM1 (64 KB) | 0x0001_0000 | 0xFFE1_0000  |
    | R5_0 BTCM1 (64 KB) | 0x0003_0000 | 0xFFE3_0000  |

This makes driver maintanance easy and makes design robust for future
platorms as well.

Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
Link: https://lore.kernel.org/r/20240412183708.4036007-2-tanmay.shah@amd.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2024-04-16 10:16:56 -06:00
..
da8xx_remoteproc.c remoteproc: da8xx: Convert to platform remove callback returning void 2023-05-09 11:45:22 -06:00
imx_dsp_rproc.c remoteproc updates for v6.9 2024-03-21 10:37:39 -07:00
imx_rproc.c remoteproc updates for v6.9 2024-03-21 10:37:39 -07:00
imx_rproc.h remoteproc: imx_rproc: Switch iMX8MN/MP from SMCCC to MMIO 2023-07-27 10:44:17 -06:00
ingenic_rproc.c remoteproc: ingenic: Request IRQ disabled 2021-12-06 10:17:44 -07:00
Kconfig remoteproc: stm32: use correct format strings on 64-bit 2023-06-22 09:54:44 +02:00
keystone_remoteproc.c remoteproc: keystone: Convert to platform remove callback returning void 2023-05-09 11:48:38 -06:00
Makefile drivers: remoteproc: Add Xilinx r5 remoteproc driver 2022-11-25 09:12:05 -07:00
meson_mx_ao_arc.c remoteproc: meson_mx_ao_arc: Convert to platform remove callback returning void 2023-05-09 13:17:22 -06:00
mtk_common.h remoteproc: mediatek: Handle MT8195 SCP core 1 watchdog timeout 2023-09-13 11:46:16 -06:00
mtk_scp_ipi.c remoteproc: mediatek: Extract SCP common registers 2023-09-13 11:44:17 -06:00
mtk_scp.c remoteproc: mediatek: Make sure IPI buffer fits in L2TCM 2024-03-26 11:26:47 -06:00
omap_remoteproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
omap_remoteproc.h remoteproc/omap: Switch to SPDX license identifiers 2020-03-25 22:29:51 -07:00
pru_rproc.c remoteproc: pru: add support for configuring GPMUX based on client setup 2023-08-21 15:19:28 -06:00
pru_rproc.h remoteproc: pru: Add support for PRU specific interrupt configuration 2020-12-10 10:56:01 -06:00
qcom_common.c remoteproc: qcom: Expand MD_* as MINIDUMP_* 2023-07-15 13:26:52 -07:00
qcom_common.h remoteproc updates for v6.3 2023-02-26 12:18:36 -08:00
qcom_pil_info.c remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided 2021-12-13 16:58:05 -06:00
qcom_pil_info.h remoteproc: qcom: Introduce helper to store pil info in IMEM 2020-07-01 22:10:18 -07:00
qcom_q6v5_adsp.c remoteproc updates for v6.9 2024-03-21 10:37:39 -07:00
qcom_q6v5_mss.c remoteproc: qcom_q6v5_mss: Use devm_rproc_alloc() helper 2024-03-05 20:00:04 -08:00
qcom_q6v5_pas.c remoteproc: qcom_q6v5_pas: Unload lite firmware on ADSP 2024-03-05 20:02:07 -08:00
qcom_q6v5_wcss.c remoteproc: qcom_q6v5_wcss: Use devm_rproc_alloc() helper 2024-03-05 20:00:04 -08:00
qcom_q6v5.c soc: qcom: aoss: Tidy up qmp_send() callers 2023-08-13 19:27:32 -07:00
qcom_q6v5.h remoteproc: qcom: q6v5: Add interconnect path proxy vote 2022-03-11 14:22:03 -06:00
qcom_sysmon.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
qcom_wcnss_iris.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
qcom_wcnss.c remoteproc: qcom_wcnss: Use devm_rproc_alloc() helper 2024-03-05 20:00:04 -08:00
qcom_wcnss.h remoteproc: qcom: wcnss: remove unused qcom_iris_driver declaration 2022-12-28 09:50:07 -06:00
rcar_rproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
remoteproc_cdev.c remoteproc: core: Move state checking to remoteproc_core 2022-04-14 11:13:33 -06:00
remoteproc_core.c remoteproc: Make rproc_get_by_phandle() work for clusters 2024-02-06 13:48:09 -08:00
remoteproc_coredump.c remoteproc: core: Export the rproc coredump APIs 2023-07-15 12:56:48 -07:00
remoteproc_debugfs.c remoteproc: Don't bother checking the return value of debugfs_create* 2022-04-11 10:04:40 -06:00
remoteproc_elf_helpers.h remoteproc: fix an typo in fw_elf_get_class code comments 2021-07-28 14:57:30 -05:00
remoteproc_elf_loader.c ELF: fix all "Elf" typos 2023-04-08 13:45:37 -07:00
remoteproc_internal.h remoteproc: Make rproc_class constant 2024-03-26 11:24:38 -06:00
remoteproc_sysfs.c remoteproc: Make rproc_class constant 2024-03-26 11:24:38 -06:00
remoteproc_virtio.c remoteproc: virtio: Fix wdg cannot recovery remote processor 2024-01-22 15:47:47 -07:00
st_remoteproc.c remoteproc: st: Use devm_rproc_alloc() helper 2024-02-02 11:36:27 -07:00
st_slim_rproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
stm32_rproc.c remoteproc: stm32: Use devm_rproc_alloc() helper 2024-02-02 11:39:05 -07:00
ti_k3_dsp_remoteproc.c remoteproc: k3-dsp: Use devm_rproc_add() helper 2024-02-05 13:37:21 -07:00
ti_k3_r5_remoteproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
ti_sci_proc.h remoteproc: k3: Add TI-SCI processor control helper functions 2020-07-28 17:06:43 -07:00
wkup_m3_rproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
xlnx_r5_remoteproc.c remoteproc: zynqmp: fix lockstep mode memory region 2024-04-16 10:16:56 -06:00