blob: 32df3b8012f9fb58c6fae5a0cd97b22da1fda70a [file] [log] [blame]
Thomas Gleixner2874c5f2019-05-27 08:55:01 +02001// SPDX-License-Identifier: GPL-2.0-or-later
Alexander Shiyan24980dc2014-07-26 13:45:28 +04002/*
3 * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
Alexander Shiyan24980dc2014-07-26 13:45:28 +04004 */
5
6#include <linux/of_platform.h>
7#include <asm/mach/arch.h>
Alexander Shiyane1291cf2016-08-06 07:56:25 +03008#include <asm/mach/map.h>
Alexander Shiyan24980dc2014-07-26 13:45:28 +04009
10#include "common.h"
Alexander Shiyane1291cf2016-08-06 07:56:25 +030011#include "hardware.h"
12
13#define MX1_AVIC_ADDR 0x00223000
14
15static void __init imx1_init_early(void)
16{
17 mxc_set_cpu_type(MXC_CPU_MX1);
18}
19
20static void __init imx1_init_irq(void)
21{
22 void __iomem *avic_addr;
23
24 avic_addr = ioremap(MX1_AVIC_ADDR, SZ_4K);
25 WARN_ON(!avic_addr);
26
27 mxc_init_irq(avic_addr);
28}
Alexander Shiyan24980dc2014-07-26 13:45:28 +040029
30static const char * const imx1_dt_board_compat[] __initconst = {
31 "fsl,imx1",
32 NULL
33};
34
35DT_MACHINE_START(IMX1_DT, "Freescale i.MX1 (Device Tree Support)")
Alexander Shiyan24980dc2014-07-26 13:45:28 +040036 .init_early = imx1_init_early,
Alexander Shiyane1291cf2016-08-06 07:56:25 +030037 .init_irq = imx1_init_irq,
Alexander Shiyan24980dc2014-07-26 13:45:28 +040038 .dt_compat = imx1_dt_board_compat,
39 .restart = mxc_restart,
40MACHINE_END