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: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann
2022-07-13 22:07:12 +02:00
5 changed files with 50 additions and 52 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -1,27 +0,0 @@
/*
* 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

View File

@@ -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;