All of lore.kernel.org
 help / color / mirror / Atom feed
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH V2 2/2] kbuild: dtbs_install: new make target
Date: Tue, 19 Nov 2013 14:06:05 -0700	[thread overview]
Message-ID: <528BD2BD.8090304@wwwdotorg.org> (raw)
In-Reply-To: <20131119203923.GF28859@titan.lakedaemon.net>

On 11/19/2013 01:39 PM, Jason Cooper wrote:
> On Tue, Nov 19, 2013 at 12:53:07PM -0700, Stephen Warren wrote:
...
>> d) Finally, boot.scr needs to load the DTB. This requires knowing which
>> DTB to load. Again, the distro shouldn't have to detect which board
>> they're running on, and either install the correct DTB to a static
>> filename, or make a decision on the DTB filename to load. Instead,
>> distros should simply install all DTBs generated by the kernel build,
>> and use some run-time information to calculate the DTB filename using a
>> completely HW-agnostic and generic algorithm.
>>
>> To support this, U-Boot can be configured to add certain standard
>> environment variables to the default environment. These define which SoC
>> and board the code is running on. These are ${soc} and ${board}. If you
>> then calculate the DTB filename as ${soc}-${board}.dtb, that should work
>> anywhere. This is why keeping the current in-kernel DTB filenames is
>> important, so they match the assumption that this algorithm works.
>>
>> Note: if the firmware contains an embedded DTB, boot.scr could detect
>> this e.g. by the standard variable $fdt_addr being set, and hence skiip
>> loading a DTB. IIRC, this is how Calxeda boards are set up.
> 
> Ok, so the ${soc}-${board} is a work-around until all bootloaders are
> providing a dtb, or until all bootloaders are providing a stable dtb?

I suppose so yes.

However, I'm not really convinced we'll see that many products with a DT
embedded into them that's stable, complete[1], and based on upstream
bindings, in the particularly near future. I think distros will likely
need to deal with DTs-in-filesystems for a while yet. But anyway, either
way should work out just fine.

[1] For example, we aren't that far off some reasonably stable basic
bindings for Tegra now . However, there are still devices we haven't
added to DT at all, so while the DT ABI stability issue is fading, the
need-to-upgrade-your-DTB case still exists to get new features, and
upgrading the DTB via the filesystem is a lot easier and more convenient
than doing so via firmware updates or firmware flashing commands.

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>
Cc: Russell King - ARM Linux
	<linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	Ian Campbell
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [RFC PATCH V2 2/2] kbuild: dtbs_install: new make target
Date: Tue, 19 Nov 2013 14:06:05 -0700	[thread overview]
Message-ID: <528BD2BD.8090304@wwwdotorg.org> (raw)
In-Reply-To: <20131119203923.GF28859-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org>

On 11/19/2013 01:39 PM, Jason Cooper wrote:
> On Tue, Nov 19, 2013 at 12:53:07PM -0700, Stephen Warren wrote:
...
>> d) Finally, boot.scr needs to load the DTB. This requires knowing which
>> DTB to load. Again, the distro shouldn't have to detect which board
>> they're running on, and either install the correct DTB to a static
>> filename, or make a decision on the DTB filename to load. Instead,
>> distros should simply install all DTBs generated by the kernel build,
>> and use some run-time information to calculate the DTB filename using a
>> completely HW-agnostic and generic algorithm.
>>
>> To support this, U-Boot can be configured to add certain standard
>> environment variables to the default environment. These define which SoC
>> and board the code is running on. These are ${soc} and ${board}. If you
>> then calculate the DTB filename as ${soc}-${board}.dtb, that should work
>> anywhere. This is why keeping the current in-kernel DTB filenames is
>> important, so they match the assumption that this algorithm works.
>>
>> Note: if the firmware contains an embedded DTB, boot.scr could detect
>> this e.g. by the standard variable $fdt_addr being set, and hence skiip
>> loading a DTB. IIRC, this is how Calxeda boards are set up.
> 
> Ok, so the ${soc}-${board} is a work-around until all bootloaders are
> providing a dtb, or until all bootloaders are providing a stable dtb?

I suppose so yes.

However, I'm not really convinced we'll see that many products with a DT
embedded into them that's stable, complete[1], and based on upstream
bindings, in the particularly near future. I think distros will likely
need to deal with DTs-in-filesystems for a while yet. But anyway, either
way should work out just fine.

