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

From: Tanmay Shah
Date: Tue Sep 05 2023 - 17:49:38 EST



On 9/4/23 2:50 AM, Philippe Mathieu-Daudé wrote:
> 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?)


I believe we should never remove it. It's important that driver works with old bindings as well.


>
> > */
> > -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"},
> > +};
>