All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
To: Rob Herring <robherring2@gmail.com>
Cc: Peter Hurley <peter@hurleysoftware.com>,
	Frank Rowand <frowand.list@gmail.com>,
	Mark Rutland <mark.rutland@arm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Tony Lindgren <tony@atomide.com>,
	Koen Kooi <koen@dominion.thruhere.net>,
	Nicolas Ferre <nicolas.ferre@atmel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Grant Likely <grant.likely@secretlab.ca>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	Matt Porter <matt.porter@linaro.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Ludovic Desroches <ludovic.desroches@atmel.com>
Subject: Re: [PATCH 2/4] of: DT quirks infrastructure
Date: Fri, 20 Feb 2015 19:37:08 +0200	[thread overview]
Message-ID: <37628878-C4B4-49F6-9000-B993250F54AB@konsulko.com> (raw)
In-Reply-To: <CAL_JsqLENvqsG+vjK740Aw4yKYONwHB1b-B7mKvE_iAZ1JSdNw@mail.gmail.com>

Hi Rob,

> On Feb 20, 2015, at 19:30 , Rob Herring <robherring2@gmail.com> wrote:
> 
> On Fri, Feb 20, 2015 at 8:35 AM, Ludovic Desroches
> <ludovic.desroches@atmel.com> wrote:
>> On Fri, Feb 20, 2015 at 09:21:38AM -0500, Peter Hurley wrote:
>>> On 02/19/2015 12:38 PM, Pantelis Antoniou wrote:
>>>> 
>>>>> On Feb 19, 2015, at 19:30 , Frank Rowand <frowand.list@gmail.com> wrote:
>>>>> 
>>>>> On 2/19/2015 9:00 AM, Pantelis Antoniou wrote:
>>>>>> Hi Frank,
> 
> [...]
> 
>>>>>> This is one of those things that the kernel community doesn’t understand which makes people
>>>>>> who push product quite mad.
>>>>>> 
>>>>>> Engineering a product is not only about meeting customer spec, in order to turn a profit
>>>>>> the whole endeavor must be engineered as well for manufacturability.
>>>>>> 
>>>>>> Yes, you can always manually install files in the bootloader. For 1 board no problem.
>>>>>> For 10 doable. For 100 I guess you can hire an extra guy. For 1 million? Guess what,
>>>>>> instead of turning a profit you’re losing money if you only have a few cents of profit
>>>>>> per unit.
>>>>> 
>>>>> I'm not installing physical components manually.  Why would I be installing software
>>>>> manually?  (rhetorical question)
>>>>> 
>>>> 
>>>> Because on high volume product runs the flash comes preprogrammed and is soldered as is.
>>>> 
>>>> Having a single binary to flash to every revision of the board makes logistics considerably
>>>> easier.
>>>> 
>>>> Having to boot and tweak the bootloader settings to select the correct dtb (even if it’s present
>>>> on the flash medium) takes time and is error-prone.
>>>> 
>>>> Factory time == money, errors == money.
>>>> 
>>>>>> 
>>>>>> No knobs to tweak means no knobs to break. And a broken knob can have pretty bad consequences
>>>>>> for a few million units.
>>>>> 
>>>>> And you produce a few million units before testing that the first one off the line works?
>>>>> 
>>>> 
>>>> The first one off the line works. The rest will get some burn in and functional testing if you’re
>>>> lucky. In many cases where the product is very cheap it might make financial sense to just ship
>>>> as is and deal with recalls, if you’re reasonably happy after a little bit of statistical sampling.
>>>> 
>>>> Hardware is hard :)
>>> 
>>> I'm failing to see how this series improves your manufacturing process at all.
>>> 
>>> 1. Won't you have to provide the factory with different eeprom images for the
>>>   White and Black?  You _trust_ them to get that right, or more likely, you
>>>   have process control procedures in place so that you don't get 1 million Blacks
>>>   flashed with the White eeprom image.
>>> 
>>> 2. The White and Black use different memory technology so it's not as if the
>>>   eMMC from the Black will end up on the White SMT line (or vice versa).
>>> 
>>> 3  For that matter, why wouldn't you worry that all the microSD cards intended
>>>   for the White were accidentally assembled with the first 50,000 Blacks; at
>>>   that point you're losing a lot more than a few cents of profit. And that has
>>>   nothing to do with what image you provided.
>>> 
>> 
>> As you said, we can imagine many reasons to have a failure during the
>> production, having several DTB files will increase the risk.
> 
> Then package them as a single file. You can even use DT to do that.
> See u-boot FIT image.
> 

In the ideal case there is no u-boot, and no bootloader.

Packaging 27 difference DTBs, as in the Atmel people case, differing in only a few 
properties seems a waste of space, no?  

