xref: /linux/arch/arm/mach-bcm/brcmstb.c (revision 552c69b36ebd966186573b9c7a286b390935cce1)
14fbe66d9SMarc Carino /*
24fbe66d9SMarc Carino  * Copyright (C) 2013-2014 Broadcom Corporation
34fbe66d9SMarc Carino  *
44fbe66d9SMarc Carino  * This program is free software; you can redistribute it and/or
54fbe66d9SMarc Carino  * modify it under the terms of the GNU General Public License as
64fbe66d9SMarc Carino  * published by the Free Software Foundation version 2.
74fbe66d9SMarc Carino  *
84fbe66d9SMarc Carino  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
94fbe66d9SMarc Carino  * kind, whether express or implied; without even the implied warranty
104fbe66d9SMarc Carino  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
114fbe66d9SMarc Carino  * GNU General Public License for more details.
124fbe66d9SMarc Carino  */
134fbe66d9SMarc Carino 
144fbe66d9SMarc Carino #include <linux/init.h>
15c4a8ea9eSFlorian Fainelli #include <linux/irqchip.h>
164fbe66d9SMarc Carino #include <linux/of_platform.h>
174fbe66d9SMarc Carino 
184fbe66d9SMarc Carino #include <asm/mach-types.h>
194fbe66d9SMarc Carino #include <asm/mach/arch.h>
204fbe66d9SMarc Carino 
21*d0cf9d8aSFlorian Fainelli /*
22*d0cf9d8aSFlorian Fainelli  * Storage for debug-macro.S's state.
23*d0cf9d8aSFlorian Fainelli  *
24*d0cf9d8aSFlorian Fainelli  * This must be in .data not .bss so that it gets initialized each time the
25*d0cf9d8aSFlorian Fainelli  * kernel is loaded. The data is declared here rather than debug-macro.S so
26*d0cf9d8aSFlorian Fainelli  * that multiple inclusions of debug-macro.S point at the same data.
27*d0cf9d8aSFlorian Fainelli  */
28*d0cf9d8aSFlorian Fainelli u32 brcmstb_uart_config[3] = {
29*d0cf9d8aSFlorian Fainelli 	/* Debug UART initialization required */
30*d0cf9d8aSFlorian Fainelli 	1,
31*d0cf9d8aSFlorian Fainelli 	/* Debug UART physical address */
32*d0cf9d8aSFlorian Fainelli 	0,
33*d0cf9d8aSFlorian Fainelli 	/* Debug UART virtual address */
34*d0cf9d8aSFlorian Fainelli 	0,
35*d0cf9d8aSFlorian Fainelli };
36*d0cf9d8aSFlorian Fainelli 
37c4a8ea9eSFlorian Fainelli static void __init brcmstb_init_irq(void)
38c4a8ea9eSFlorian Fainelli {
39c4a8ea9eSFlorian Fainelli 	irqchip_init();
40c4a8ea9eSFlorian Fainelli }
41c4a8ea9eSFlorian Fainelli 
42543c5040SUwe Kleine-König static const char *const brcmstb_match[] __initconst = {
434fbe66d9SMarc Carino 	"brcm,bcm7445",
444fbe66d9SMarc Carino 	"brcm,brcmstb",
454fbe66d9SMarc Carino 	NULL
464fbe66d9SMarc Carino };
474fbe66d9SMarc Carino 
484fbe66d9SMarc Carino DT_MACHINE_START(BRCMSTB, "Broadcom STB (Flattened Device Tree)")
494fbe66d9SMarc Carino 	.dt_compat	= brcmstb_match,
50c4a8ea9eSFlorian Fainelli 	.init_irq	= brcmstb_init_irq,
514fbe66d9SMarc Carino MACHINE_END
52