Unverified Commit 1c8f196d authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

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

This pull request contains Broadcom ARM-based SoC changes for 6.13,
please pull the following:

- Linus adds support for the debug UART on BCM6846 (BCMBCA) platform

- Florian dros the custom init_irq() callback which does the same thing
  as the standard irqchip_init()

* tag 'arm-soc/for-6.13/soc' of https://github.com/Broadcom/stblinux:
  ARM: bcm: brcmstb: Drop custom init_irq callback
  ARM: bcm: Support BCMBCA debug UART

Link: https://lore.kernel.org/r/20241028035449.734504-2-florian.fainelli@broadcom.com


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 42f7652d 4ee0bd85
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -242,6 +242,10 @@ choice
		depends on ARCH_BCM_5301X || ARCH_BCM_NSP
		select DEBUG_UART_8250

	config DEBUG_BCMBCA
		bool "Kernel low-level debugging on BCMBCA UART0"
		depends on ARCH_BCMBCA

	config DEBUG_BCM_HR2
		bool "Kernel low-level debugging on Hurricane 2 UART2"
		depends on ARCH_BCM_HR2
@@ -1526,7 +1530,7 @@ config DEBUG_LL_INCLUDE
	default "debug/vf.S" if DEBUG_VF_UART
	default "debug/vt8500.S" if DEBUG_VT8500_UART0
	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
	default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
	default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART || DEBUG_BCMBCA
	default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
	default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
	default "mach/debug-macro.S"
@@ -1640,6 +1644,7 @@ config DEBUG_UART_PHYS
	default 0xfe531000 if DEBUG_STIH41X_SBC_ASC1
	default 0xfed32000 if DEBUG_STIH41X_ASC2
	default 0xff690000 if DEBUG_RK32_UART2
	default 0xff800640 if DEBUG_BCMBCA
	default 0xffc02000 if DEBUG_SOCFPGA_UART0
	default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1
	default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
@@ -1664,7 +1669,7 @@ config DEBUG_UART_PHYS
		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
		DEBUG_RMOBILE_SCIFA4 || \
		DEBUG_S3C64XX_UART || \
		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
		DEBUG_BCM63XX_UART || DEBUG_BCMBCA || DEBUG_ASM9260_UART || \
		DEBUG_DIGICOLOR_UA0 || \
		DEBUG_AT91_UART || DEBUG_STM32_UART || \
		DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
@@ -1734,6 +1739,7 @@ config DEBUG_UART_VIRT
	default 0xfe018000 if DEBUG_MMP_UART3
	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
	default 0xfe300000 if DEBUG_BCM_KONA_UART
	default 0xfe300640 if DEBUG_BCMBCA
	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
	default 0xfeb24000 if DEBUG_RK3X_UART0
	default 0xfeb26000 if DEBUG_RK3X_UART1
@@ -1765,7 +1771,7 @@ config DEBUG_UART_VIRT
		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
		DEBUG_QCOM_UARTDM || \
		DEBUG_S3C64XX_UART || \
		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
		DEBUG_BCM63XX_UART || DEBUG_BCMBCA || DEBUG_ASM9260_UART || \
		DEBUG_DIGICOLOR_UA0 || \
		DEBUG_AT91_UART || DEBUG_STM32_UART || \
		DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
+1 −0
Original line number Diff line number Diff line
@@ -58,5 +58,6 @@ endif

# BCMBCA
ifeq ($(CONFIG_ARCH_BCMBCA),y)
obj-$(CONFIG_DEBUG_BCMBCA)	+= board_bcmbca.o
obj-$(CONFIG_SMP)		+= bcm63xx_smp.o bcm63xx_pmb.o
endif
+31 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
// Copyright (C) 2024 Linus Walleij <linus.walleij@linaro.org>

#include <asm/mach/arch.h>
#include <asm/mach/map.h>

/* This is needed for LL-debug/earlyprintk/debug-macro.S */
static struct map_desc bcmbca_io_desc[] __initdata = {
	{
		.virtual = CONFIG_DEBUG_UART_VIRT,
		.pfn = __phys_to_pfn(CONFIG_DEBUG_UART_PHYS),
		.length = SZ_4K,
		.type = MT_DEVICE,
	},
};

static void __init bcmbca_map_io(void)
{
	iotable_init(bcmbca_io_desc, ARRAY_SIZE(bcmbca_io_desc));
}

static const char * const bcmbca_dt_compat[] = {
	/* TODO: Add other BCMBCA SoCs here to get debug UART support */
	"brcm,bcm6846",
	NULL,
};

DT_MACHINE_START(BCMBCA_DT, "BCMBCA Broadband Access Processors")
	.map_io = bcmbca_map_io,
	.dt_compat = bcmbca_dt_compat,
MACHINE_END
+0 −6
Original line number Diff line number Diff line
@@ -23,11 +23,6 @@ u32 brcmstb_uart_config[3] = {
	0,
};

static void __init brcmstb_init_irq(void)
{
	irqchip_init();
}

static const char *const brcmstb_match[] __initconst = {
	"brcm,bcm7445",
	"brcm,brcmstb",
@@ -36,5 +31,4 @@ static const char *const brcmstb_match[] __initconst = {

DT_MACHINE_START(BRCMSTB, "Broadcom STB (Flattened Device Tree)")
	.dt_compat	= brcmstb_match,
	.init_irq	= brcmstb_init_irq,
MACHINE_END