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

Claudiu.Beznea at microchip.com Claudiu.Beznea at microchip.com
Thu Apr 1 11:24:57 BST 2021


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 at microchip.com>
>>>
>>> Introduce new family of SoCs, sama7, and first SoC, sama7g5.
>>>
>>> Signed-off-by: Eugen Hristev <eugen.hristev at microchip.com>
>>> Signed-off-by: Claudiu Beznea <claudiu.beznea at 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

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



More information about the linux-arm-kernel mailing list