diff options
Diffstat (limited to 'arch/arm/mach-at91/sama5d4.c')
| -rw-r--r-- | arch/arm/mach-at91/sama5d4.c | 28 | 
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/sama5d4.c b/arch/arm/mach-at91/sama5d4.c index f81f11ed8deb..7638509639f4 100644 --- a/arch/arm/mach-at91/sama5d4.c +++ b/arch/arm/mach-at91/sama5d4.c @@ -25,9 +25,37 @@  /* --------------------------------------------------------------------   *  Processor initialization   * -------------------------------------------------------------------- */ +static struct map_desc at91_io_desc[] __initdata = { +	{ +	.virtual        = (unsigned long)AT91_ALT_IO_P2V(SAMA5D4_BASE_MPDDRC), +	.pfn            = __phys_to_pfn(SAMA5D4_BASE_MPDDRC), +	.length         = SZ_512, +	.type           = MT_DEVICE, +	}, +	{ +	.virtual        = (unsigned long)AT91_ALT_IO_P2V(SAMA5D4_BASE_PMC), +	.pfn            = __phys_to_pfn(SAMA5D4_BASE_PMC), +	.length         = SZ_512, +	.type           = MT_DEVICE, +	}, +	{ /* On sama5d4, we use USART3 as serial console */ +	.virtual        = (unsigned long)AT91_ALT_IO_P2V(SAMA5D4_BASE_USART3), +	.pfn            = __phys_to_pfn(SAMA5D4_BASE_USART3), +	.length         = SZ_256, +	.type           = MT_DEVICE, +	}, +	{ /* A bunch of peripheral with fine grained IO space */ +	.virtual        = (unsigned long)AT91_ALT_IO_P2V(SAMA5D4_BASE_SYS2), +	.pfn            = __phys_to_pfn(SAMA5D4_BASE_SYS2), +	.length         = SZ_2K, +	.type           = MT_DEVICE, +	}, +}; +  static void __init sama5d4_map_io(void)  { +	iotable_init(at91_io_desc, ARRAY_SIZE(at91_io_desc));  	at91_init_sram(0, SAMA5D4_NS_SRAM_BASE, SAMA5D4_NS_SRAM_SIZE);  }  | 
