On 31/03/2021 13:59:06+0300, Claudiu Beznea wrote: > From: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> > > Introduce new family of SoCs, sama7, and first SoC, sama7g5. > > Signed-off-by: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> > Signed-off-by: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx> > --- > 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. > +} > + > +static void __init sama7_dt_device_init(void) > +{ > + sama7_common_init(); > +} > + > +static const char *const sama7_dt_board_compat[] __initconst = { > + "microchip,sama7", > + NULL > +}; > + > +DT_MACHINE_START(sama7_dt, "Microchip SAMA7") > + /* Maintainer: Microchip */ > + .init_machine = sama7_dt_device_init, > + .dt_compat = sama7_dt_board_compat, > +MACHINE_END > + > +static const char *const sama7g5_dt_board_compat[] __initconst = { > + "microchip,sama7g5", > + NULL > +}; > + > +DT_MACHINE_START(sama7g5_dt, "Microchip SAMA7G5") > + /* Maintainer: Microchip */ > + .init_machine = sama7_dt_device_init, > + .dt_compat = sama7g5_dt_board_compat, > +MACHINE_END > + > -- > 2.25.1 > -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com