xref: /openbmc/linux/arch/arm/mach-bcm/brcmstb.c (revision 82003e04)
1 /*
2  * Copyright (C) 2013-2014 Broadcom Corporation
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation version 2.
7  *
8  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
9  * kind, whether express or implied; without even the implied warranty
10  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  */
13 
14 #include <linux/init.h>
15 #include <linux/irqchip.h>
16 #include <linux/of_platform.h>
17 #include <linux/soc/brcmstb/brcmstb.h>
18 
19 #include <asm/mach-types.h>
20 #include <asm/mach/arch.h>
21 
22 /*
23  * Storage for debug-macro.S's state.
24  *
25  * This must be in .data not .bss so that it gets initialized each time the
26  * kernel is loaded. The data is declared here rather than debug-macro.S so
27  * that multiple inclusions of debug-macro.S point at the same data.
28  */
29 u32 brcmstb_uart_config[3] = {
30 	/* Debug UART initialization required */
31 	1,
32 	/* Debug UART physical address */
33 	0,
34 	/* Debug UART virtual address */
35 	0,
36 };
37 
38 static void __init brcmstb_init_irq(void)
39 {
40 	irqchip_init();
41 	brcmstb_biuctrl_init();
42 }
43 
44 static const char *const brcmstb_match[] __initconst = {
45 	"brcm,bcm7445",
46 	"brcm,brcmstb",
47 	NULL
48 };
49 
50 DT_MACHINE_START(BRCMSTB, "Broadcom STB (Flattened Device Tree)")
51 	.dt_compat	= brcmstb_match,
52 	.init_irq	= brcmstb_init_irq,
53 MACHINE_END
54