Re: [PATCH v4 3/3] remoteproc: zynqmp: get TCM from device-tree

From: Philippe Mathieu-Daudé
Date: Mon Sep 04 2023 - 03:50:45 EST


Hi,

On 29/8/23 20:19, Tanmay Shah wrote:
Use new dt bindings to get TCM address and size
information. Also make sure that driver stays
compatible with previous device-tree bindings.
So, if TCM information isn't available in device-tree
for zynqmp platform, hard-coded address of TCM will
be used.

New platforms that are compatible with this
driver must add TCM support in device-tree as per new
bindings.

Signed-off-by: Tanmay Shah <tanmay.shah@xxxxxxx>
---
drivers/remoteproc/xlnx_r5_remoteproc.c | 279 +++++++++++++++++++-----
1 file changed, 221 insertions(+), 58 deletions(-)


/**
@@ -75,11 +79,17 @@ struct mbox_info {
* Hardcoded TCM bank values. This will be removed once TCM bindings are
* accepted for system-dt specifications and upstreamed in linux kernel

Just curious, for how long this fall back code has to be maintained?
(When/how will we know we can remove it?)

*/
-static const struct mem_bank_data zynqmp_tcm_banks[] = {
- {0xffe00000UL, 0x10000UL, PD_R5_0_ATCM, "atcm0"}, /* TCM 64KB each */
- {0xffe20000UL, 0x10000UL, PD_R5_0_BTCM, "btcm0"},
- {0xffe90000UL, 0x10000UL, PD_R5_1_ATCM, "atcm1"},
- {0xffeb0000UL, 0x10000UL, PD_R5_1_BTCM, "btcm1"},
+static const struct mem_bank_data zynqmp_tcm_banks_split[] = {
+ {0xffe00000, 0x0, 0x10000, PD_R5_0_ATCM, 0, "atcm0"}, /* TCM 64KB each */
+ {0xffe20000, 0x20000, 0x10000, PD_R5_0_BTCM, 0, "btcm0"},
+ {0xffe90000, 0x0, 0x10000, PD_R5_1_ATCM, 0, "atcm1"},
+ {0xffeb0000, 0x20000, 0x10000, PD_R5_1_BTCM, 0, "btcm1"},
+};