[1] For example, we aren't that far off some reasonably stable basic
bindings for Tegra now . However, there are still devices we haven't
added to DT at all, so while the DT ABI stability issue is fading, the
need-to-upgrade-your-DTB case still exists to get new features, and
upgrading the DTB via the filesystem is a lot easier and more convenient
than doing so via firmware updates or firmware flashing commands.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2013-11-19 21:06 UTC|newest]

Thread overview: 191+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-11 20:29 [RFC DTC PATCH] dtc: add symlink (-L) output to dtbs Jason Cooper
2013-11-11 20:29 ` Jason Cooper
     [not found] ` < 20131115121215.901EFC40885@trevor.secretlab.ca>
     [not found] ` < 1384896475-8744-1-git-send-email-jason@lakedaemon.net>
     [not found] ` < 52814AFB.3070600@wwwdotorg.org>
     [not found]   ` < CAL_Jsq+mAoN2Lbg+uqfLMTZBvgz28E-EioiaU4BUSL_7rS5JjA@mail.gmail.com>
     [not found]     ` < 528275B7.6050209@wwwdotorg.org>
     [not found] ` < 1385942188-21831-1-git-send-email-jason@lakedaemon.net>
     [not found] ` < 1385062552-9882-1-git-send-email-jason@lakedaemon.net>
     [not found]   ` < 653B066B-5B24-4817-86EF-D4D9F129123D@codeaurora.org>
2013-11-11 21:24 ` Stephen Warren
2013-11-11 21:24   ` Stephen Warren
2013-11-12 14:51   ` Jason Cooper
2013-11-12 14:51     ` Jason Cooper
2013-11-12 15:29   ` Rob Herring
2013-11-12 15:29     ` Rob Herring
2013-11-12 18:38     ` Stephen Warren
2013-11-12 18:38       ` Stephen Warren
2013-11-12 19:30       ` Jason Cooper
2013-11-12 19:30         ` Jason Cooper
2013-11-12 19:40         ` Andrew Lunn
2013-11-12 19:40           ` Andrew Lunn
2013-11-12 20:08           ` Jason Cooper
2013-11-12 20:08             ` Jason Cooper
2013-11-12 20:15         ` Stephen Warren
2013-11-12 20:15           ` Stephen Warren
2013-11-14 16:28           ` Jason Cooper
2013-11-14 16:28             ` Jason Cooper
2013-11-14 19:00             ` Stephen Warren
2013-11-14 19:00               ` Stephen Warren
2013-11-14 19:16               ` Jason Gunthorpe
2013-11-14 19:16                 ` Jason Gunthorpe
2013-11-14 19:34                 ` Russell King - ARM Linux
2013-11-14 19:34                   ` Russell King - ARM Linux
2013-11-14 21:37                 ` Stephen Warren
2013-11-14 21:37                   ` Stephen Warren
2013-11-14 22:12                   ` Matt Sealey
2013-11-14 22:12                     ` Matt Sealey
2013-11-15 16:14                   ` Grant Likely
2013-11-15 16:14                     ` Grant Likely
2013-11-14 19:26             ` Russell King - ARM Linux
2013-11-14 19:26               ` Russell King - ARM Linux
2013-11-15 15:23               ` Jason Cooper
2013-11-15 15:23                 ` Jason Cooper
2013-11-15 17:09                 ` Javier Martinez Canillas
2013-11-15 17:09                   ` Javier Martinez Canillas
2013-11-15 21:38                   ` Jason Cooper
2013-11-15 21:38                     ` Jason Cooper
2013-11-15 12:12 ` Grant Likely
2013-11-15 12:12   ` Grant Likely
2013-11-15 15:21   ` Jason Cooper
2013-11-15 15:21     ` Jason Cooper
2013-11-18 12:56     ` Grant Likely
2013-11-18 12:56       ` Grant Likely
2013-11-18 18:38 ` [RFC PATCH V2 0/2] Add 'make dtbs_install' Jason Cooper
2013-11-18 18:38   ` Jason Cooper
2013-11-18 18:38   ` [RFC PATCH V2 1/2] dtc: add 'compat' output option, prints board string Jason Cooper
2013-11-18 18:38     ` Jason Cooper
2013-11-18 19:01     ` Stephen Warren
2013-11-18 19:01       ` Stephen Warren
2013-11-18 19:21       ` Jason Cooper
2013-11-18 19:21         ` Jason Cooper
2013-11-18 20:24       ` Jason Cooper
2013-11-18 20:24         ` Jason Cooper
2013-11-18 18:38   ` [RFC PATCH V2 2/2] kbuild: dtbs_install: new make target Jason Cooper
2013-11-18 18:38     ` Jason Cooper
2013-11-18 19:09     ` Stephen Warren
2013-11-18 19:09       ` Stephen Warren
2013-11-18 19:19       ` Jason Cooper
2013-11-18 19:19         ` Jason Cooper
2013-11-18 19:23         ` Stephen Warren
2013-11-18 19:23           ` Stephen Warren
2013-11-18 19:28           ` Jason Cooper
2013-11-18 19:28             ` Jason Cooper
2013-11-18 19:38             ` Stephen Warren
2013-11-18 19:38               ` Stephen Warren
2013-11-18 19:52               ` Jason Cooper
2013-11-18 19:52                 ` Jason Cooper
     [not found]                 ` < 528A98C8.9040803@wwwdotorg.org>
