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

Tanmay Shah tanmay.shah at amd.com
Tue Sep 5 14:48:54 PDT 2023


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 at amd.com>
> > ---
> >   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"},
> > +};
>



More information about the linux-arm-kernel mailing list