We keep on dancing around the issue, namely that DT does not have a quirk/variant
mechanism. I feel that it is a glaring omission. We can’t keep shoveling crap over
the fence to firmware and expect it to get buried there.

> Rob

Regards

— Pantelis


WARNING: multiple messages have this Message-ID (diff)
From: pantelis.antoniou@konsulko.com (Pantelis Antoniou)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/4] of: DT quirks infrastructure
Date: Fri, 20 Feb 2015 19:37:08 +0200	[thread overview]
Message-ID: <37628878-C4B4-49F6-9000-B993250F54AB@konsulko.com> (raw)
In-Reply-To: <CAL_JsqLENvqsG+vjK740Aw4yKYONwHB1b-B7mKvE_iAZ1JSdNw@mail.gmail.com>

Hi Rob,

> On Feb 20, 2015, at 19:30 , Rob Herring <robherring2@gmail.com> wrote:
> 
> On Fri, Feb 20, 2015 at 8:35 AM, Ludovic Desroches
> <ludovic.desroches@atmel.com> wrote:
>> On Fri, Feb 20, 2015 at 09:21:38AM -0500, Peter Hurley wrote:
>>> On 02/19/2015 12:38 PM, Pantelis Antoniou wrote:
>>>> 
>>>>> On Feb 19, 2015, at 19:30 , Frank Rowand <frowand.list@gmail.com> wrote:
>>>>> 
>>>>> On 2/19/2015 9:00 AM, Pantelis Antoniou wrote:
>>>>>> Hi Frank,
> 
> [...]
> 
>>>>>> This is one of those things that the kernel community doesn?t understand which makes people
>>>>>> who push product quite mad.
>>>>>> 
>>>>>> Engineering a product is not only about meeting customer spec, in order to turn a profit
>>>>>> the whole endeavor must be engineered as well for manufacturability.
>>>>>> 
>>>>>> Yes, you can always manually install files in the bootloader. For 1 board no problem.
>>>>>> For 10 doable. For 100 I guess you can hire an extra guy. For 1 million? Guess what,
>>>>>> instead of turning a profit you?re losing money if you only have a few cents of profit
>>>>>> per unit.
>>>>> 
>>>>> I'm not installing physical components manually.  Why would I be installing software
>>>>> manually?  (rhetorical question)
>>>>> 
>>>> 
>>>> Because on high volume product runs the flash comes preprogrammed and is soldered as is.
>>>> 
>>>> Having a single binary to flash to every revision of the board makes logistics considerably
>>>> easier.
>>>> 
>>>> Having to boot and tweak the bootloader settings to select the correct dtb (even if it?s present
>>>> on the flash medium) takes time and is error-prone.
>>>> 
>>>> Factory time == money, errors == money.
>>>> 
>>>>>> 
>>>>>> No knobs to tweak means no knobs to break. And a broken knob can have pretty bad consequences
>>>>>> for a few million units.
>>>>> 
>>>>> And you produce a few million units before testing that the first one off the line works?
>>>>> 
>>>> 
>>>> The first one off the line works. The rest will get some burn in and functional testing if you?re
>>>> lucky. In many cases where the product is very cheap it might make financial sense to just ship
>>>> as is and deal with recalls, if you?re reasonably happy after a little bit of statistical sampling.
>>>> 
>>>> Hardware is hard :)
>>> 
>>> I'm failing to see how this series improves your manufacturing process at all.
>>> 
>>> 1. Won't you have to provide the factory with different eeprom images for the
>>>   White and Black?  You _trust_ them to get that right, or more likely, you
>>>   have process control procedures in place so that you don't get 1 million Blacks
>>>   flashed with the White eeprom image.
>>> 
>>> 2. The White and Black use different memory technology so it's not as if the
>>>   eMMC from the Black will end up on the White SMT line (or vice versa).
>>> 
>>> 3  For that matter, why wouldn't you worry that all the microSD cards intended
>>>   for the White were accidentally assembled with the first 50,000 Blacks; at
>>>   that point you're losing a lot more than a few cents of profit. And that has
>>>   nothing to do with what image you provided.
>>> 
>> 
>> As you said, we can imagine many reasons to have a failure during the
>> production, having several DTB files will increase the risk.
> 
> Then package them as a single file. You can even use DT to do that.
> See u-boot FIT image.
> 

In the ideal case there is no u-boot, and no bootloader.

Packaging 27 difference DTBs, as in the Atmel people case, differing in only a few 
properties seems a waste of space, no?  

We keep on dancing around the issue, namely that DT does not have a quirk/variant
mechanism. I feel that it is a glaring omission. We can?t keep shoveling crap over
the fence to firmware and expect it to get buried there.

> Rob

Regards

? Pantelis

  reply	other threads:[~2015-02-20 17:37 UTC|newest]

