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