Skip to contentSkip to conversation

Display related board specific boot args

DISCUSSION Tomi Valkeinen 3 participants 6 messages Mar 22, 2013 – Mar 25, 2013

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

Hi Tony,

As you probably know, Overo is a very basic omap board to which you can attach different add-on modules, like LCD module. In the current overo board file we always add multiple LCD devices, of which the user should only use one (the one on his module). This model of allowing multiple LCD devices on the same video bus is causing headaches in the dss land, and I'm removing support for it.

So what we should do is add only the LCD device that you actually have attached. With DT this will probably be handled with separate dts files, depending on the add-on module.

How should this be handled with board files? Is it ok to add a board specific kernel boot argument, parsed in the board file, which tells the add-on board?

We have similar situation in some other boards also.

Tomi

maintainer
#1 lore raw
Quoted 8 lines · Tomi Valkeinen

Hi Tony,

As you probably know, Overo is a very basic omap board to which you can attach different add-on modules, like LCD module. In the current overo board file we always add multiple LCD devices, of which the user should only use one (the one on his module). This model of allowing multiple LCD devices on the same video bus is causing headaches in the dss land, and I'm removing support for it.

OK yes sounds like they should be all selectable, and only the selected one gets initialized.

Quoted 7 lines

So what we should do is add only the LCD device that you actually have attached. With DT this will probably be handled with separate dts files, depending on the add-on module.

How should this be handled with board files? Is it ok to add a board specific kernel boot argument, parsed in the board file, which tells the add-on board?

At this point I'd stay away adding any kind of custom handling to the board-*.c files as that will make the task of removing them harder. And a kernel boot argument is something we'd have to support in the future. So if something gets added, it should be a Linux generic boot argument.

Some of these add on boards can be detected over i2c, but it seems as DT is the way to go in the long run in this case.

Quoted 1 line

We have similar situation in some other boards also.

Yeah. There's the capebus coming that might even allow hotplugging some of these add on boards eventually.

How about just make PANEL_LGPHILIPS_LB035Q02 depends on !PANEL_XYZ_DPI in drivers/video/omap2/displays/Kconfig and add some comments for now?

That way people can still select LB035Q02 but not for generic configurations.

Regards,

Tony

#2 lore raw
Quoted 31 lines · Tony Lindgren
Quoted 8 lines · Tomi Valkeinen

Hi Tony,

As you probably know, Overo is a very basic omap board to which you can attach different add-on modules, like LCD module. In the current overo board file we always add multiple LCD devices, of which the user should only use one (the one on his module). This model of allowing multiple LCD devices on the same video bus is causing headaches in the dss land, and I'm removing support for it.

OK yes sounds like they should be all selectable, and only the selected one gets initialized.

Quoted 7 lines

So what we should do is add only the LCD device that you actually have attached. With DT this will probably be handled with separate dts files, depending on the add-on module.

How should this be handled with board files? Is it ok to add a board specific kernel boot argument, parsed in the board file, which tells the add-on board?

At this point I'd stay away adding any kind of custom handling to the board-*.c files as that will make the task of removing them harder. And a kernel boot argument is something we'd have to support in the future. So if something gets added, it should be a Linux generic boot argument.

Some of these add on boards can be detected over i2c, but it seems as DT is the way to go in the long run in this case.

Quoted 1 line

We have similar situation in some other boards also.

Quoted 8 lines

Yeah. There's the capebus coming that might even allow hotplugging some of these add on boards eventually.

How about just make PANEL_LGPHILIPS_LB035Q02 depends on !PANEL_XYZ_DPI in drivers/video/omap2/displays/Kconfig and add some comments for now?

That way people can still select LB035Q02 but not for generic configurations.

Well, I don't want to disable a panel driver totally because of one board. And it's more complex than that. For overo we have three displays on the same DPI bus (using the names assigned in the board file): dvi, lcd43, lcd35. So even if the LB035Q02 would be disabled, we have dvi and lcd43 which conflict.

I also would stay away from custom boot args. So I guess that leaves us only the compile time option. Either so that the overo board-file needs to be modified by the user to change the add-on board, or a Kconfig option to select the add-on board under "TI OMAP2/3/4 Specific Features" menu.

Would the Kconfig option be acceptable?

Tomi

maintainer
#3 lore raw
Quoted 47 lines · Tomi Valkeinen
Quoted 31 lines · Tony Lindgren
Quoted 8 lines · Tomi Valkeinen

Hi Tony,

As you probably know, Overo is a very basic omap board to which you can attach different add-on modules, like LCD module. In the current overo board file we always add multiple LCD devices, of which the user should only use one (the one on his module). This model of allowing multiple LCD devices on the same video bus is causing headaches in the dss land, and I'm removing support for it.

OK yes sounds like they should be all selectable, and only the selected one gets initialized.

Quoted 7 lines

So what we should do is add only the LCD device that you actually have attached. With DT this will probably be handled with separate dts files, depending on the add-on module.

How should this be handled with board files? Is it ok to add a board specific kernel boot argument, parsed in the board file, which tells the add-on board?

At this point I'd stay away adding any kind of custom handling to the board-*.c files as that will make the task of removing them harder. And a kernel boot argument is something we'd have to support in the future. So if something gets added, it should be a Linux generic boot argument.

Some of these add on boards can be detected over i2c, but it seems as DT is the way to go in the long run in this case.

Quoted 1 line

We have similar situation in some other boards also.

Quoted 8 lines

