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 */ 15static 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 */ 43static void __init mx27_map_io(void) 44{ 45 iotable_init(imx27_io_desc, ARRAY_SIZE(imx27_io_desc)); 46} 47 48static void __init imx27_init_early(void) 49{ 50 mxc_set_cpu_type(MXC_CPU_MX27); 51} 52 53static const char * const imx27_dt_board_compat[] __initconst = { 54 "fsl,imx27", 55 NULL 56}; 57 58DT_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, 63MACHINE_END 64