xref: /linux/arch/arm/mach-gemini/board-dt.c (revision 41d9830cd09f652936be95431cecfbac39ed09f7)
1 /*
2  * Gemini Device Tree boot support
3  */
4 #include <linux/kernel.h>
5 #include <linux/init.h>
6 #include <linux/io.h>
7 
8 #include <asm/mach/arch.h>
9 #include <asm/mach/map.h>
10 
11 #ifdef CONFIG_DEBUG_GEMINI
12 /* This is needed for LL-debug/earlyprintk/debug-macro.S */
13 static struct map_desc gemini_io_desc[] __initdata = {
14 	{
15 		.virtual = CONFIG_DEBUG_UART_VIRT,
16 		.pfn = __phys_to_pfn(CONFIG_DEBUG_UART_PHYS),
17 		.length = SZ_4K,
18 		.type = MT_DEVICE,
19 	},
20 };
21 
22 static void __init gemini_map_io(void)
23 {
24 	iotable_init(gemini_io_desc, ARRAY_SIZE(gemini_io_desc));
25 }
26 #else
27 #define gemini_map_io NULL
28 #endif
29 
30 static const char *gemini_board_compat[] = {
31 	"cortina,gemini",
32 	NULL,
33 };
34 
35 DT_MACHINE_START(GEMINI_DT, "Gemini (Device Tree)")
36 	.map_io		= gemini_map_io,
37 	.dt_compat	= gemini_board_compat,
38 MACHINE_END
39