2019-05-27 09:55:08 +03:00
// SPDX-License-Identifier: GPL-2.0-or-later
2012-02-29 00:57:50 +04:00
/*
* Copyright 2012 Sascha Hauer , Pengutronix
*/
2020-09-11 15:40:28 +03:00
# include <linux/init.h>
2012-02-29 00:57:50 +04:00
# include <linux/irq.h>
2020-09-11 15:40:29 +03:00
# include <linux/of_address.h>
2012-02-29 00:57:50 +04:00
# include <linux/of_irq.h>
# include <linux/of_platform.h>
2020-09-11 15:40:28 +03:00
# include <linux/mm.h>
2012-02-29 00:57:50 +04:00
# include <asm/mach/arch.h>
2020-09-11 15:40:28 +03:00
# include <asm/mach/map.h>
2012-02-29 00:57:50 +04:00
# include <asm/mach/time.h>
2012-09-13 17:01:00 +04:00
# include "common.h"
2020-09-11 15:40:28 +03:00
# include "hardware.h"
2012-09-14 10:14:45 +04:00
# include "mx27.h"
2012-09-13 17:01:00 +04:00
2020-09-11 15:40:28 +03:00
/* MX27 memory map definition */
static struct map_desc imx27_io_desc [ ] __initdata = {
/*
* this fixed mapping covers :
* - AIPI1
* - AIPI2
* - AITC
* - ROM Patch
* - and some reserved space
*/
imx_map_entry ( MX27 , AIPI , MT_DEVICE ) ,
/*
* this fixed mapping covers :
* - CSI
* - ATA
*/
imx_map_entry ( MX27 , SAHB1 , MT_DEVICE ) ,
/*
* this fixed mapping covers :
* - EMI
*/
imx_map_entry ( MX27 , X_MEMC , MT_DEVICE ) ,
} ;
/*
* Initialize the memory map . It is called during the
* system startup to create static physical to virtual
* memory map for the IO modules .
*/
static void __init mx27_map_io ( void )
{
iotable_init ( imx27_io_desc , ARRAY_SIZE ( imx27_io_desc ) ) ;
}
static void __init imx27_init_early ( void )
{
mxc_set_cpu_type ( MXC_CPU_MX27 ) ;
}
2012-06-08 14:04:50 +04:00
static const char * const imx27_dt_board_compat [ ] __initconst = {
2012-02-29 00:57:50 +04:00
" fsl,imx27 " ,
NULL
} ;
DT_MACHINE_START ( IMX27_DT , " Freescale i.MX27 (Device Tree Support) " )
. map_io = mx27_map_io ,
. init_early = imx27_init_early ,
2016-06-28 05:22:16 +03:00
. init_late = imx27_pm_init ,
2012-02-29 00:57:50 +04:00
. dt_compat = imx27_dt_board_compat ,
MACHINE_END