Unverified Commit aa68ce3b authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'arm-soc/for-5.20/soc' of https://github.com/Broadcom/stblinux into arm/soc

This pull request contains Broadcom SoC drivers changes for 5.20, please
pull the following:

- Miaoqian fixes a device_node reference count leak in the Kona SMC
  initialization code

- William moves the 63138 support code to use CONFIG_ARCH_BCMBCA which
  is how all of those similar SoCs from the BCA division are supported
  moving forward. This includes machine code and UART low-level debug
  code.

* tag 'arm-soc/for-5.20/soc' of https://github.com/Broadcom/stblinux:
  ARM: debug: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  arm: bcmbca: Add BCMBCA sub platforms
  arm: bcmbca: Move BCM63138 ARCH_BCM_63XX to ARCH_BCMBCA
  ARM: bcm: Fix refcount leak in bcm_kona_smc_init

Link: https://lore.kernel.org/r/20220711164451.3542127-8-f.fainelli@gmail.com


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 11055c32 fa0ef5a0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -271,7 +271,7 @@ choice

	config DEBUG_BCM63XX_UART
		bool "Kernel low-level debugging on BCM63XX UART"
		depends on ARCH_BCM_63XX
		depends on ARCH_BCMBCA

	config DEBUG_BERLIN_UART
		bool "Marvell Berlin SoC Debug UART"
+43 −18
Original line number Diff line number Diff line
@@ -182,23 +182,6 @@ config ARCH_BCM_53573
	  The base chip is BCM53573 and there are some packaging modifications
	  like BCM47189 and BCM47452.

config ARCH_BCM_63XX
	bool "Broadcom BCM63xx DSL SoC"
	depends on ARCH_MULTI_V7
	select ARCH_HAS_RESET_CONTROLLER
	select ARM_ERRATA_754322
	select ARM_ERRATA_764369 if SMP
	select ARM_GIC
	select ARM_GLOBAL_TIMER
	select CACHE_L2X0
	select HAVE_ARM_ARCH_TIMER
	select HAVE_ARM_TWD if SMP
	select HAVE_ARM_SCU if SMP
	help
	  This enables support for systems based on Broadcom DSL SoCs.
	  It currently supports the 'BCM63XX' ARM-based family, which includes
	  the BCM63138 variant.

config ARCH_BRCMSTB
	bool "Broadcom BCM7XXX based boards"
	depends on ARCH_MULTI_V7
@@ -218,7 +201,7 @@ config ARCH_BRCMSTB
	  This enables support for Broadcom ARM-based set-top box chipsets,
	  including the 7445 family of chips.

config ARCH_BCMBCA
menuconfig ARCH_BCMBCA
	bool "Broadcom Broadband SoC"
	depends on ARCH_MULTI_V7
	select ARM_AMBA
@@ -230,4 +213,46 @@ config ARCH_BCMBCA

	  This enables support for Broadcom BCA ARM-based broadband chipsets,
	  including the DSL, PON and Wireless family of chips.

comment "BCMBCA sub platforms"

if ARCH_BCMBCA

config ARCH_BCMBCA_CORTEXA7
	bool "Cortex-A7 SoCs"
	help
	  Say Y if you intend to run the kernel on a Broadcom Broadband ARM A7
	  based chipset.

	  This enables support for Broadcom BCA ARM A7 broadband chipsets,
	  including various DSL, PON and Wireless family of chips.

config ARCH_BCMBCA_CORTEXA9
	bool "Cortex-A9 SoCS"
	select ARM_ERRATA_754322
	select ARM_ERRATA_764369 if SMP
	select ARCH_HAS_RESET_CONTROLLER
	select ARM_GLOBAL_TIMER
	select CACHE_L2X0
	select HAVE_ARM_TWD if SMP
	select HAVE_ARM_SCU if SMP
	help
	  Say Y if you intend to run the kernel on a Broadcom Broadband ARM A9
	  based BCA chipset.

	  This enables support for Broadcom BCA ARM A9 broadband chipset. Currently
	  only DSL chip BCM63138.

config ARCH_BCMBCA_BRAHMAB15
	bool "Brahma-B15 SoCs"
	select ARM_ERRATA_798181 if SMP
	help
	  Say Y if you intend to run the kernel on a Broadcom Broadband ARM B15
	  based BCA chipset.

	  This enables support for Broadcom BCA ARM B15 broadband chipset. Currently
	  only DSL chip BCM63148.

endif

endif
+5 −6
Original line number Diff line number Diff line
@@ -57,14 +57,13 @@ ifeq ($(CONFIG_ARCH_BCM_5301X),y)
obj-$(CONFIG_SMP)		+= platsmp.o
endif

# BCM63XXx
ifeq ($(CONFIG_ARCH_BCM_63XX),y)
obj-y				+= bcm63xx.o
obj-$(CONFIG_SMP)		+= bcm63xx_smp.o bcm63xx_pmb.o
endif

ifeq ($(CONFIG_ARCH_BRCMSTB),y)
CFLAGS_platsmp-brcmstb.o	+= -march=armv7-a
obj-y				+= brcmstb.o
obj-$(CONFIG_SMP)		+= platsmp-brcmstb.o
endif

# BCMBCA
ifeq ($(CONFIG_ARCH_BCMBCA),y)
obj-$(CONFIG_SMP)		+= bcm63xx_smp.o bcm63xx_pmb.o
endif

arch/arm/mach-bcm/bcm63xx.c

deleted100644 → 0
+0 −27
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 Broadcom Corporation
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation version 2.
 *
 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
 * kind, whether express or implied; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include <linux/of_platform.h>

#include <asm/mach/arch.h>

static const char * const bcm63xx_dt_compat[] = {
	"brcm,bcm63138",
	NULL
};

DT_MACHINE_START(BCM63XXX_DT, "BCM63xx DSL SoC")
	.dt_compat	= bcm63xx_dt_compat,
	.l2c_aux_val	= 0,
	.l2c_aux_mask	= ~0,
MACHINE_END
+1 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ int __init bcm_kona_smc_init(void)
		return -ENODEV;

	prop_val = of_get_address(node, 0, &prop_size, NULL);
	of_node_put(node);
	if (!prop_val)
		return -EINVAL;