diff mbox series

[v7,08/10] arm64: Kconfig.platforms: Add config for Marvell PXA1908 platform

Message ID 20231102152033.5511-3-duje.mihanovic@skole.hr
State New
Headers show
Series [v7,01/10] clk: mmp: Switch to use struct u32_fract instead of custom one | expand

Commit Message

Duje Mihanović Nov. 2, 2023, 3:20 p.m. UTC
Add ARCH_MMP configuration option for Marvell PXA1908 SoC.

Signed-off-by: Duje Mihanović <duje.mihanovic@skole.hr>
---
 arch/arm64/Kconfig.platforms | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Robin Murphy Nov. 3, 2023, 3:34 p.m. UTC | #1
On 2023-11-02 3:20 pm, Duje Mihanović wrote:
> Add ARCH_MMP configuration option for Marvell PXA1908 SoC.
> 
> Signed-off-by: Duje Mihanović <duje.mihanovic@skole.hr>
> ---
>   arch/arm64/Kconfig.platforms | 11 +++++++++++
>   1 file changed, 11 insertions(+)
> 
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 6069120199bb..b417cae42c84 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -89,6 +89,17 @@ config ARCH_BERLIN
>   	help
>   	  This enables support for Marvell Berlin SoC Family
>   
> +config ARCH_MMP
> +	bool "Marvell MMP SoC Family"
> +	select ARM_GIC
> +	select ARM_ARCH_TIMER
> +	select ARM_SMMU

NAK, not only is selecting user-visible symbols generally frowned upon, 
and ignoring their dependencies even worse, but for a multiplatform 
kernel the user may well want this to be a module.

If having the SMMU driver built-in is somehow fundamentally required for 
this platform to boot, that would represent much bigger problems.

Thanks,
Robin.

> +	select MMP_PDMA
> +	select PINCTRL_SINGLE
> +	help
> +	  This enables support for Marvell MMP SoC family, currently
> +	  supporting PXA1908 aka IAP140.
> +
>   config ARCH_BITMAIN
>   	bool "Bitmain SoC Platforms"
>   	help
Duje Mihanović Nov. 3, 2023, 5:02 p.m. UTC | #2
On Friday, November 3, 2023 4:34:54 PM CET Robin Murphy wrote:
> On 2023-11-02 3:20 pm, Duje Mihanović wrote:
> > +config ARCH_MMP
> > +	bool "Marvell MMP SoC Family"
> > +	select ARM_GIC
> > +	select ARM_ARCH_TIMER
> > +	select ARM_SMMU
> 
> NAK, not only is selecting user-visible symbols generally frowned upon,
> and ignoring their dependencies even worse, but for a multiplatform
> kernel the user may well want this to be a module.
> 
> If having the SMMU driver built-in is somehow fundamentally required for
> this platform to boot, that would represent much bigger problems.

The SoC can boot without SMMU and PDMA, but not GIC, pinctrl or the arch 
timer. I see that most other SoCs still select drivers and frameworks they 
presumably need for booting, with the exceptions of ARCH_BITMAIN, ARCH_LG1K 
and a couple others. Which of these two options should I go for?

Regards,
Duje
Robin Murphy Nov. 3, 2023, 5:51 p.m. UTC | #3
On 2023-11-03 5:02 pm, Duje Mihanović wrote:
> On Friday, November 3, 2023 4:34:54 PM CET Robin Murphy wrote:
>> On 2023-11-02 3:20 pm, Duje Mihanović wrote:
>>> +config ARCH_MMP
>>> +	bool "Marvell MMP SoC Family"
>>> +	select ARM_GIC
>>> +	select ARM_ARCH_TIMER
>>> +	select ARM_SMMU
>>
>> NAK, not only is selecting user-visible symbols generally frowned upon,
>> and ignoring their dependencies even worse, but for a multiplatform
>> kernel the user may well want this to be a module.
>>
>> If having the SMMU driver built-in is somehow fundamentally required for
>> this platform to boot, that would represent much bigger problems.
> 
> The SoC can boot without SMMU and PDMA, but not GIC, pinctrl or the arch
> timer. I see that most other SoCs still select drivers and frameworks they
> presumably need for booting, with the exceptions of ARCH_BITMAIN, ARCH_LG1K
> and a couple others. Which of these two options should I go for?

Well, you don't really need to select ARM_GIC or ARM_ARCH_TIMER here 
either, since those are already selected by ARM64 itself. Keeping 
PINCTRL_SINGLE is fair, although you should also select PINCTRL as its 
dependency.

As an additional nit, the file seems to be primarily ordered by symbol 
name, so it might be nice to slip ARCH_MMC in between ARCH_MESON and 
ARCH_MVEBU.

Cheers,
Robin.
diff mbox series

Patch

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 6069120199bb..b417cae42c84 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -89,6 +89,17 @@  config ARCH_BERLIN
 	help
 	  This enables support for Marvell Berlin SoC Family
 
+config ARCH_MMP
+	bool "Marvell MMP SoC Family"
+	select ARM_GIC
+	select ARM_ARCH_TIMER
+	select ARM_SMMU
+	select MMP_PDMA
+	select PINCTRL_SINGLE
+	help
+	  This enables support for Marvell MMP SoC family, currently
+	  supporting PXA1908 aka IAP140.
+
 config ARCH_BITMAIN
 	bool "Bitmain SoC Platforms"
 	help