linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Segher Boessenkool <segher@kernel.crashing.org>
To: David Woodhouse <dwmw2@infradead.org>
Cc: ppcdev <linuxppc-dev@ozlabs.org>,
	linux-mtd@lists.infradead.org, Milton Miller <miltonm@bga.com>
Subject: Re: [PATCH] powerpc: Create "rom" (MTD) device prpmc2800
Date: Thu, 7 Jun 2007 17:49:12 +0200	[thread overview]
Message-ID: <12ed5ad1cec125816d475094f39fe2b5@kernel.crashing.org> (raw)
In-Reply-To: <1181228038.2785.54.camel@pmac.infradead.org>

>> Put the proper interface informations in the device-tree, maybe some 
>> OS
>> smarter than linux will make good use on it and maybe linux will be
>> fixed at one point too (not by you, of course, you gave us that line
>> often enough about not being paid to do the right thing).
>
> In general, Linux is doing the right thing by probing.

Compare to PCI.  After Linux has found out how to
drive a PHB from the device tree, it can detect the
whole PCI tree on its own.  The device tree can still
be used to find out special things about the devices
(interrupt routing, ...) or to change some of the
probing algorithm (in the case of hardware bugs, for
example).

Now with NOR flash, the situation is analogue.  The
device tree tells Linux how to drive the flash bus
controller, and certain things about that bus (width,
for example).  It also should tell Linux what kind
of devices are on that bus (CFI, ...).  Linux can
do its own probes then, or it can use the device tree
for special cases.

> There are two major command sets for NOR flash -- the Intel/Sharp
> command set, and the AMD/Fujitsu command set.
>
> There are also two major ways to detect flash chips -- the JEDEC probe
> with magic numbers for mfr/chip ident,

A heuristic, but it's been worked out well enough over
the years that it is pretty reliable now.

