linux-stable/drivers/remoteproc
Suman Anna 34f2653686 remoteproc: k3-r5: Initialize TCM memories for ECC
The R5F processors on K3 SoCs all have two TCMs (ATCM and BTCM) that
support 32-bit ECC. The TCMs are typically loaded with some boot-up
code to initialize the R5 MPUs to further execute code out of DDR.
The ECC for the TCMs is enabled by default on K3 SoCs due to internal
default tie-off values, but the TCM memories are not initialized on
device power up. Any read access without the corresponding TCM memory
location initialized will generate an ECC error, and any such access
from a A72 or A53 core will trigger a SError.

So, zero initialize both the TCM memories before loading any firmware
onto a R5F in remoteproc mode. Any R5F booted from U-Boot/SPL would
require a similar initialization in the bootloader. Note that both
the TCMs are initialized unconditionally as the TCM enable config bits
only manage the access and visibility from R5.

Signed-off-by: Suman Anna <s-anna@ti.com>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Link: https://lore.kernel.org/r/20201002234234.20704-4-s-anna@ti.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2020-10-13 18:34:39 -05:00
..
da8xx_remoteproc.c remoteproc: Remove dev_err() usage after platform_get_irq() 2019-08-26 21:59:58 -07:00
imx_rproc.c remoteproc: Use size_t type for len in da_to_va 2020-03-25 22:29:38 -07:00
ingenic_rproc.c remoteproc: ingenic: Move clock handling to prepare/unprepare callbacks 2020-07-01 16:05:18 -07:00
Kconfig remoteproc: k3-r5: Add a remoteproc driver for R5F subsystem 2020-10-13 18:34:38 -05:00
keystone_remoteproc.c remoteproc: Use size_t type for len in da_to_va 2020-03-25 22:29:38 -07:00
Makefile remoteproc: k3-r5: Add a remoteproc driver for R5F subsystem 2020-10-13 18:34:38 -05:00
mtk_common.h remoteproc/mediatek: Add support for mt8192 SCP 2020-09-25 23:37:42 -05:00
mtk_scp.c remoteproc/mediatek: Add support for mt8192 SCP 2020-09-25 23:37:42 -05:00
mtk_scp_ipi.c remoteproc/mediatek: Add support for mt8192 SCP 2020-09-25 23:37:42 -05:00
omap_remoteproc.c remoteproc/omap: Fix set_load call in omap_rproc_request_timer 2020-04-03 10:47:21 -07:00
omap_remoteproc.h remoteproc/omap: Switch to SPDX license identifiers 2020-03-25 22:29:51 -07:00
qcom_common.c remoteproc: qcom: Add missing slab.h 2020-07-13 11:54:27 -07:00
qcom_common.h remoteproc: qcom: Add per subsystem SSR notification 2020-07-08 21:45:03 -07:00
qcom_pil_info.c remoteproc: qcom: pil-info: Fix shift overflow 2020-07-16 21:30:35 -07: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.c remoteproc: qcom: q6v5: Update running state before requesting stop 2020-07-27 23:21:31 -07:00
qcom_q6v5.h remoteproc: qcom: q6v5: Add common panic handler 2020-03-25 22:29:45 -07:00
qcom_q6v5_adsp.c remoteproc: qcom: Update PIL relocation info on load 2020-07-01 22:10:19 -07:00
qcom_q6v5_mss.c remoteproc: qcom_q6v5: Assign mpss region to Q6 before MBA boot 2020-09-25 23:33:23 -05:00
qcom_q6v5_pas.c remoteproc: qcom: Update PIL relocation info on load 2020-07-01 22:10:19 -07:00
qcom_q6v5_wcss.c remoteproc: qcom: Update PIL relocation info on load 2020-07-01 22:10:19 -07:00
qcom_sysmon.c remoteproc: qcom_sysmon: Solve function header bitrot issues 2020-07-15 12:18:20 -07:00
qcom_wcnss.c remoteproc: qcom: Update PIL relocation info on load 2020-07-01 22:10:19 -07:00
qcom_wcnss.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qcom_wcnss_iris.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
remoteproc_cdev.c remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
remoteproc_core.c remoteproc: core: Register the character device interface 2020-08-04 20:17:08 -07:00
remoteproc_coredump.c remoteproc: Add inline coredump functionality 2020-07-21 14:03:57 -07:00
remoteproc_debugfs.c remoteproc: Fixup coredump debugfs disable request 2020-09-25 23:33:23 -05:00
remoteproc_elf_helpers.h remoteproc: Add elf helpers to access elf64 and elf32 fields 2020-03-25 22:29:39 -07:00
remoteproc_elf_loader.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
remoteproc_internal.h remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
remoteproc_sysfs.c remoteproc: Properly handle firmware name when attaching 2020-07-16 23:06:15 -07:00
remoteproc_virtio.c remoteproc: Fall back to using parent memory pool if no dedicated available 2020-05-12 16:08:00 -07:00
st_remoteproc.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
st_slim_rproc.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
stm32_rproc.c remoteproc: stm32: Fix pointer assignement 2020-09-15 03:45:57 +00:00
ti_k3_dsp_remoteproc.c remoteproc: k3-dsp: Add support for C71x DSPs 2020-07-28 17:08:32 -07:00
ti_k3_r5_remoteproc.c remoteproc: k3-r5: Initialize TCM memories for ECC 2020-10-13 18:34:39 -05: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: Use size_t type for len in da_to_va 2020-03-25 22:29:38 -07:00