Yeah. There's the capebus coming that might even allow hotplugging some of these add on boards eventually.

How about just make PANEL_LGPHILIPS_LB035Q02 depends on !PANEL_XYZ_DPI in drivers/video/omap2/displays/Kconfig and add some comments for now?

That way people can still select LB035Q02 but not for generic configurations.

Well, I don't want to disable a panel driver totally because of one board. And it's more complex than that. For overo we have three displays on the same DPI bus (using the names assigned in the board file): dvi, lcd43, lcd35. So even if the LB035Q02 would be disabled, we have dvi and lcd43 which conflict.

Quoted 7 lines

I also would stay away from custom boot args. So I guess that leaves us only the compile time option. Either so that the overo board-file needs to be modified by the user to change the add-on board, or a Kconfig option to select the add-on board under "TI OMAP2/3/4 Specific Features" menu.

Would the Kconfig option be acceptable?

Yes I think that's better than cmdline option in this case considering that the cmdline option won't be needed at some point in the future.

Regards,

Tony

#4 lore raw
Quoted 54 lines · Tony Lindgren
Quoted 53 lines · Tomi Valkeinen
Quoted 31 lines · Tony Lindgren
Quoted 8 lines · Tomi Valkeinen

Hi Tony,

As you probably know, Overo is a very basic omap board to which you can attach different add-on modules, like LCD module. In the current overo board file we always add multiple LCD devices, of which the user should only use one (the one on his module). This model of allowing multiple LCD devices on the same video bus is causing headaches in the dss land, and I'm removing support for it.

OK yes sounds like they should be all selectable, and only the selected one gets initialized.

Quoted 7 lines

So what we should do is add only the LCD device that you actually have attached. With DT this will probably be handled with separate dts files, depending on the add-on module.

How should this be handled with board files? Is it ok to add a board specific kernel boot argument, parsed in the board file, which tells the add-on board?

At this point I'd stay away adding any kind of custom handling to the board-*.c files as that will make the task of removing them harder. And a kernel boot argument is something we'd have to support in the future. So if something gets added, it should be a Linux generic boot argument.

Some of these add on boards can be detected over i2c, but it seems as DT is the way to go in the long run in this case.

Quoted 1 line

We have similar situation in some other boards also.

Quoted 8 lines

Yeah. There's the capebus coming that might even allow hotplugging some of these add on boards eventually.

How about just make PANEL_LGPHILIPS_LB035Q02 depends on !PANEL_XYZ_DPI in drivers/video/omap2/displays/Kconfig and add some comments for now?

That way people can still select LB035Q02 but not for generic configurations.

Well, I don't want to disable a panel driver totally because of one board. And it's more complex than that. For overo we have three displays on the same DPI bus (using the names assigned in the board file): dvi, lcd43, lcd35. So even if the LB035Q02 would be disabled, we have dvi and lcd43 which conflict.

I also would stay away from custom boot args. So I guess that leaves us only the compile time option. Either so that the overo board-file needs to be modified by the user to change the add-on board, or a Kconfig option to select the add-on board under "TI OMAP2/3/4 Specific Features" menu.

Quoted 4 lines
Quoted 1 line

Would the Kconfig option be acceptable?

Yes I think that's better than cmdline option in this case considering that the cmdline option won't be needed at some point in the future.

Barring the hotplug infrastructure, the Kconfig sounds like the best option to me.

BR,
Andy

#5 lore raw

Overo expansion board selection with Kconfig (Was: Re: Display related board specific boot args)

In reply to Tony Lindgren
Quoted 4 lines · Tony Lindgren
Quoted 1 line

Would the Kconfig option be acceptable?

Yes I think that's better than cmdline option in this case considering that the cmdline option won't be needed at some point in the future.

Here's a diff for the changes for Overo. This is not a real patch yet, just an RFC for the naming of the Kconfig options, and if this approach is generally ok. Some other boards need similar setup also, but I think Overo is the most complex case.

I only handle the displays here, and only three overo expansion boards. I didn't find any of the expansion boards having analog TV out, so I removed it.

I'm not sure if MACH_XXX style options should be reserved for boards only. It just seemed like a logical way to extend the MACH_OVERO with MACH_OVERO_EXPANSION_XXX.

Tomi

arch/arm/mach-omap2/Kconfig +22 -0
index 8111cd9..f30aadb 100644
@@ -238,6 +238,28 @@ config MACH_OVERO
 	default y
 	select OMAP_PACKAGE_CBB
 
+choice
+	depends on MACH_OVERO
+	default MACH_OVERO_EXPANSION_PALO43
+	prompt "Overo Expansion Board"
+
+config MACH_OVERO_EXPANSION_PALO43
+	bool "Gumstix Overo Palo43 Expansion Board"
+	help
+	  Palo43 Expansion board with Samsung 4.3" 480x272 LCD.
+
+config MACH_OVERO_EXPANSION_PALO35
+	bool "Gumstix Overo Palo35 Expansion Board"
+	help
+	  Palo35 Expansion board with LG 3.5" 320x240 LCD.
+
+config MACH_OVERO_EXPANSION_SUMMIT
+	bool "Gumstix Overo Summit Expansion Board"
+	help
+	  Summit expansion board with DVI output.
+
+endchoice
+
 config MACH_OMAP3EVM
 	bool "OMAP 3530 EVM board"
 	depends on ARCH_OMAP3
arch/arm/mach-omap2/board-overo.c +49 -35

136 lines not on this page · raw message