> and the CFI ('Common Flash
> Interface') probe which gets you tables of information about the chip,
> including what optional command set extensions it has, etc.

But it only is 100% reliable _if_ you already know the
chip is CFI compatible.

> You _can_ bypass the probe and pass straight through to the 'back-end'
> chip driver. But unless you provide the CFI information you won't get 
> to
> use any of the optional chip features (or blacklist some of the
> known-broken features). It doesn't make a lot of sense to try using the
> back-end chip drivers directly. Just go through the normal probe
> process, really.

Just don't do any heuristic probes ("just try if something's
there", etc.) -- using the CFI probe algorithm on a flash
device that the device tree tells you is a CFI device should
be just fine, certainly.

> If you really want to bypass the probe, then I suspect you want the 
> full
> CFI tables to be present in your OF properties.

I never saw how that kind of info is useful for the OS to
have in the device tree -- if the OS can use the device at
all, it can get that info straight from the device easy
enough.


Segher

  reply	other threads:[~2007-06-07 15:49 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-02  4:30 [PATCH] powerpc: Create "rom" (MTD) device prpmc2800 Milton Miller
2007-06-02  7:39 ` Benjamin Herrenschmidt
2007-06-03 16:10   ` Sergei Shtylyov
2007-06-03 17:36     ` Segher Boessenkool
2007-06-03 18:03       ` Sergei Shtylyov
2007-06-03 18:25         ` Segher Boessenkool
2007-06-03 18:36           ` Sergei Shtylyov
2007-06-03 18:46             ` Segher Boessenkool
2007-06-03 19:16               ` Sergei Shtylyov
2007-06-03 21:04         ` Benjamin Herrenschmidt
2007-06-04 12:34           ` Sergei Shtylyov
2007-06-04 14:37             ` Segher Boessenkool
2007-06-04 14:49               ` Sergei Shtylyov
2007-06-07 14:53           ` David Woodhouse
2007-06-07 15:49             ` Segher Boessenkool [this message]
2007-06-07 14:47         ` David Woodhouse
2007-06-07 15:32           ` Segher Boessenkool
2007-06-02  8:53 ` Segher Boessenkool
2007-06-03 16:22   ` Sergei Shtylyov
2007-06-03 17:40     ` Segher Boessenkool
2007-06-03 18:31       ` Sergei Shtylyov
2007-06-03 18:44         ` Segher Boessenkool
2007-06-03 19:13           ` Sergei Shtylyov
2007-06-03 19:56             ` Segher Boessenkool
2007-06-03 20:26               ` Sergei Shtylyov
2007-06-04  8:07                 ` Segher Boessenkool
2007-06-04 13:34                   ` Sergei Shtylyov
2007-06-07 15:00                 ` David Woodhouse
2007-06-07 15:55                   ` Segher Boessenkool
2007-06-07 16:05                     ` David Woodhouse
2007-06-07 16:46                       ` Segher Boessenkool
2007-06-12  4:44                     ` David Gibson
2007-06-12 10:53                       ` Segher Boessenkool
2007-06-13  3:16                         ` David Gibson
2007-06-13  5:05                           ` Segher Boessenkool
2007-06-13  6:11                             ` David Gibson
2007-06-13  9:10                               ` Segher Boessenkool
2007-06-15  4:12                                 ` David Gibson
2007-06-15 11:22                                   ` Segher Boessenkool
2007-06-15  4:14                     ` David Gibson
2007-06-15  8:42                       ` Segher Boessenkool
2007-06-15  8:47                         ` David Woodhouse
2007-06-15  8:59                           ` Segher Boessenkool
2007-06-03 21:12     ` Benjamin Herrenschmidt
2007-06-04  8:11       ` Segher Boessenkool
2007-06-04 13:16         ` Sergei Shtylyov
2007-06-04 12:41       ` Sergei Shtylyov
2007-06-04 14:49         ` Segher Boessenkool
2007-06-04 15:54           ` Sergei Shtylyov
2007-06-03 17:29 ` Sergei Shtylyov
2007-06-03 17:45   ` Segher Boessenkool
2007-06-03 18:18     ` Sergei Shtylyov
2007-06-03 18:43       ` Segher Boessenkool
2007-06-03 18:59         ` Sergei Shtylyov
2007-06-03 19:48           ` Segher Boessenkool
2007-06-03 20:10             ` Sergei Shtylyov
2007-06-04  8:02               ` Segher Boessenkool
2007-06-04 19:40 ` Mark A. Greer
  -- strict thread matches above, loose matches on Subject: below --
2007-06-01 23:20 Mark A. Greer
2007-06-02  8:46 ` Segher Boessenkool
2007-06-04 20:56 ` Mark A. Greer
2007-06-05 20:35   ` Sergei Shtylyov
2007-06-05 21:11     ` Mark A. Greer
2007-06-06 12:41       ` Sergei Shtylyov
2007-06-07 15:08         ` David Woodhouse
2007-06-06  2:39   ` David Gibson
2007-06-07 13:30     ` Segher Boessenkool
2007-06-12  4:42       ` David Gibson
2007-06-12 10:50         ` Segher Boessenkool
2007-06-13  6:12           ` David Gibson
2007-06-13  9:13             ` Segher Boessenkool
2007-06-13  9:19               ` David Gibson
2007-06-13  9:37                 ` Segher Boessenkool
2007-06-14  4:29                   ` David Gibson
2007-06-14  8:00                     ` Segher Boessenkool
2007-06-14 12:39                     ` Sergei Shtylyov
2007-06-14 13:20                       ` Segher Boessenkool
2007-06-14 12:48           ` Sergei Shtylyov
2007-06-14 13:18             ` Segher Boessenkool
2007-06-14 12:50         ` Sergei Shtylyov
2007-06-14 13:43           ` Segher Boessenkool

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=12ed5ad1cec125816d475094f39fe2b5@kernel.crashing.org \
    --to=segher@kernel.crashing.org \
    --cc=dwmw2@infradead.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=miltonm@bga.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 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).