Thread overview: 150+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-18 14:59 [PATCH 0/4] Device Tree Quirks & the Beaglebone Pantelis Antoniou
2015-02-18 14:59 ` Pantelis Antoniou
2015-02-18 14:59 ` Pantelis Antoniou
2015-02-18 14:59 ` [PATCH 1/4] arm: of: Add a DT quirk method after unflattening Pantelis Antoniou
2015-02-18 14:59   ` Pantelis Antoniou
2015-02-18 14:59 ` [PATCH 2/4] of: DT quirks infrastructure Pantelis Antoniou
2015-02-18 14:59   ` Pantelis Antoniou
2015-02-18 15:41   ` Mark Rutland
2015-02-18 15:41     ` Mark Rutland
2015-02-18 15:41     ` Mark Rutland
2015-02-18 15:53     ` Pantelis Antoniou
2015-02-18 15:53       ` Pantelis Antoniou
2015-02-18 15:53       ` Pantelis Antoniou
2015-02-18 16:32       ` Ludovic Desroches
2015-02-18 16:32         ` Ludovic Desroches
2015-02-18 16:32         ` Ludovic Desroches
2015-02-18 16:39         ` Pantelis Antoniou
2015-02-18 16:39           ` Pantelis Antoniou
2015-02-18 16:39           ` Pantelis Antoniou
2015-02-18 16:47           ` Ludovic Desroches
2015-02-18 16:47             ` Ludovic Desroches
2015-02-18 16:47             ` Ludovic Desroches
2015-02-18 16:46       ` Matt Porter
2015-02-18 16:46         ` Matt Porter
2015-02-18 16:46         ` Matt Porter
2015-02-18 17:31       ` Mark Rutland
2015-02-18 17:31         ` Mark Rutland
2015-02-18 17:31         ` Mark Rutland
2015-02-18 19:32         ` Guenter Roeck
2015-02-18 19:32           ` Guenter Roeck
2015-02-18 19:32           ` Guenter Roeck
2015-02-19 14:29         ` Pantelis Antoniou
2015-02-19 14:29           ` Pantelis Antoniou
2015-02-19 14:29           ` Pantelis Antoniou
2015-02-19 16:48           ` Frank Rowand
2015-02-19 16:48             ` Frank Rowand
2015-02-19 16:48             ` Frank Rowand
2015-02-19 17:00             ` Pantelis Antoniou
2015-02-19 17:00               ` Pantelis Antoniou
2015-02-19 17:00               ` Pantelis Antoniou
2015-02-19 17:30               ` Frank Rowand
2015-02-19 17:30                 ` Frank Rowand
2015-02-19 17:30                 ` Frank Rowand
2015-02-19 17:38                 ` Pantelis Antoniou
2015-02-19 17:38                   ` Pantelis Antoniou
2015-02-19 17:38                   ` Pantelis Antoniou
2015-02-19 18:01                   ` Maxime Bizon
2015-02-19 18:01                     ` Maxime Bizon
2015-02-19 18:01                     ` Maxime Bizon
2015-02-19 18:12                     ` Sylvain Rochet
2015-02-19 18:12                       ` Sylvain Rochet
2015-02-19 18:12                       ` Sylvain Rochet
2015-02-19 18:22                       ` Maxime Bizon
2015-02-19 18:22                         ` Maxime Bizon
2015-02-19 18:22                         ` Maxime Bizon
2015-02-20 14:21                   ` Peter Hurley
2015-02-20 14:21                     ` Peter Hurley
2015-02-20 14:21                     ` Peter Hurley
2015-02-20 14:35                     ` Ludovic Desroches
2015-02-20 14:35                       ` Ludovic Desroches
2015-02-20 14:35                       ` Ludovic Desroches
2015-02-20 15:00                       ` Peter Hurley
2015-02-20 15:00                         ` Peter Hurley
2015-02-20 15:00                         ` Peter Hurley
2015-02-20 15:02                         ` Pantelis Antoniou
2015-02-20 15:02                           ` Pantelis Antoniou
2015-02-20 15:02                           ` Pantelis Antoniou
2015-02-20 15:24                           ` Peter Hurley
2015-02-20 15:24                             ` Peter Hurley
2015-02-20 15:24                             ` Peter Hurley
2015-02-20 15:38                             ` Pantelis Antoniou
2015-02-20 15:38                               ` Pantelis Antoniou
2015-02-20 15:38                               ` Pantelis Antoniou
2015-02-20 16:34                               ` Peter Hurley
2015-02-20 16:34                                 ` Peter Hurley
2015-02-20 16:34                                 ` Peter Hurley
2015-02-20 16:49                                 ` Pantelis Antoniou
2015-02-20 16:49                                   ` Pantelis Antoniou
2015-02-20 16:49                                   ` Pantelis Antoniou
2015-02-20 17:30                       ` Rob Herring
2015-02-20 17:30                         ` Rob Herring
2015-02-20 17:30                         ` Rob Herring
2015-02-20 17:37                         ` Pantelis Antoniou [this message]
2015-02-20 17:37                           ` Pantelis Antoniou
2015-02-20 17:37                           ` Pantelis Antoniou
2015-02-23  7:00                         ` Ludovic Desroches
2015-02-23  7:00                           ` Ludovic Desroches
2015-02-23  7:00                           ` Ludovic Desroches
2015-02-20 14:38                     ` Pantelis Antoniou
2015-02-20 14:38                       ` Pantelis Antoniou
2015-02-20 14:38                       ` Pantelis Antoniou
2015-02-20 16:47                     ` Guenter Roeck
2015-02-20 16:47                       ` Guenter Roeck
2015-02-20 16:47                       ` Guenter Roeck
2015-02-20 18:09                       ` Peter Hurley
2015-02-20 18:09                         ` Peter Hurley
2015-02-20 18:09                         ` Peter Hurley
2015-02-20 18:48                         ` Guenter Roeck
2015-02-20 18:48                           ` Guenter Roeck
2015-02-20 18:48                           ` Guenter Roeck
2015-02-23  7:30                           ` Ludovic Desroches
2015-02-23  7:30                             ` Ludovic Desroches
2015-02-23  7:30                             ` Ludovic Desroches
2015-02-20  8:04                 ` Ludovic Desroches
2015-02-20  8:04                   ` Ludovic Desroches
2015-02-20  8:04                   ` Ludovic Desroches
2015-02-19  2:08   ` Frank Rowand
2015-02-19  2:08     ` Frank Rowand
2015-02-19 14:41     ` Pantelis Antoniou
2015-02-19 14:41       ` Pantelis Antoniou
2015-02-19 16:40       ` Frank Rowand
2015-02-19 16:40         ` Frank Rowand
2015-02-19 16:51         ` Frank Rowand
2015-02-19 16:51           ` Frank Rowand
2015-02-19 16:51           ` Frank Rowand
2015-02-20 13:23       ` Peter Hurley
2015-02-20 13:23         ` Peter Hurley
2015-02-19 18:01     ` Rob Herring
2015-02-19 18:01       ` Rob Herring
2015-02-19 18:01       ` Rob Herring
2015-02-19 18:12       ` Guenter Roeck
2015-02-19 18:12         ` Guenter Roeck
2015-02-19 18:12         ` Guenter Roeck
2015-02-20  8:16       ` Ludovic Desroches
2015-02-20  8:16         ` Ludovic Desroches
2015-02-20  8:16         ` Ludovic Desroches
2015-02-18 14:59 ` [PATCH 3/4] arm: am33xx: DT quirks for am33xx based beaglebone variants Pantelis Antoniou
2015-02-18 14:59   ` Pantelis Antoniou
2015-02-19 18:16   ` Tony Lindgren
2015-02-19 18:16     ` Tony Lindgren
2015-02-19 18:16     ` Tony Lindgren
2015-02-19 18:28     ` Pantelis Antoniou
2015-02-19 18:28       ` Pantelis Antoniou
2015-02-19 18:36       ` Tony Lindgren
2015-02-19 18:36         ` Tony Lindgren
2015-02-19 18:36         ` Tony Lindgren
2015-02-19 18:44         ` Pantelis Antoniou
2015-02-19 18:44           ` Pantelis Antoniou
2015-02-19 18:44           ` Pantelis Antoniou
2015-02-23 18:39           ` Peter Hurley
2015-02-23 18:39             ` Peter Hurley
2015-02-23 18:48             ` Pantelis Antoniou
2015-02-23 18:48               ` Pantelis Antoniou
2015-02-19 18:57         ` Guenter Roeck
2015-02-19 18:57           ` Guenter Roeck
2015-02-20 16:13       ` Jon Hunter
2015-02-20 16:13         ` Jon Hunter
2015-02-18 14:59 ` [PATCH 4/4] arm: dts: Common Black/White Beaglebone DTS using quirks Pantelis Antoniou
2015-02-18 14:59   ` Pantelis Antoniou
2015-02-18 14:59   ` Pantelis Antoniou

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=37628878-C4B4-49F6-9000-B993250F54AB@konsulko.com \
    --to=pantelis.antoniou@konsulko.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=grant.likely@secretlab.ca \
    --cc=koen@dominion.thruhere.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=ludovic.desroches@atmel.com \
    --cc=mark.rutland@arm.com \
    --cc=matt.porter@linaro.org \
    --cc=nicolas.ferre@atmel.com \
    --cc=peter@hurleysoftware.com \
    --cc=robherring2@gmail.com \
    --cc=tony@atomide.com \
    /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.