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
18 #include <asm/mach-types.h>
19 #include <asm/mach/arch.h>
20
21 /*
22 * Storage for debug-macro.S's state.
23 *
24 * This must be in .data not .bss so that it gets initialized each time the
25 * kernel is loaded. The data is declared here rather than debug-macro.S so
26 * that multiple inclusions of debug-macro.S point at the same data.
27 */
28 u32 brcmstb_uart_config[3] = {
29 /* Debug UART initialization required */
30 1,
31 /* Debug UART physical address */
32 0,
33 /* Debug UART virtual address */
34 0,
35 };
36
brcmstb_init_irq(void)37 static void __init brcmstb_init_irq(void)
38 {
39 irqchip_init();
40 }
41
42 static const char *const brcmstb_match[] __initconst = {
43 "brcm,bcm7445",
44 "brcm,brcmstb",
45 NULL
46 };
47
48 DT_MACHINE_START(BRCMSTB, "Broadcom STB (Flattened Device Tree)")
49 .dt_compat = brcmstb_match,
50 .init_irq = brcmstb_init_irq,
51 MACHINE_END
52