Subject: Re: [PATCH V3 6/8] ARM: bcm: Add support for BCM2711 SoC

From: Nicolas Saenz Julienne <[email-masked]>
Date: Mon, 30 Sep 2019 10:21:35 +0200

On Sun, 2019-09-29 at 01:09 +0200, Stefan Wahren wrote:
> Am 28.09.19 um 21:16 schrieb Florian Fainelli:
> > On 9/28/2019 5:07 AM, Stefan Wahren wrote:
> > > Add the BCM2711 to ARCH_BCM2835, but use new machine board code
> > > because of the differences.
> > > 
> > > Signed-off-by: Stefan Wahren <[email-masked]>
> > > Reviewed-by: Eric Anholt <[email-masked]>
> > > ---
> > >  arch/arm/mach-bcm/Kconfig    |  3 ++-
> > >  arch/arm/mach-bcm/Makefile   |  3 ++-
> > >  arch/arm/mach-bcm/bcm2711.c  | 24 ++++++++++++++++++++++++
> > >  arch/arm64/Kconfig.platforms |  5 +++--
> > >  4 files changed, 31 insertions(+), 4 deletions(-)
> > >  create mode 100644 arch/arm/mach-bcm/bcm2711.c
> > > 
> > > diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
> > > index 5e5f1fa..39bcbea 100644
> > > --- a/arch/arm/mach-bcm/Kconfig
> > > +++ b/arch/arm/mach-bcm/Kconfig
> > > @@ -161,6 +161,7 @@ config ARCH_BCM2835
> > >  	select GPIOLIB
> > >  	select ARM_AMBA
> > >  	select ARM_ERRATA_411920 if ARCH_MULTI_V6
> > > +	select ARM_GIC if ARCH_MULTI_V7
> > >  	select ARM_TIMER_SP804
> > >  	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
> > >  	select TIMER_OF
> > Are not we missing a select ZONE_DMA here?
> Yes. I think for arm and arm64.

No need in arm64, see arch/arm64/Kconfig:270.

> > > @@ -169,7 +170,7 @@ config ARCH_BCM2835
> > >  	select PINCTRL_BCM2835
> > >  	select MFD_CORE
> > >  	help
> > > -	  This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
> > > +	  This enables support for the Broadcom BCM2711 and BCM283x SoCs.
> > >  	  This SoC is used in the Raspberry Pi and Roku 2 devices.
> > > 
> > >  config ARCH_BCM_53573
> > > diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile
> > > index b59c813..7baa8c9 100644
> > > --- a/arch/arm/mach-bcm/Makefile
> > > +++ b/arch/arm/mach-bcm/Makefile
> > > @@ -42,8 +42,9 @@ obj-$(CONFIG_ARCH_BCM_MOBILE_L2_CACHE) +=
> > > kona_l2_cache.o
> > >  obj-$(CONFIG_ARCH_BCM_MOBILE_SMC) += bcm_kona_smc.o
> > > 
> > >  # BCM2835
> > > -obj-$(CONFIG_ARCH_BCM2835)	+= board_bcm2835.o
> > >  ifeq ($(CONFIG_ARCH_BCM2835),y)
> > > +obj-y				+= board_bcm2835.o
> > > +obj-y				+= bcm2711.o
> > >  ifeq ($(CONFIG_ARM),y)
> > >  obj-$(CONFIG_SMP)		+= platsmp.o
> > >  endif
> > > diff --git a/arch/arm/mach-bcm/bcm2711.c b/arch/arm/mach-bcm/bcm2711.c
> > > new file mode 100644
> > > index 0000000..dbe2967
> > > --- /dev/null
> > > +++ b/arch/arm/mach-bcm/bcm2711.c
> > > @@ -0,0 +1,24 @@
> > > +// SPDX-License-Identifier: GPL-2.0+
> > > +/*
> > > + * Copyright (C) 2019 Stefan Wahren
> > > + */
> > > +
> > > +#include <linux/of_address.h>
> > > +
> > > +#include <asm/mach/arch.h>
> > > +
> > > +#include "platsmp.h"
> > > +
> > > +static const char * const bcm2711_compat[] = {
> > > +#ifdef CONFIG_ARCH_MULTI_V7
> > > +	"brcm,bcm2711",
> > > +#endif
> > > +};
> > > +
> > > +DT_MACHINE_START(BCM2711, "BCM2711")
> > > +#ifdef CONFIG_ZONE_DMA
> > > +	.dma_zone_size	= SZ_1G,
> > > +#endif
> > > +	.dt_compat = bcm2711_compat,
> > > +	.smp = smp_ops(bcm2836_smp_ops),
> > > +MACHINE_END
> > > diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> > > index 16d7614..b5d31dc 100644
> > > --- a/arch/arm64/Kconfig.platforms
> > > +++ b/arch/arm64/Kconfig.platforms
> > > @@ -37,11 +37,12 @@ config ARCH_BCM2835
> > >  	select PINCTRL
> > >  	select PINCTRL_BCM2835
> > >  	select ARM_AMBA
> > > +	select ARM_GIC
> > >  	select ARM_TIMER_SP804
> > >  	select HAVE_ARM_ARCH_TIMER
> > >  	help
> > > -	  This enables support for the Broadcom BCM2837 SoC.
> > > -	  This SoC is used in the Raspberry Pi 3 device.
> > > +	  This enables support for the Broadcom BCM2837 and BCM2711 SoC.
> > > +	  This SoC is used in the Raspberry Pi 3 and 4 device.
> > Nit:
> > 
> > These SoCs are used in the Raspberry Pi 3 and 4 devices.
> > 
> > With that:
> > 
> > Acked-by: Florian Fainelli <[email-masked]>

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel