Re: [PATCH] of: Overlay manager

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Thu, Sep 8, 2016 at 4:33 PM, Frank Rowand <frowand.list@xxxxxxxxx> wrote:
> On 09/08/16 14:15, Dmitry Shmidt wrote:
>> On Thu, Sep 8, 2016 at 2:08 PM, Frank Rowand <frowand.list@xxxxxxxxx> wrote:
>>> On 09/08/16 13:35, dimitrysh@xxxxxxxxxx wrote:
>>>> From e14eb45fa5a93c1bff8a6dfe7b6756e4ad72c579 Mon Sep 17 00:00:00 2001
>>>> From: Dmitry Shmidt <dimitrysh@xxxxxxxxxx>
>>>> Date: Wed, 24 Aug 2016 13:25:52 -0700
>>>> Subject: [PATCH] of: Overlay manager
>>>>
>>>> Overlay manager processes DT entries on demand.
>>>> It is chosen by CONFIG_OF_OVERLAY_MGR option.
>>>> These entries can be chosen from kernel command line:
>>>> overlay_mgr.overlay_dt_entry=hardware_cfg_0
>>>> DT contains main overlay_mng entry with all possible
>>>> HW config setups. And then kernel command line option
>>>> will allow to choose between them.
>>>>
>>>>   Kernel DT entry:
>>>>     overlay_mgr {
>>>>         compatible = "linux,overlay_manager";
>>>>         hardware_cfg_0 {
>>>>             overlay@0 {
>>>>                     fragment@0 {
>>>>                             __overlay__ {
>>>>                             };
>>>>                     };
>>>>             };
>>>>             overlay@1 {
>>>>                     fragment@0 {
>>>>                             __overlay__ {
>>>>                             };
>>>>                     };
>>>>             };
>>>>         };
>>>>     };
>>>
>>> What problem(s) are you trying to solve with this?
>>
>> Currently the Linux kernel doesn't provide a way for boot time
>> selection of different possible board configurations, when the board
>> peripherals are specified via Device Tree.
>>
>> Thus, this patch provides a driver which takes a boot option to
>> apply pre-defined device-tree overlay fragments on bootup. This
>> allows a single kernel/devicetree to be able to support a number of
>> different configurations by only changing a boot argument.
>>
>>> What is the use case?
>>
>> It is usually useful for development board when you can use
>> different peripherals. For example you want to use special
>> LCD panel. Using it will go on account of other stuff like GPIOs,
>> so you don't want it all the time. And it is not convenient to
>> apply new patches and to recompile the kernel. And this code
>> allows to choose LCD panel configuration from command line.
>
> In other words, you want to be able to make configuration choices
> at boot time.
>
> The hardware is not different between boots, but you may want to use
> it in different ways, with a boot time selection.

The hardware may actually be different between boots, as different
mezzanine or shields might be attached.

The idea is to have a single kernel/dts that can function with an
array of plug-able (but unfortunately not probe-able attachments).

thanks
-john
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux