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.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmLMTXEACgkQh9CWnEQH
 BwS5OQ/+OwDhRzkKb1Okj3sdC6FsDDBa2sDqRVu+8BL3+Y03lrTiENsK/21yOItZ
 YBZfX9WmKoSpn1wE40YMN33R6GeZ0OVCttpuMRdVV0Zyi2KfflfP5iyP97TtH9Bz
 m4/N1l5f4pNHO4/n4yVHTGOnXJ59wU1ppeLtBkdcpicfIefVOnresLgKL4sD1bID
 TCH1BlX6Zxxgr2SKrMft00E3bi38DIULZgRp1mU/5hu5jUTk32hrH3E79tMJjqfG
 OcLYXYbUEbXw/YU53gbDYWlGUsE9ng+1Jf6kJDBW1a6HJjjx2mDW75xj3UUF4+9C
 qHhatblvh5s8GCvoEJkK6k5DISDW+3a/Lixz4JTDFkQpzx0F3fOASOnu9YQCTBIr
 erjq/3LENh8o+HjeHtM90Z+d1wCjUWJNMTQmm5wtoez37FVoDZU+S+onM/FBSKLv
 e7i1TSz+K9AcwpqVVPFKqvMhqYfmSGKu9E0xgDOy4vagn65PQMeq9M2K/OuASl53
 LSI6sc9dN2nhcqG/JV0vP6411x2fTegOH4b4nIMcduNDutNppn1TilvpktGBBMn4
 Xp1ZqJzdXMblUb5bMqepkBBvz39CCdyiT+bOzaapBW4Gt9mD5Iu90fYBk2gqbDfU
 TipwXHBmJU2cpGtUieFrbVDPB2feUyUyM9oRc9BnyHl5br93Q/A=
 =VsJl
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLPJfEACgkQmmx57+YA
 GNntPg//bmjLQVLyAy4lNWR31yikqXULe5iIOBG5I5MzaHq13i5AKU+8pD6GVjG7
 NL1ay70DaXmYdt2xGey8KQPN/UfX5TpPvBNz9GDTGG8X7+YvqRc4r8HDx+3xsMSP
 /e19xWw2trdkpDL1c9S1k7aBHMvxxKrdKHrIOS5pQfy/sSrTPCOKvnsbPDWihuRc
 A0H9dxjLGr99qv3ANbdXZ4+QKdN6KLOXWwR+xv99W7rbpExtMzW13Rkcj9cwHEn9
 9sjMvqpQ65EhaX4oLe/XSzu5IXNUrH4KBy9GfaiJENnWyhOEY1hi7HHr6jUYg7pc
 euLtLFS9r/UPIGa/y6p+D5fxyTIuh448MFaXJ0k1MdksnNNkkHN3QD99yTtQ+Yt2
 7fGW3gZG037h5wa6V4Z7LdyIgkWfpkkkXf7CWGRdW7h9OHJz1akmx9lMdBvwFA7g
 BxGQjljqzK1QVG+x6xeLg1KdT4hp8CFLQZ7lYegK9xmk9puYWm2JCvMqPCP2nT73
 9f4Tk2YNPbjSKO4sdYdgoMwwcKNZynAOueNsjyufWUev+8A1VJdsO4m+Ib/fxPwN
 A+IZmKenIAr/SKVGL/wmix2rHqQGF3KlZ9QEt5pXOo2y2Ds/9JGdmQbhq/6mOv1x
 5yT0rvTDm25YtncW2xTcb8qHVWwIGx4nyepueuLTOI8ci7ktCrY=
 =6GeZ
 -----END PGP SIGNATURE-----

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
commit aa68ce3bcb
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;