1/* 2 * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 */ 9 10#include <linux/of_platform.h> 11#include <asm/mach/arch.h> 12#include <asm/mach/map.h> 13 14#include "common.h" 15#include "hardware.h" 16 17#define MX1_AVIC_ADDR 0x00223000 18 19static void __init imx1_init_early(void) 20{ 21 mxc_set_cpu_type(MXC_CPU_MX1); 22} 23 24static void __init imx1_init_irq(void) 25{ 26 void __iomem *avic_addr; 27 28 avic_addr = ioremap(MX1_AVIC_ADDR, SZ_4K); 29 WARN_ON(!avic_addr); 30 31 mxc_init_irq(avic_addr); 32} 33 34static const char * const imx1_dt_board_compat[] __initconst = { 35 "fsl,imx1", 36 NULL 37}; 38 39DT_MACHINE_START(IMX1_DT, "Freescale i.MX1 (Device Tree Support)") 40 .map_io = debug_ll_io_init, 41 .init_early = imx1_init_early, 42 .init_irq = imx1_init_irq, 43 .dt_compat = imx1_dt_board_compat, 44 .restart = mxc_restart, 45MACHINE_END 46