2013-11-18 22:46                 ` Stephen Warren
2013-11-18 22:46                   ` Stephen Warren
     [not found]                   ` <20131119122801. GL16735@n2100.arm.linux.org.uk>
2013-11-19 12:28                   ` Russell King - ARM Linux
2013-11-19 12:28                     ` Russell King - ARM Linux
2013-11-19 14:23                     ` Jason Cooper
2013-11-19 14:23                       ` Jason Cooper
     [not found]                       ` < 20131119150212.GM16735@n2100.arm.linux.org.uk>
2013-11-19 15:02                       ` Russell King - ARM Linux
2013-11-19 15:02                         ` Russell King - ARM Linux
     [not found]                         ` <20131119152047. GB28859@titan.lakedaemon.net>
2013-11-19 15:20                         ` Jason Cooper
2013-11-19 15:20                           ` Jason Cooper
2013-11-19 15:21                           ` Russell King - ARM Linux
2013-11-19 15:21                             ` Russell King - ARM Linux
     [not found]                             ` < 20131119192246.GP16735@n2100.arm.linux.org.uk>
2013-11-19 19:22                             ` Russell King - ARM Linux
2013-11-19 19:22                               ` Russell King - ARM Linux
2013-11-19 19:54                               ` Jason Cooper
2013-11-19 19:54                                 ` Jason Cooper
2013-11-20 13:10                               ` Grant Likely
2013-11-20 13:10                                 ` Grant Likely
2013-11-20 13:56                                 ` Russell King - ARM Linux
2013-11-20 13:56                                   ` Russell King - ARM Linux
2013-11-21  7:50                                   ` Grant Likely
2013-11-21  7:50                                     ` Grant Likely
2013-11-20 16:38                                 ` Jason Cooper
2013-11-20 16:38                                   ` Jason Cooper
2013-11-19 18:40                       ` Stephen Warren
2013-11-19 18:40                         ` Stephen Warren
2013-11-19 18:43                         ` Jason Cooper
2013-11-19 18:43                           ` Jason Cooper
2013-11-19 18:42                     ` Stephen Warren
2013-11-19 18:42                       ` Stephen Warren
2013-11-19 18:52                       ` Russell King - ARM Linux
2013-11-19 18:52                         ` Russell King - ARM Linux
2013-11-19 19:27                         ` Stephen Warren
2013-11-19 19:27                           ` Stephen Warren
2013-11-19 19:53                           ` Russell King - ARM Linux
2013-11-19 19:53                             ` Russell King - ARM Linux
2013-11-19 18:57                       ` Jason Cooper
2013-11-19 18:57                         ` Jason Cooper
2013-11-19 19:53                         ` Stephen Warren
2013-11-19 19:53                           ` Stephen Warren
2013-11-19 20:39                           ` Jason Cooper
2013-11-19 20:39                             ` Jason Cooper
2013-11-19 21:06                             ` Stephen Warren [this message]
2013-11-19 21:06                               ` Stephen Warren
2013-11-20 13:18                               ` Grant Likely
2013-11-20 13:18                                 ` Grant Likely
2013-11-18 21:21 ` [RFC PATCH V3 0/2] Add 'make dtbs_install' Jason Cooper
2013-11-18 21:21   ` Jason Cooper
2013-11-18 21:21   ` [RFC PATCH V3 1/2] scripts: dtc: build fdtget for extracting properties from dtbs Jason Cooper
2013-11-18 21:21     ` Jason Cooper
2013-11-18 22:54     ` Stephen Warren
2013-11-18 22:54       ` Stephen Warren
2013-11-19 14:17       ` Grant Likely
2013-11-19 14:17         ` Grant Likely
2013-11-18 21:21   ` [RFC PATCH V3 2/2] kbuild: dtbs_install: new make target Jason Cooper
2013-11-18 21:21     ` Jason Cooper
     [not found] ` <cover. 1384798508.git.jason@lakedaemon.net>
     [not found]   ` < 728deb9bbeab491a728da077aa5e47c0e01bccf8.1384798508.git.jason@lakedaemon. net>
     [not found]     ` <728deb9bbeab491a728da077aa5e47c0e01bccf8.1384798508.git.jason@lakedaemon.n et>
2013-11-19 13:58       ` [RFC PATCH V2 1/2] dtc: add 'compat' output option, prints board string Grant Likely
2013-11-19 13:58         ` Grant Likely
     [not found] ` <cover. 1384809305.git.jason@lakedaemon.net>
     [not found]   ` < 13f06582c166343c055b8793305d4b9a00b2172e.1384809305.git.jason@lakedaemon. net>
     [not found]     ` <13f06582c166343c055b8793305d4b9a00b2172e.1384809305.git.jason@lakedaemon.n et>
