18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright 2012 Sascha Hauer, Pengutronix
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci#include <linux/irq.h>
78c2ecf20Sopenharmony_ci#include <linux/of_address.h>
88c2ecf20Sopenharmony_ci#include <linux/of_irq.h>
98c2ecf20Sopenharmony_ci#include <linux/of_platform.h>
108c2ecf20Sopenharmony_ci#include <asm/mach/arch.h>
118c2ecf20Sopenharmony_ci#include <asm/mach/time.h>
128c2ecf20Sopenharmony_ci#include "common.h"
138c2ecf20Sopenharmony_ci#include "hardware.h"
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cistatic void __init imx25_init_early(void)
168c2ecf20Sopenharmony_ci{
178c2ecf20Sopenharmony_ci	mxc_set_cpu_type(MXC_CPU_MX25);
188c2ecf20Sopenharmony_ci}
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_cistatic void __init imx25_dt_init(void)
218c2ecf20Sopenharmony_ci{
228c2ecf20Sopenharmony_ci	imx_aips_allow_unprivileged_access("fsl,imx25-aips");
238c2ecf20Sopenharmony_ci}
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_cistatic void __init mx25_init_irq(void)
268c2ecf20Sopenharmony_ci{
278c2ecf20Sopenharmony_ci	struct device_node *np;
288c2ecf20Sopenharmony_ci	void __iomem *avic_base;
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci	np = of_find_compatible_node(NULL, NULL, "fsl,avic");
318c2ecf20Sopenharmony_ci	avic_base = of_iomap(np, 0);
328c2ecf20Sopenharmony_ci	BUG_ON(!avic_base);
338c2ecf20Sopenharmony_ci	mxc_init_irq(avic_base);
348c2ecf20Sopenharmony_ci}
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_cistatic const char * const imx25_dt_board_compat[] __initconst = {
378c2ecf20Sopenharmony_ci	"fsl,imx25",
388c2ecf20Sopenharmony_ci	NULL
398c2ecf20Sopenharmony_ci};
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciDT_MACHINE_START(IMX25_DT, "Freescale i.MX25 (Device Tree Support)")
428c2ecf20Sopenharmony_ci	.init_early	= imx25_init_early,
438c2ecf20Sopenharmony_ci	.init_machine	= imx25_dt_init,
448c2ecf20Sopenharmony_ci	.init_late      = imx25_pm_init,
458c2ecf20Sopenharmony_ci	.init_irq	= mx25_init_irq,
468c2ecf20Sopenharmony_ci	.dt_compat	= imx25_dt_board_compat,
478c2ecf20Sopenharmony_ciMACHINE_END
48