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