arch/arm/mach-bcm/board_bcmbca.c

Source file repositories/reference/linux-study-clean/arch/arm/mach-bcm/board_bcmbca.c

File Facts

System
Linux kernel
Corpus path
arch/arm/mach-bcm/board_bcmbca.c
Extension
.c
Size
792 bytes
Lines
32
Domain
Architecture Layer
Bucket
arch/arm
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

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

Annotation

Implementation Notes