1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 *  Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
4 */
5
6#include <linux/of_platform.h>
7#include <asm/mach/arch.h>
8#include <asm/mach/map.h>
9
10#include "common.h"
11#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}
29
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)")
36	.init_early	= imx1_init_early,
37	.init_irq	= imx1_init_irq,
38	.dt_compat	= imx1_dt_board_compat,
39	.restart	= mxc_restart,
40MACHINE_END
41