devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
  • * Re: Unifying cape overlays into boot .dtb for BeagleBoard.org boards
           [not found] <CA+T6QP==raXdWz9mezK3JxSvZjWhUZZ7aKv4CpCr0SbdaCMgDQ@mail.gmail.com>
           [not found] ` <CA+T6QP==raXdWz9mezK3JxSvZjWhUZZ7aKv4CpCr0SbdaCMgDQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
    @ 2014-06-11  5:11 ` Jason Kridner
      2014-06-17  7:11   ` Gupta, Pekon
      1 sibling, 1 reply; 27+ messages in thread
    From: Jason Kridner @ 2014-06-11  5:11 UTC (permalink / raw)
      To: beagleboard@googlegroups.com, Robert Nelson,
    	devicetree@vger.kernel.org, ARM Kernel List
      Cc: OMAP List
    
    Adding devicetree and linux-arm-kernel lists based on feedback on IRC...
    
    On Tue, Jun 10, 2014 at 12:46 PM, Jason Kridner <jkridner@gmail.com> wrote:
    > I'd like to discuss moving our current library of cape devicetree
    > overlay sources into a single tree, including the boot .dtb files for
    > BeagleBoard.org boards and moving towards enabling as much of the cape
    > support into a single boot-time .dtb file with an approach similar to
    > the cape-universal overlay
    > (https://github.com/cdsteinkuehler/beaglebone-universal-io), but not
    > in an overlay.
    >
    > First of all, I want to note this doesn't change my view on the
    > importance of mainline support for devicetree overlays. They are still
    > absolutely critical and highly useful, solving problems that cannot be
    > solved through boot-time devicetrees. I'm simply looking for an
    > approach that will complement the availability of overlays and provide
    > the best user experience.
    >
    > Robert has been talking about the actions required to clean-up Debian
    > Jessie support in another thread
    > (https://groups.google.com/d/msg/beagleboard/2b8rArtfABY/A8d1JzmJa4IJ)
    > and I suggested we should add a bit of a detour by cleaning up the
    > cape support for the mainline kernel and switching away our primary
    > process of supporting capes from using overlays to using a single
    > devicetree file provided at boot. I promised a pull-request and hadn't
    > gotten around to sending it until now (below). No architecture changes
    > have been made in my pull-request, just bringing in the kernel
    > devicetree source history. This suggestion is based on several
    > assumptions, any number of which might be wrong.
    >
    > The assumptions (for which I'm looking for feedback/corrections):
    > * The overlays pretty much all need to be compiled into the kernel if
    > they are going to be loaded using kernel command-line arguments or
    > /etc/capemgr for the majority of distros. While many cape devicetree
    > use cases are perfectly happy with loading at run-time rather than
    > boot-time, it seems there should be a mechanism for pushing cape
    > support into the category of being available at boot-time across
    > distributions.
    > * The devicetree sources, including the primary boot .dts files, will
    > eventually be removed from the kernel source tree. I'm not too sure if
    > and when it'll really happen, but starting up a project to maintain
    > the definitive beagleboard.org board devicetree files outside the
    > kernel seems to make sense. Given the interdependency of the boot .dtb
    > and the overlay .dtbo files, combining them into a single repository
    > where every distribution can pick them up seems like a natural and
    > obvious choice. There are of course some dependencies on kernel
    > versions, but I believe most of those have settled out by now and we
    > should be OK moving forward.
    > * There seems to be little or no interest in my previous proposal to
    > use cape EEPROMs to store the overlay fragments. Given some churn in
    > the devicetree node definitions, it is likely this would have failed
    > in bad ways anyway. It seems mostly reasonable to expect users to
    > update their kernel and firmware to gain support for new add-on
    > hardware and we mostly try to avoid regressions (with the seemingly
    > ever-living exception of 3D graphics support), so I think I'm better
    > aligned with the community to drop my older suggestion. Some people,
    > including CircuitCo, are building capes without configuration EEPROMs
    > now, so a different recommended mechanism seems like a requirement.
    > * With the patches in our vendor 3.8 kernels and with all recent
    > mainline kernels, performing userspace muxing operations has become
    > easy again. It seems to be possible to turn on drivers not currently
    > in use without an unacceptable level of bloat or conflict. This has
    > been partially proven out using Charles' universal cape
    > (https://github.com/cdsteinkuehler/beaglebone-universal-io), though I
    > still have some concerns about conflicts. The result might be that
    > there is still some number of overlays, but the approach of minimizing
    > the overlays and instead relying on the existing loading/unloading
    > mechanisms of the mainline drivers as much as possible feels right to
    > me.
    > * It will still be some time before devicetree overlay support is
    > adopted in the mainline kernel. While I still see a strong need to
    > have devicetree overlay support and CapeMgr in the mainline, the
    > desire here is to optimize the user experience in the shortest term
    > possible. Users get really confused by the errors that get generated
    > by loading incorrect devicetree overlays and it is always nice when
    > you can avoid confusing users.
    >
    > My suggestion is:
    > * Maintain the source for .dtb and .dtbo files for all BeagleBoard.org
    > boards at http://github.com/beagleboard/devicetree-source, overriding
    > the sources in the mainline kernel when performing kernel builds. We
    > can host pre-built .dtb and .dtbo files at a normailzed location
    > outside the source repository for those that don't want to perform the
    > builds, since I don't believe the binary format is changing any time
    > soon other than the overlay support we utilize. Any patches accepted
    > into mainline as long as these files still exist there as well should
    > be merged to try to keep these in-line as long as possible,
    > anticipating eventual removal from mainline.
    > * Have cape makers submit pull requests to have their cape enabled in
    > the single boot-time devicetree overlay for each board they support.
    > The base drivers should be enabled at the earliest point where they
    > don't cause a conflict, minimizing what gets put into their overlays.
    > The final mux configuration and other points of conflict should be
    > kept in a board-specific overlay to make that configuration available
    > at boot. If the cape is disabled on the kernel command-line, the
    > kernel doesn't include CapeMgr support, or the board doesn't include a
    > configuration EEPROM, users would still have the ability to perform
    > run-time userspace mux configuration without CapeMgr unless
    > conflicting drivers need to be loaded.
    >
    > Alternatively, if we don't think this is where things belong, perhaps
    > we could try to move all of this into the u-boot sources, though
    > people using other bootloaders might not find this the most useful
    > approach.
    >
    > The pull request for http://github.com/beagleboard/devicetree-source:
    >
    > The following changes since commit a524bf5d5e173795ce4cb214280f304588b1d78d:
    >
    >   capes: add BB-VIEW-LCD4-01-00A0 & BB-VIEW-LCD7-01-00A0 (2014-05-29
    > 15:59:31 -0500)
    >
    > are available in the git repository at:
    >
    >   git@github.com:jadonk/cape-firmware master
    >
    > for you to fetch changes up to 9de20db80056b72d6e1f61b68447ba8f2d12cf9c:
    >
    >   Beagle DTS: remove deleted files from Makefile (2014-06-02 12:35:28 -0400)
    >
    > ----------------------------------------------------------------
    >
    > [...] Too many changes to list bringing in kernel history.
    
    ^ permalink raw reply	[flat|nested] 27+ messages in thread

  • end of thread, other threads:[~2014-06-26 15:27 UTC | newest]
    
    Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <CA+T6QP==raXdWz9mezK3JxSvZjWhUZZ7aKv4CpCr0SbdaCMgDQ@mail.gmail.com>
         [not found] ` <CA+T6QP==raXdWz9mezK3JxSvZjWhUZZ7aKv4CpCr0SbdaCMgDQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
    2014-06-11  5:10   ` Unifying cape overlays into boot .dtb for BeagleBoard.org boards Jason Kridner
    2014-06-16 13:22   ` Jason Kridner
    2014-06-17  9:09     ` Russell King - ARM Linux
         [not found]       ` <20140617090931.GB3705-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
    2014-06-17 12:37         ` Tom Rini
    2014-06-17 12:56           ` Russell King - ARM Linux
         [not found]             ` <20140617125640.GC3705-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
    2014-06-17 14:58               ` Tom Rini
    2014-06-17 13:45         ` Vladimir Pantelic
    2014-06-17 12:58       ` Matt Porter
    2014-06-17 13:15         ` Russell King - ARM Linux
    2014-06-17 13:30           ` Matt Porter
    2014-06-17 13:32           ` Pantelis Antoniou
    2014-06-17 16:01             ` Russell King - ARM Linux
         [not found]               ` <20140617160119.GE3705-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
    2014-06-17 16:33                 ` Jason Kridner
    2014-06-17 16:59               ` Pantelis Antoniou
    2014-06-17 17:05                 ` Russell King - ARM Linux
    2014-06-17 17:10                   ` Pantelis Antoniou
    2014-06-17 17:41                     ` Russell King - ARM Linux
    2014-06-17 19:24                       ` Pantelis Antoniou
    2014-06-17 13:50       ` Grant Likely
    2014-06-17 14:08       ` Iain Paton
    2014-06-11  5:11 ` Jason Kridner
    2014-06-17  7:11   ` Gupta, Pekon
         [not found]     ` <20980858CB6D3A4BAE95CA194937D5E73EAF59A7-yXqyApvAXouIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
    2014-06-17 16:25       ` Jason Kridner
    2014-06-18  8:51         ` Gupta, Pekon
    2014-06-26  7:50           ` Tony Lindgren
         [not found]             ` <20140626075039.GG28884-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
    2014-06-26 13:06               ` Tom Rini
         [not found]                 ` <53AC1AC5.5000103-l0cyMroinI0@public.gmane.org>
    2014-06-26 15:27                   ` Jason Kridner
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox;
    as well as URLs for NNTP newsgroup(s).