11dbae815STony Lindgren /*
21dbae815STony Lindgren  * Copyright (C) 2005 Nokia Corporation
31dbae815STony Lindgren  * Author: Paul Mundt <paul.mundt@nokia.com>
41dbae815STony Lindgren  *
58d61649dSBenoit Cousson  * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
61dbae815STony Lindgren  *
78d61649dSBenoit Cousson  * Modified from the original mach-omap/omap2/board-generic.c did by Paul
88d61649dSBenoit Cousson  * to support the OMAP2+ device tree boards with an unique board file.
91dbae815STony Lindgren  *
101dbae815STony Lindgren  * This program is free software; you can redistribute it and/or modify
111dbae815STony Lindgren  * it under the terms of the GNU General Public License version 2 as
121dbae815STony Lindgren  * published by the Free Software Foundation.
131dbae815STony Lindgren  */
148d61649dSBenoit Cousson #include <linux/io.h>
15fbf75da7SBenoit Cousson #include <linux/of_irq.h>
168d61649dSBenoit Cousson #include <linux/of_platform.h>
178d61649dSBenoit Cousson #include <linux/irqdomain.h>
181dbae815STony Lindgren 
198c51b034SIvaylo Dimitrov #include <asm/setup.h>
201dbae815STony Lindgren #include <asm/mach/arch.h>
215f35dc47SIvaylo Dimitrov #include <asm/system_info.h>
221dbae815STony Lindgren 
234e65331cSTony Lindgren #include "common.h"
241dbae815STony Lindgren 
2531957609SUwe Kleine-König static const struct of_device_id omap_dt_match_table[] __initconst = {
268d61649dSBenoit Cousson 	{ .compatible = "simple-bus", },
278d61649dSBenoit Cousson 	{ .compatible = "ti,omap-infra", },
288d61649dSBenoit Cousson 	{ }
29b3c6df3aSPaul Walmsley };
30b3c6df3aSPaul Walmsley 
311dbae815STony Lindgren static void __init omap_generic_init(void)
321dbae815STony Lindgren {
338651bd8cSTony Lindgren 	pdata_quirks_init(omap_dt_match_table);
34dcdf407bSTomi Valkeinen 
35dcdf407bSTomi Valkeinen 	omapdss_init_of();
361dbae815STony Lindgren }
371dbae815STony Lindgren 
380e02a8c1SBenoit Cousson #ifdef CONFIG_SOC_OMAP2420
3958cda01eSUwe Kleine-König static const char *const omap242x_boards_compat[] __initconst = {
408d61649dSBenoit Cousson 	"ti,omap2420",
418d61649dSBenoit Cousson 	NULL,
428d61649dSBenoit Cousson };
431dbae815STony Lindgren 
448d61649dSBenoit Cousson DT_MACHINE_START(OMAP242X_DT, "Generic OMAP2420 (Flattened Device Tree)")
4571ee7dadSRussell King 	.reserve	= omap_reserve,
468d61649dSBenoit Cousson 	.map_io		= omap242x_map_io,
478d61649dSBenoit Cousson 	.init_early	= omap2420_init_early,
481dbae815STony Lindgren 	.init_machine	= omap_generic_init,
496f82e25dSFelipe Balbi 	.init_time	= omap_init_time,
508d61649dSBenoit Cousson 	.dt_compat	= omap242x_boards_compat,
51187e3e06SPaul Walmsley 	.restart	= omap2xxx_restart,
521dbae815STony Lindgren MACHINE_END
538d61649dSBenoit Cousson #endif
548d61649dSBenoit Cousson 
550e02a8c1SBenoit Cousson #ifdef CONFIG_SOC_OMAP2430
5658cda01eSUwe Kleine-König static const char *const omap243x_boards_compat[] __initconst = {
578d61649dSBenoit Cousson 	"ti,omap2430",
588d61649dSBenoit Cousson 	NULL,
598d61649dSBenoit Cousson };
608d61649dSBenoit Cousson 
618d61649dSBenoit Cousson DT_MACHINE_START(OMAP243X_DT, "Generic OMAP2430 (Flattened Device Tree)")
628d61649dSBenoit Cousson 	.reserve	= omap_reserve,
638d61649dSBenoit Cousson 	.map_io		= omap243x_map_io,
648d61649dSBenoit Cousson 	.init_early	= omap2430_init_early,
658d61649dSBenoit Cousson 	.init_machine	= omap_generic_init,
666f82e25dSFelipe Balbi 	.init_time	= omap_init_time,
678d61649dSBenoit Cousson 	.dt_compat	= omap243x_boards_compat,
68187e3e06SPaul Walmsley 	.restart	= omap2xxx_restart,
698d61649dSBenoit Cousson MACHINE_END
708d61649dSBenoit Cousson #endif
718d61649dSBenoit Cousson 
720e02a8c1SBenoit Cousson #ifdef CONFIG_ARCH_OMAP3
7371c4f602STony Lindgren /* Some boards need board name for legacy userspace in /proc/cpuinfo */
7471c4f602STony Lindgren static const char *const n900_boards_compat[] __initconst = {
7571c4f602STony Lindgren 	"nokia,omap3-n900",
7671c4f602STony Lindgren 	NULL,
7771c4f602STony Lindgren };
7871c4f602STony Lindgren 
795f35dc47SIvaylo Dimitrov /* Set system_rev from atags */
805f35dc47SIvaylo Dimitrov static void __init rx51_set_system_rev(const struct tag *tags)
815f35dc47SIvaylo Dimitrov {
825f35dc47SIvaylo Dimitrov 	const struct tag *tag;
835f35dc47SIvaylo Dimitrov 
845f35dc47SIvaylo Dimitrov 	if (tags->hdr.tag != ATAG_CORE)
855f35dc47SIvaylo Dimitrov 		return;
865f35dc47SIvaylo Dimitrov 
875f35dc47SIvaylo Dimitrov 	for_each_tag(tag, tags) {
885f35dc47SIvaylo Dimitrov 		if (tag->hdr.tag == ATAG_REVISION) {
895f35dc47SIvaylo Dimitrov 			system_rev = tag->u.revision.rev;
905f35dc47SIvaylo Dimitrov 			break;
915f35dc47SIvaylo Dimitrov 		}
925f35dc47SIvaylo Dimitrov 	}
935f35dc47SIvaylo Dimitrov }
945f35dc47SIvaylo Dimitrov 
958c51b034SIvaylo Dimitrov /* Legacy userspace on Nokia N900 needs ATAGS exported in /proc/atags,
968c51b034SIvaylo Dimitrov  * save them while the data is still not overwritten
978c51b034SIvaylo Dimitrov  */
988c51b034SIvaylo Dimitrov static void __init rx51_reserve(void)
998c51b034SIvaylo Dimitrov {
1005f35dc47SIvaylo Dimitrov 	const struct tag *tags = (const struct tag *)(PAGE_OFFSET + 0x100);
1015f35dc47SIvaylo Dimitrov 
1025f35dc47SIvaylo Dimitrov 	save_atags(tags);
1035f35dc47SIvaylo Dimitrov 	rx51_set_system_rev(tags);
1048c51b034SIvaylo Dimitrov 	omap_reserve();
1058c51b034SIvaylo Dimitrov }
1068c51b034SIvaylo Dimitrov 
10771c4f602STony Lindgren DT_MACHINE_START(OMAP3_N900_DT, "Nokia RX-51 board")
1088c51b034SIvaylo Dimitrov 	.reserve	= rx51_reserve,
10971c4f602STony Lindgren 	.map_io		= omap3_map_io,
11071c4f602STony Lindgren 	.init_early	= omap3430_init_early,
11171c4f602STony Lindgren 	.init_machine	= omap_generic_init,
11271c4f602STony Lindgren 	.init_late	= omap3_init_late,
1136f82e25dSFelipe Balbi 	.init_time	= omap_init_time,
11471c4f602STony Lindgren 	.dt_compat	= n900_boards_compat,
11571c4f602STony Lindgren 	.restart	= omap3xxx_restart,
11671c4f602STony Lindgren MACHINE_END
11771c4f602STony Lindgren 
11871c4f602STony Lindgren /* Generic omap3 boards, most boards can use these */
11958cda01eSUwe Kleine-König static const char *const omap3_boards_compat[] __initconst = {
120b83a08feSNishanth Menon 	"ti,omap3430",
1218d61649dSBenoit Cousson 	"ti,omap3",
1228d61649dSBenoit Cousson 	NULL,
1238d61649dSBenoit Cousson };
1248d61649dSBenoit Cousson 
1258d61649dSBenoit Cousson DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
1268d61649dSBenoit Cousson 	.reserve	= omap_reserve,
1278d61649dSBenoit Cousson 	.map_io		= omap3_map_io,
1288d61649dSBenoit Cousson 	.init_early	= omap3430_init_early,
12993651b85SBenoit Cousson 	.init_machine	= omap_generic_init,
130990fa4f5SRajendra Nayak 	.init_late	= omap3_init_late,
1316f82e25dSFelipe Balbi 	.init_time	= omap_init_time,
1328d61649dSBenoit Cousson 	.dt_compat	= omap3_boards_compat,
133187e3e06SPaul Walmsley 	.restart	= omap3xxx_restart,
1348d61649dSBenoit Cousson MACHINE_END
1357dd9d502SJon Hunter 
13658cda01eSUwe Kleine-König static const char *const omap36xx_boards_compat[] __initconst = {
13757df5380STony Lindgren 	"ti,omap3630",
138016c12d2SNishanth Menon 	"ti,omap36xx",
139016c12d2SNishanth Menon 	NULL,
140016c12d2SNishanth Menon };
141016c12d2SNishanth Menon 
142016c12d2SNishanth Menon DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)")
143016c12d2SNishanth Menon 	.reserve	= omap_reserve,
144016c12d2SNishanth Menon 	.map_io		= omap3_map_io,
145016c12d2SNishanth Menon 	.init_early	= omap3630_init_early,
146016c12d2SNishanth Menon 	.init_machine	= omap_generic_init,
147016c12d2SNishanth Menon 	.init_late	= omap3_init_late,
1486f82e25dSFelipe Balbi 	.init_time	= omap_init_time,
149016c12d2SNishanth Menon 	.dt_compat	= omap36xx_boards_compat,
150016c12d2SNishanth Menon 	.restart	= omap3xxx_restart,
151016c12d2SNishanth Menon MACHINE_END
152016c12d2SNishanth Menon 
15358cda01eSUwe Kleine-König static const char *const omap3_gp_boards_compat[] __initconst = {
1547dd9d502SJon Hunter 	"ti,omap3-beagle",
1554bfe6341SAnil Kumar 	"timll,omap3-devkit8000",
1567dd9d502SJon Hunter 	NULL,
1577dd9d502SJon Hunter };
1587dd9d502SJon Hunter 
1597dd9d502SJon Hunter DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)")
1607dd9d502SJon Hunter 	.reserve	= omap_reserve,
1617dd9d502SJon Hunter 	.map_io		= omap3_map_io,
1627dd9d502SJon Hunter 	.init_early	= omap3430_init_early,
1637dd9d502SJon Hunter 	.init_machine	= omap_generic_init,
164990fa4f5SRajendra Nayak 	.init_late	= omap3_init_late,
1656bb27d73SStephen Warren 	.init_time	= omap3_secure_sync32k_timer_init,
1667dd9d502SJon Hunter 	.dt_compat	= omap3_gp_boards_compat,
167d01e4afdSLinus Torvalds 	.restart	= omap3xxx_restart,
1688d61649dSBenoit Cousson MACHINE_END
169caef4ee8SNishanth Menon 
17058cda01eSUwe Kleine-König static const char *const am3517_boards_compat[] __initconst = {
171caef4ee8SNishanth Menon 	"ti,am3517",
172caef4ee8SNishanth Menon 	NULL,
173caef4ee8SNishanth Menon };
174caef4ee8SNishanth Menon 
175caef4ee8SNishanth Menon DT_MACHINE_START(AM3517_DT, "Generic AM3517 (Flattened Device Tree)")
176caef4ee8SNishanth Menon 	.reserve	= omap_reserve,
177caef4ee8SNishanth Menon 	.map_io		= omap3_map_io,
178caef4ee8SNishanth Menon 	.init_early	= am35xx_init_early,
179caef4ee8SNishanth Menon 	.init_machine	= omap_generic_init,
180caef4ee8SNishanth Menon 	.init_late	= omap3_init_late,
181caef4ee8SNishanth Menon 	.init_time	= omap3_gptimer_timer_init,
182caef4ee8SNishanth Menon 	.dt_compat	= am3517_boards_compat,
183caef4ee8SNishanth Menon 	.restart	= omap3xxx_restart,
184caef4ee8SNishanth Menon MACHINE_END
1858d61649dSBenoit Cousson #endif
1868d61649dSBenoit Cousson 
187abf8cc1dSTony Lindgren #ifdef CONFIG_SOC_TI81XX
188abf8cc1dSTony Lindgren static const char *const ti814x_boards_compat[] __initconst = {
189abf8cc1dSTony Lindgren 	"ti,dm8148",
190abf8cc1dSTony Lindgren 	"ti,dm814",
191abf8cc1dSTony Lindgren 	NULL,
192abf8cc1dSTony Lindgren };
193abf8cc1dSTony Lindgren 
1949fd274c0STony Lindgren DT_MACHINE_START(TI814X_DT, "Generic ti814x (Flattened Device Tree)")
195abf8cc1dSTony Lindgren 	.reserve	= omap_reserve,
196abf8cc1dSTony Lindgren 	.map_io		= ti81xx_map_io,
197abf8cc1dSTony Lindgren 	.init_early	= ti814x_init_early,
198abf8cc1dSTony Lindgren 	.init_machine	= omap_generic_init,
199abf8cc1dSTony Lindgren 	.init_late	= ti81xx_init_late,
200abf8cc1dSTony Lindgren 	.init_time	= omap3_gptimer_timer_init,
201abf8cc1dSTony Lindgren 	.dt_compat	= ti814x_boards_compat,
202abf8cc1dSTony Lindgren 	.restart	= ti81xx_restart,
203abf8cc1dSTony Lindgren MACHINE_END
204abf8cc1dSTony Lindgren 
205abf8cc1dSTony Lindgren static const char *const ti816x_boards_compat[] __initconst = {
206abf8cc1dSTony Lindgren 	"ti,dm8168",
207abf8cc1dSTony Lindgren 	"ti,dm816",
208abf8cc1dSTony Lindgren 	NULL,
209abf8cc1dSTony Lindgren };
210abf8cc1dSTony Lindgren 
211abf8cc1dSTony Lindgren DT_MACHINE_START(TI816X_DT, "Generic ti816x (Flattened Device Tree)")
212abf8cc1dSTony Lindgren 	.reserve	= omap_reserve,
213abf8cc1dSTony Lindgren 	.map_io		= ti81xx_map_io,
214abf8cc1dSTony Lindgren 	.init_early	= ti816x_init_early,
215abf8cc1dSTony Lindgren 	.init_machine	= omap_generic_init,
216abf8cc1dSTony Lindgren 	.init_late	= ti81xx_init_late,
217abf8cc1dSTony Lindgren 	.init_time	= omap3_gptimer_timer_init,
218abf8cc1dSTony Lindgren 	.dt_compat	= ti816x_boards_compat,
219abf8cc1dSTony Lindgren 	.restart	= ti81xx_restart,
220abf8cc1dSTony Lindgren MACHINE_END
221abf8cc1dSTony Lindgren #endif
222abf8cc1dSTony Lindgren 
22308f30989SAfzal Mohammed #ifdef CONFIG_SOC_AM33XX
22458cda01eSUwe Kleine-König static const char *const am33xx_boards_compat[] __initconst = {
22508f30989SAfzal Mohammed 	"ti,am33xx",
22608f30989SAfzal Mohammed 	NULL,
22708f30989SAfzal Mohammed };
22808f30989SAfzal Mohammed 
22908f30989SAfzal Mohammed DT_MACHINE_START(AM33XX_DT, "Generic AM33XX (Flattened Device Tree)")
23008f30989SAfzal Mohammed 	.reserve	= omap_reserve,
23108f30989SAfzal Mohammed 	.map_io		= am33xx_map_io,
23208f30989SAfzal Mohammed 	.init_early	= am33xx_init_early,
23308f30989SAfzal Mohammed 	.init_machine	= omap_generic_init,
234765e7a06SNishanth Menon 	.init_late	= am33xx_init_late,
23500ea4d56SJon Hunter 	.init_time	= omap3_gptimer_timer_init,
23608f30989SAfzal Mohammed 	.dt_compat	= am33xx_boards_compat,
23714e067c1SJean-Sebastien A. Beaudry 	.restart	= am33xx_restart,
23808f30989SAfzal Mohammed MACHINE_END
23908f30989SAfzal Mohammed #endif
24008f30989SAfzal Mohammed 
2410e02a8c1SBenoit Cousson #ifdef CONFIG_ARCH_OMAP4
24258cda01eSUwe Kleine-König static const char *const omap4_boards_compat[] __initconst = {
243b83a08feSNishanth Menon 	"ti,omap4460",
244b83a08feSNishanth Menon 	"ti,omap4430",
2458d61649dSBenoit Cousson 	"ti,omap4",
2468d61649dSBenoit Cousson 	NULL,
2478d61649dSBenoit Cousson };
2488d61649dSBenoit Cousson 
2498d61649dSBenoit Cousson DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
250944e9df1SMarek Szyprowski 	.l2c_aux_val	= OMAP_L2C_AUX_CTRL,
251944e9df1SMarek Szyprowski 	.l2c_aux_mask	= 0xcf9fffff,
252944e9df1SMarek Szyprowski 	.l2c_write_sec	= omap4_l2c310_write_sec,
2538d61649dSBenoit Cousson 	.reserve	= omap_reserve,
25406915321SMarc Zyngier 	.smp		= smp_ops(omap4_smp_ops),
2558d61649dSBenoit Cousson 	.map_io		= omap4_map_io,
2568d61649dSBenoit Cousson 	.init_early	= omap4430_init_early,
257c4082d49SR Sricharan 	.init_irq	= omap_gic_of_init,
25893651b85SBenoit Cousson 	.init_machine	= omap_generic_init,
259bbd707acSShawn Guo 	.init_late	= omap4430_init_late,
2606bb27d73SStephen Warren 	.init_time	= omap4_local_timer_init,
2618d61649dSBenoit Cousson 	.dt_compat	= omap4_boards_compat,
262187e3e06SPaul Walmsley 	.restart	= omap44xx_restart,
2638d61649dSBenoit Cousson MACHINE_END
2648d61649dSBenoit Cousson #endif
2650c1b6facSR Sricharan 
2660c1b6facSR Sricharan #ifdef CONFIG_SOC_OMAP5
26758cda01eSUwe Kleine-König static const char *const omap5_boards_compat[] __initconst = {
268b83a08feSNishanth Menon 	"ti,omap5432",
269b83a08feSNishanth Menon 	"ti,omap5430",
2700c1b6facSR Sricharan 	"ti,omap5",
2710c1b6facSR Sricharan 	NULL,
2720c1b6facSR Sricharan };
2730c1b6facSR Sricharan 
2740c1b6facSR Sricharan DT_MACHINE_START(OMAP5_DT, "Generic OMAP5 (Flattened Device Tree)")
2756a3b764bSTony Lindgren #if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE)
2766a3b764bSTony Lindgren 	.dma_zone_size	= SZ_2G,
2776a3b764bSTony Lindgren #endif
2780c1b6facSR Sricharan 	.reserve	= omap_reserve,
27906915321SMarc Zyngier 	.smp		= smp_ops(omap4_smp_ops),
2800c1b6facSR Sricharan 	.map_io		= omap5_map_io,
2810c1b6facSR Sricharan 	.init_early	= omap5_init_early,
2820c1b6facSR Sricharan 	.init_irq	= omap_gic_of_init,
2830c1b6facSR Sricharan 	.init_machine	= omap_generic_init,
284765e7a06SNishanth Menon 	.init_late	= omap5_init_late,
2856bb27d73SStephen Warren 	.init_time	= omap5_realtime_timer_init,
2860c1b6facSR Sricharan 	.dt_compat	= omap5_boards_compat,
287187e3e06SPaul Walmsley 	.restart	= omap44xx_restart,
2880c1b6facSR Sricharan MACHINE_END
2890c1b6facSR Sricharan #endif
290bb256f80SAfzal Mohammed 
291bb256f80SAfzal Mohammed #ifdef CONFIG_SOC_AM43XX
29258cda01eSUwe Kleine-König static const char *const am43_boards_compat[] __initconst = {
293b83a08feSNishanth Menon 	"ti,am4372",
294bb256f80SAfzal Mohammed 	"ti,am43",
295bb256f80SAfzal Mohammed 	NULL,
296bb256f80SAfzal Mohammed };
297bb256f80SAfzal Mohammed 
298bb256f80SAfzal Mohammed DT_MACHINE_START(AM43_DT, "Generic AM43 (Flattened Device Tree)")
299944e9df1SMarek Szyprowski 	.l2c_aux_val	= OMAP_L2C_AUX_CTRL,
300944e9df1SMarek Szyprowski 	.l2c_aux_mask	= 0xcf9fffff,
301944e9df1SMarek Szyprowski 	.l2c_write_sec	= omap4_l2c310_write_sec,
302bb256f80SAfzal Mohammed 	.map_io		= am33xx_map_io,
303bb256f80SAfzal Mohammed 	.init_early	= am43xx_init_early,
304765e7a06SNishanth Menon 	.init_late	= am43xx_init_late,
305bb256f80SAfzal Mohammed 	.init_irq	= omap_gic_of_init,
306bb256f80SAfzal Mohammed 	.init_machine	= omap_generic_init,
307f86a2c87SGrygorii Strashko 	.init_time	= omap3_gptimer_timer_init,
308bb256f80SAfzal Mohammed 	.dt_compat	= am43_boards_compat,
309a7daf64aSLokesh Vutla 	.restart	= omap44xx_restart,
310bb256f80SAfzal Mohammed MACHINE_END
311bb256f80SAfzal Mohammed #endif
312439bf39eSR Sricharan 
313439bf39eSR Sricharan #ifdef CONFIG_SOC_DRA7XX
31458cda01eSUwe Kleine-König static const char *const dra74x_boards_compat[] __initconst = {
3150e0cb99dSNishanth Menon 	"ti,am5728",
3160e0cb99dSNishanth Menon 	"ti,am5726",
31744e97ff6SRajendra Nayak 	"ti,dra742",
318439bf39eSR Sricharan 	"ti,dra7",
319439bf39eSR Sricharan 	NULL,
320439bf39eSR Sricharan };
321439bf39eSR Sricharan 
32244e97ff6SRajendra Nayak DT_MACHINE_START(DRA74X_DT, "Generic DRA74X (Flattened Device Tree)")
3236a3b764bSTony Lindgren #if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE)
3246a3b764bSTony Lindgren 	.dma_zone_size	= SZ_2G,
3256a3b764bSTony Lindgren #endif
326439bf39eSR Sricharan 	.reserve	= omap_reserve,
327439bf39eSR Sricharan 	.smp		= smp_ops(omap4_smp_ops),
328ea827ad5SNishanth Menon 	.map_io		= dra7xx_map_io,
329439bf39eSR Sricharan 	.init_early	= dra7xx_init_early,
330765e7a06SNishanth Menon 	.init_late	= dra7xx_init_late,
331439bf39eSR Sricharan 	.init_irq	= omap_gic_of_init,
332439bf39eSR Sricharan 	.init_machine	= omap_generic_init,
333439bf39eSR Sricharan 	.init_time	= omap5_realtime_timer_init,
33444e97ff6SRajendra Nayak 	.dt_compat	= dra74x_boards_compat,
33544e97ff6SRajendra Nayak 	.restart	= omap44xx_restart,
33644e97ff6SRajendra Nayak MACHINE_END
33744e97ff6SRajendra Nayak 
33858cda01eSUwe Kleine-König static const char *const dra72x_boards_compat[] __initconst = {
3390e0cb99dSNishanth Menon 	"ti,am5718",
3400e0cb99dSNishanth Menon 	"ti,am5716",
34144e97ff6SRajendra Nayak 	"ti,dra722",
342a2af765aSLokesh Vutla 	"ti,dra718",
34344e97ff6SRajendra Nayak 	NULL,
34444e97ff6SRajendra Nayak };
34544e97ff6SRajendra Nayak 
34644e97ff6SRajendra Nayak DT_MACHINE_START(DRA72X_DT, "Generic DRA72X (Flattened Device Tree)")
3476a3b764bSTony Lindgren #if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE)
3486a3b764bSTony Lindgren 	.dma_zone_size	= SZ_2G,
3496a3b764bSTony Lindgren #endif
35044e97ff6SRajendra Nayak 	.reserve	= omap_reserve,
351ea827ad5SNishanth Menon 	.map_io		= dra7xx_map_io,
35244e97ff6SRajendra Nayak 	.init_early	= dra7xx_init_early,
35344e97ff6SRajendra Nayak 	.init_late	= dra7xx_init_late,
35444e97ff6SRajendra Nayak 	.init_irq	= omap_gic_of_init,
35544e97ff6SRajendra Nayak 	.init_machine	= omap_generic_init,
35644e97ff6SRajendra Nayak 	.init_time	= omap5_realtime_timer_init,
35744e97ff6SRajendra Nayak 	.dt_compat	= dra72x_boards_compat,
3581d597b07SRajendra Nayak 	.restart	= omap44xx_restart,
359439bf39eSR Sricharan MACHINE_END
360439bf39eSR Sricharan #endif
361