2013-11-19 14:22       ` [RFC PATCH V3 2/2] kbuild: dtbs_install: new make target Grant Likely
2013-11-19 14:22         ` Grant Likely
2013-11-19 21:27 ` [PATCH V4] " Jason Cooper
2013-11-19 21:27   ` Jason Cooper
2013-11-19 21:58   ` Stephen Warren
2013-11-19 21:58     ` Stephen Warren
2013-11-20 13:21     ` Grant Likely
2013-11-20 13:21       ` Grant Likely
2013-11-20 17:22       ` Jason Cooper
2013-11-20 17:22         ` Jason Cooper
2013-11-20 17:08     ` Jason Cooper
2013-11-20 17:08       ` Jason Cooper
2013-11-20 17:21       ` Stephen Warren
2013-11-20 17:21         ` Stephen Warren
2013-11-21  7:48       ` Grant Likely
2013-11-21  7:48         ` Grant Likely
2013-11-21 19:35 ` [PATCH V5] " Jason Cooper
2013-11-21 19:35   ` Jason Cooper
2013-11-21 19:55   ` Stephen Warren
2013-11-21 19:55     ` Stephen Warren
2013-11-21 23:31   ` Kumar Gala
2013-11-21 23:31     ` Kumar Gala
2013-11-21 23:36     ` Olof Johansson
2013-11-21 23:36       ` Olof Johansson
2013-11-22  7:42       ` Grant Likely
2013-11-22  7:42         ` Grant Likely
2013-11-22 13:31         ` Jason Cooper
2013-11-22 13:31           ` Jason Cooper
2013-11-22 13:19     ` Jason Cooper
2013-11-22 13:19       ` Jason Cooper
2013-12-01 23:40     ` Jason Cooper
2013-12-01 23:40       ` Jason Cooper
2013-11-22  7:44   ` Grant Likely
2013-11-22  7:44     ` Grant Likely
2013-11-22 13:33     ` Jason Cooper
2013-11-22 13:33       ` Jason Cooper
2013-12-01 23:56 ` [PATCH V6] " Jason Cooper
2013-12-01 23:56   ` Jason Cooper
2013-12-03 17:37   ` Stephen Warren
2013-12-03 17:37     ` Stephen Warren
2013-12-03 17:41     ` Russell King - ARM Linux
2013-12-03 17:41       ` Russell King - ARM Linux
2014-01-10 18:29   ` Jason Cooper
2014-01-10 18:29     ` Jason Cooper
2014-02-04 12:40     ` Grant Likely
2014-02-04 12:40       ` Grant Likely
2014-02-04 12:41     ` [PATCH] " Grant Likely
2015-03-28 13:23   ` [PATCH V6] " Russell King - ARM Linux
2015-03-28 13:23     ` Russell King - ARM Linux
2015-03-28 13:37     ` [PATCH] dtbsinstall: don't move target directory out of the way Russell King
2015-03-28 13:37       ` Russell King
2015-03-28 13:37       ` Russell King
2015-03-28 15:59       ` Jason Cooper
2015-03-28 15:59         ` Jason Cooper
2015-03-28 15:59         ` Jason Cooper
2015-03-28 15:58     ` [PATCH V6] kbuild: dtbs_install: new make target Jason Cooper
2015-03-28 15:58       ` Jason Cooper
2015-03-29 20:34       ` Olof Johansson
2015-03-29 20:34         ` Olof Johansson
2015-03-29 20:58         ` Russell King - ARM Linux
2015-03-29 20:58           ` Russell King - ARM Linux
2015-03-29 21:04         ` Jason Cooper
2015-03-29 21:04           ` Jason Cooper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=528BD2BD.8090304@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.