Re: [PATCH 22/24] ARM: at91: sama7: introduce sama7 SoC family

Alexandre Belloni
2021-04-08T17:44:15Z

On 08/04/2021 17:24:39+0200, Nicolas Ferre wrote:
> On 01/04/2021 at 12:24, Claudiu Beznea - M18063 wrote:
> > On 01.04.2021 12:38, Claudiu Beznea - M18063 wrote:
> > > On 31.03.2021 19:01, Alexandre Belloni wrote:
> > > > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> > > >
> > > > On 31/03/2021 13:59:06+0300, Claudiu Beznea wrote:
> > > > > From: Eugen Hristev <eugen.hristev@microchip.com>
> > > > >
> > > > > Introduce new family of SoCs, sama7, and first SoC, sama7g5.
> > > > >
> > > > > Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
> > > > > Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
> > > > > ---
> > > > > arch/arm/mach-at91/Makefile | 1 +
> > > > > arch/arm/mach-at91/sama7.c | 48 +++++++++++++++++++++++++++++++++++++
> > > > > 2 files changed, 49 insertions(+)
> > > > > create mode 100644 arch/arm/mach-at91/sama7.c
> > > > >
> > > > > diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
> > > > > index f565490f1b70..6cc6624cddac 100644
> > > > > --- a/arch/arm/mach-at91/Makefile
> > > > > +++ b/arch/arm/mach-at91/Makefile
> > > > > @@ -9,6 +9,7 @@ obj-$(CONFIG_SOC_AT91SAM9) += at91sam9.o
> > > > > obj-$(CONFIG_SOC_SAM9X60) += sam9x60.o
> > > > > obj-$(CONFIG_SOC_SAMA5) += sama5.o
> > > > > obj-$(CONFIG_SOC_SAMV7) += samv7.o
> > > > > +obj-$(CONFIG_SOC_SAMA7) += sama7.o
> > > > >
> > > > > # Power Management
> > > > > obj-$(CONFIG_ATMEL_PM) += pm.o pm_suspend.o
> > > > > diff --git a/arch/arm/mach-at91/sama7.c b/arch/arm/mach-at91/sama7.c
> > > > > new file mode 100644
> > > > > index 000000000000..e04cadb569ad
> > > > > --- /dev/null
> > > > > +++ b/arch/arm/mach-at91/sama7.c
> > > > > @@ -0,0 +1,48 @@
> > > > > +// SPDX-License-Identifier: GPL-2.0-or-later
> > > > > +/*
> > > > > + * Setup code for SAMA7
> > > > > + *
> > > > > + * Copyright (C) 2021 Microchip Technology, Inc. and its subsidiaries
> > > > > + *
> > > > > + */
> > > > > +
> > > > > +#include <linux/of.h>
> > > > > +#include <linux/of_platform.h>
> > > > > +
> > > > > +#include <asm/mach/arch.h>
> > > > > +#include <asm/system_misc.h>
> > > > > +
> > > > > +#include "generic.h"
> > > > > +
> > > > > +static void __init sama7_common_init(void)
> > > > > +{
> > > > > + of_platform_default_populate(NULL, NULL, NULL);
> > > >
> > > > Is this necessary? This is left as a workaround for the old SoCs using
> > > > pinctrl-at91. I guess this will be using pio4 so this has to be removed.
> > >
> > > OK, I'll have a look. BTW, SAMA5D2 which is also using PIO4 calls
> > > of_platform_default_populate(NULL, NULL, NULL);
> >
> > Without this call the PM code (arch/arm/mach-at/pm.c) is not able to locate
> > proper DT nodes:
> >
> > [ 0.194615] at91_pm_backup_init: failed to find securam device!
> > [ 0.201393] at91_pm_sram_init: failed to find sram device!
> > [ 0.207449] AT91: PM not supported, due to no SRAM allocated
>
> Okay, so we can't afford removing these calls to sama5d2 and upcoming
> sama7g5 right now.
>
> Is it a common pattern to have to reach DT content in the early stages that
> explicit call to of_platform_default_populate() tries to solve?
>

That's fine, I didn't remember about that one, we can keep the call.

--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering