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