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

Claudiu.Beznea
2021-04-01T09:39:44Z

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);

>
>> +}
>> +
>> +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
>