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
next prev parent 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: linkBe 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.