Message ID | 1351363800-28744-1-git-send-email-const@MakeLinux.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, Oct 27, 2012 at 08:50:00PM +0200, Constantine Shulyupin wrote: > From: Constantine Shulyupin <const@MakeLinux.com> > > Problem: > - FDT is supported only by generic OMAP board initialization in arch/arm/mach-omap2/board-generic.c and lacks some configurations, which are not yet configured in FDT (USB for example). > Solution: > - arch/arm/mach-omap2/board-omap4panda.c supports initialization with FDT and without it. > > Signed-off-by: Constantine Shulyupin <const@MakeLinux.com> NAK, the whole idea of DT is to drop board-*.c. It would be best to see the "missing initialization" being added to board-generic/dts files.
* Felipe Balbi <balbi@ti.com> [121028 23:22]: > On Sat, Oct 27, 2012 at 08:50:00PM +0200, Constantine Shulyupin wrote: > > From: Constantine Shulyupin <const@MakeLinux.com> > > > > Problem: > > - FDT is supported only by generic OMAP board initialization in arch/arm/mach-omap2/board-generic.c and lacks some configurations, which are not yet configured in FDT (USB for example). > > Solution: > > - arch/arm/mach-omap2/board-omap4panda.c supports initialization with FDT and without it. > > > > Signed-off-by: Constantine Shulyupin <const@MakeLinux.com> > > NAK, the whole idea of DT is to drop board-*.c. It would be best to see > the "missing initialization" being added to board-generic/dts files. Yes I agree, let's rather get board-generic.c to work with panda. The other board-*.c files will be dropped as soon as we have things usable with devicetree. And we're only two board-*.c files away from making omap4 device tree only ;) I think we are only missing DSS, USB and WLAN bindings to have blaze and panda usable with device tree to the point where everything else can be added later on. Regards, Tony
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index bfcd397..fea7a83 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c @@ -31,6 +31,7 @@ #include <linux/ti_wilink_st.h> #include <linux/wl12xx.h> #include <linux/platform_data/omap-abe-twl6040.h> +#include <linux/of_platform.h> #include <asm/hardware/gic.h> #include <asm/mach-types.h> @@ -526,3 +527,35 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") .timer = &omap4_timer, .restart = omap_prcm_restart, MACHINE_END + +static struct of_device_id omap_dt_match_table[] __initdata = { + { .compatible = "simple-bus", }, + { .compatible = "ti,omap-infra", }, + { } +}; + +static void __init panda_dt_init(void) +{ + of_platform_populate(NULL, omap_dt_match_table, NULL, NULL); + omap4_panda_init(); +} + +static const char *omap4_panda_compat[] __initdata = { + "ti,omap4-panda", + "ti,omap4", + NULL, +}; + +DT_MACHINE_START(OMAP4_PANDA_DT, "OMAP4 Pandaboard with FDT support") + .dt_compat = omap4_panda_compat, + .reserve = omap_reserve, + .smp = smp_ops(omap4_smp_ops), + .map_io = omap4_map_io, + .init_early = omap4430_init_early, + .init_irq = omap_gic_of_init, + .handle_irq = gic_handle_irq, + .init_machine = panda_dt_init, + .init_late = omap4430_init_late, + .timer = &omap4_timer, + .restart = omap_prcm_restart, +MACHINE_END