1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 3 * Copyright 2012 Sascha Hauer, Pengutronix 4 */ 5 6 #include <linux/init.h> 7 #include <asm/mach/arch.h> 8 #include <asm/mach/map.h> 9 10 #include "common.h" 11 #include "hardware.h" 12 #include "mx27.h" 13 14 /* MX27 memory map definition */ 15 static struct map_desc imx27_io_desc[] __initdata = { 16 /* 17 * this fixed mapping covers: 18 * - AIPI1 19 * - AIPI2 20 * - AITC 21 * - ROM Patch 22 * - and some reserved space 23 */ 24 imx_map_entry(MX27, AIPI, MT_DEVICE), 25 /* 26 * this fixed mapping covers: 27 * - CSI 28 * - ATA 29 */ 30 imx_map_entry(MX27, SAHB1, MT_DEVICE), 31 /* 32 * this fixed mapping covers: 33 * - EMI 34 */ 35 imx_map_entry(MX27, X_MEMC, MT_DEVICE), 36 }; 37 38 /* 39 * Initialize the memory map. It is called during the 40 * system startup to create static physical to virtual 41 * memory map for the IO modules. 42 */ 43 static void __init mx27_map_io(void) 44 { 45 iotable_init(imx27_io_desc, ARRAY_SIZE(imx27_io_desc)); 46 } 47 48 static void __init imx27_init_early(void) 49 { 50 mxc_set_cpu_type(MXC_CPU_MX27); 51 } 52 53 static const char * const imx27_dt_board_compat[] __initconst = { 54 "fsl,imx27", 55 NULL 56 }; 57 58 DT_MACHINE_START(IMX27_DT, "Freescale i.MX27 (Device Tree Support)") 59 .map_io = mx27_map_io, 60 .init_early = imx27_init_early, 61 .init_late = imx27_pm_init, 62 .dt_compat = imx27_dt_board_compat, 63 MACHINE_END 64