Messages in this thread | | | Subject | Re: [PATCH 22/24] ARM: at91: sama7: introduce sama7 SoC family | From | Nicolas Ferre <> | Date | Thu, 8 Apr 2021 17:24:39 +0200 |
| |
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?
Best regards, Nicolas
>>>> +} >>>> + >>>> +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 >>> >> >
-- Nicolas Ferre
| |