Thread (1 message) 1 message, 1 author, 2015-01-23

[RFC] using dt overlays: how to? today?

From: Pantelis Antoniou <hidden>
Date: 2015-01-23 12:19:55
Also in: linux-devicetree

Hi Ludovic,
On Jan 23, 2015, at 11:07 , Ludovic Desroches [off-list ref] wrote:

Hi Pantelis,

On Thu, Jan 22, 2015 at 10:54:42PM +0200, Pantelis Antoniou wrote:
quoted
Hi Ludovic,
quoted
On Jan 22, 2015, at 17:02 , Ludovic Desroches [off-list ref] wrote:

Hi,

I have assisted to Pantelis' talk about device tree and overlays at ELCE
2014. Since the patch 'Introduce DT overlay support' is now part of the
mainline, I wanted to have a look about it and to use it for our boards.
Excellent.
quoted
Firstly, this is what I want to achieve by using this feature:
- manage several revisions of our boards
- manage modules we can plug on the board, mainly display modules
(resistive or capacitive one)
- manage cpu modules plug on the motherboard
- I would like to have all this stuff in the kernel. I don't want a
dependency on the bootloader or the user space.
That?s awesome; that?s exactly what I want to use it for. Maybe this thing
can be used by others as well ;)
It seems quite close from what you want to achieve with cape manager.
quoted
quoted
At the moment, we have many dts files to manage these cases (not all are
in mainline). It is becoming a pain.
Tell me about it.
You can have a look here:
https://github.com/linux4sam/linux-at91/tree/master/arch/arm/boot/dts

For example, we have up to 6 dts files for a single device:
sama5d36ek.dts, sama5d36ek_hdmi.dts, sama5d36ek_pda4.dts,
sama5d36ek_pda7.dts, sama5d36ek_revc.dts, sama5d36ek_revc_pda4.dts,
sama5d36ek_revc_pda7.dts

Our goal is that customers don't have to care about all this stuff. They
load a single dtb file which can manage all these cases.
The change between revison c and revison d is the i2c device to which
the audio codec is connected. Difference between pda4 and pda7 (which
are display modules with a capacitive touchscreen) can be the irq used
the touch keyboard or the touchscreen.

Information we need are stored in an EEPROM which is accessible through
a one wire bus. As I said, we would like that the customers have no
dependency on other components if possible: bootloader, userspace,
firmware.
Makes sense. I was wondering if I can find another board to test my patches
on. If you send me the boards in question I can put them in my lab and run
my tests against them too.

The patches for the beagle cape-manager will be forthcoming as soon as 3.19 is out;
I have some ideas about board revision control too, but I need to run them through
the maintainers to make sure I don?t go off to the weeds.
quoted
quoted
I wanted to see if we can use device tree fragments as it seems to be
closed to be achieved when I had assisted to the talk. I have found a
thread about 'DT-Overlay configfs interface'
(http://thread.gmane.org/gmane.linux.drivers.devicetree/101871), there
are still discussions about security concerns, so it may not be included
quickly. I have also found an interesting thread about cape manager for
Beaglebone (http://thread.gmane.org/gmane.linux.documentation/8279) but
there is no more activity on it, is it canceled or is there a new topic
I have missed?

Here are my questions:
- Is it acceptable to manage device tree fragments with a driver such as
the cape manager? Or at an other place in the kernel such as
arch/arm/mach-at91/board-dt-sama5.c for example?
- Is it possible to get access to eeprom from the kernel? Pantelis did
an interface to access it through i2c but it seems it was not
accepted. In my case, it will be through the one wire interface.

Thanks for sharing your opinion about this or redirecting me to a
similar thread.
I?m waiting for 3.19 to go out and I?ll address everything you described
above.
Do you think it's too early to use it? We are currently trying to
release a new kernel (based on 3.18) with some patches which have not been
sent or accepted yet. Since I could merge easily your patches from Grant
branch, I thought we could try to use it but spending time on a oneshoot
solution is useless. That's why I would like to know what is the status
since it seems only the sysfs part is still in development.
No it not too early; it just works. The only bit missing is the configfs
interface but we?re getting there.
quoted
Feel free to post specific requirement about your use cases, and I?ll try
to address them.
Thanks so what is the next step? Posting a new patch series or the cape
manager? I mean if you plan to do it, I could have a look on how to
access the EEPROM through one wire.
The next step is the cape-manager/revision manager series, right after 
3.19 is out.
Regards

Ludovic
Regards

? Pantelis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help