···272272273273endchoice274274275275+config MACH_IMX25_DT276276+ bool "Support i.MX25 platforms from device tree"277277+ select SOC_IMX25278278+ help279279+ Include support for Freescale i.MX25 based platforms280280+ using the device tree for discovery281281+275282comment "MX27 platforms:"276283277284config MACH_MX27ADS
···6666 unsigned long ckih1, unsigned long ckih2);6767extern int mx53_clocks_init(unsigned long ckil, unsigned long osc,6868 unsigned long ckih1, unsigned long ckih2);6969+extern int mx25_clocks_init_dt(void);6970extern int mx27_clocks_init_dt(void);7071extern int mx31_clocks_init_dt(void);7172extern int mx51_clocks_init_dt(void);
+48
arch/arm/mach-imx/imx25-dt.c
···11+/*22+ * Copyright 2012 Sascha Hauer, Pengutronix33+ *44+ * The code contained herein is licensed under the GNU General Public55+ * License. You may obtain a copy of the GNU General Public License66+ * Version 2 or later at the following locations:77+ *88+ * http://www.opensource.org/licenses/gpl-license.html99+ * http://www.gnu.org/copyleft/gpl.html1010+ */1111+1212+#include <linux/irq.h>1313+#include <linux/of_irq.h>1414+#include <linux/of_platform.h>1515+#include <asm/mach/arch.h>1616+#include <asm/mach/time.h>1717+#include "common.h"1818+#include "mx25.h"1919+2020+static void __init imx25_dt_init(void)2121+{2222+ of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);2323+}2424+2525+static void __init imx25_timer_init(void)2626+{2727+ mx25_clocks_init_dt();2828+}2929+3030+static struct sys_timer imx25_timer = {3131+ .init = imx25_timer_init,3232+};3333+3434+static const char * const imx25_dt_board_compat[] __initconst = {3535+ "fsl,imx25",3636+ NULL3737+};3838+3939+DT_MACHINE_START(IMX25_DT, "Freescale i.MX25 (Device Tree Support)")4040+ .map_io = mx25_map_io,4141+ .init_early = imx25_init_early,4242+ .init_irq = mx25_init_irq,4343+ .handle_irq = imx25_handle_irq,4444+ .timer = &imx25_timer,4545+ .init_machine = imx25_dt_init,4646+ .dt_compat = imx25_dt_board_compat,4747+ .restart = mxc_restart,4848+MACHINE_END