Skip to contentSkip to conversation

Add FDT support to Pandaboard initialization

PATCH NAK Constantine Shulyupin 3 participants 3 messages Oct 27, 2012 – Oct 29, 2012

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add FDT support to Pandaboard initialization

From: Constantine Shulyupin <[email protected]>

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.

---
 arch/arm/mach-omap2/board-omap4panda.c |   33 ++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
arch/arm/mach-omap2/board-omap4panda.c +33 -0
index bfcd397..fea7a83 100644
@@ -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
Signature · 1 line
1.7.9.5
#1 lore raw
Quoted 8 lines · Constantine Shulyupin

From: Constantine Shulyupin <[email protected]>

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.

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.

Signature · 8 lines
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121029/c0b25a4f/attachment.sig>
maintainer
#2 lore raw
Quoted 8 lines · Felipe Balbi
Quoted 7 lines · Constantine Shulyupin

From: Constantine Shulyupin <[email protected]>

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.

Quoted 4 lines
Quoted 1 line

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