All of lore.kernel.org
 help / color / mirror / Atom feed
From: nico@fluxnic.net (Nicolas Pitre)
To: linux-arm-kernel@lists.infradead.org
Subject: ARM Machine SoC I/O setup and PAD initialization code
Date: Thu, 22 Jul 2010 17:00:56 +0200 (CEST)	[thread overview]
Message-ID: <alpine.LFD.2.00.1007221617370.8988@xanadu.home> (raw)
In-Reply-To: <201007221531.58744.david.jander@protonic.nl>

On Thu, 22 Jul 2010, David Jander wrote:

> On Thursday 22 July 2010 02:56:52 pm Mark Brown wrote:
> > On Thu, Jul 22, 2010 at 02:10:09PM +0200, David Jander wrote:
> > > IMO, if a bootloader is broken (in any way), it needs replacing. Be it
> > > with another bootloader or directly with the kernel.
> > 
> > If you don't have JTAG access (either due to device limitations or due
> > to lack of data from the vendor of a reference platform you're using)
> > replacing a bootloader can be rather more stressful than it's worth.
> 
> I agree, but I simply can't believe ARM platform designers all do such a bad 
> job at firmware (=bootloader) development in general, which is in sharp 
> contrast to what I have learned from previous PowerPC developments.

Well, this obviously didn't impair the success of the ARM architecture, 
nor did crappy BIOS has impaired the x86 architecture.  Becoming 
"mainstream" as the ARM architecture is becoming is always bound to 
create crap on the edges, such as poorly revised bootloader code.  And 
just as on X86, it is often better to simply not rely too much on the 
bootloader.  Mistakes and bugs will always happen in both the kernel and 
the bootloader.  But it is much more easier and efficient resource wise 
to fix a config bug in the kernel and updating it on the affected kernel 
than it is for fixing the same bug in the bootloader and updating the 
bootloader there.

> How can you assume that kernel-developers know how to correcly set-up the slew 
> rate and drive-strength of an I/O-pin for a given platform if the manufacturer 
> itself didn't do it nor document it!??

You can't.  But the kernel can be fixed while in many cases the 
bootloader practically can't.

> Even if it works with one guessed setting, there is a potential EMC impact 
> that needs to be taken care of.

What I've implemented so far is the ability to either set some 
parameters, or keep the existing ones, but not require for the kernel to 
have to setup everything up.  So if you don't know the right value for a 
setting as a kernel developer then you may just elect to leave it alone 
and hope that the bootloader has set it right.

> There are important hardware-design decisions after each of those settings! If 
> we continue this amateuristic approach, ARM-linux platforms will never get 
> taken seriously in more demanding environments. This really needs to change.

You are more than welcome to change this state of affairs.  And if you 
truly succeed where we all failed so far then it will only be a matter 
of removing the made redundant and useless setup code in the kernel.


Nicolas

  parent reply	other threads:[~2010-07-22 15:00 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-21  8:29 ARM Machine SoC I/O setup and PAD initialization code David Jander
2010-07-21  8:47 ` Russell King - ARM Linux
2010-07-22  2:32   ` Simon Horman
2010-07-22  7:20     ` Russell King - ARM Linux
2010-07-22  7:29       ` Simon Horman
2010-07-22  8:38         ` Magnus Damm
2010-07-22  8:49           ` Eric Miao
2010-07-22  9:01             ` Magnus Damm
2010-07-22  9:02             ` Russell King - ARM Linux
2010-07-22  8:46         ` Russell King - ARM Linux
2010-07-22  9:14           ` Simon Horman
2010-07-24 21:36         ` Grant Likely
2010-07-22  8:16       ` Magnus Damm
2010-07-22 12:10         ` David Jander
2010-07-22 12:35           ` Russell King - ARM Linux
2010-07-22 12:56           ` Mark Brown
2010-07-22 13:31             ` David Jander
2010-07-22 13:54               ` Russell King - ARM Linux
2010-07-23 10:35                 ` David Jander
2010-07-23 13:02                   ` Russell King - ARM Linux
2010-07-22 14:20               ` Mark Brown
2010-07-23 10:18                 ` David Jander
2010-07-23 12:57                   ` Russell King - ARM Linux
2010-07-23 14:17                   ` Mark Brown
2010-07-23 18:38                     ` david at protonic.nl
2010-07-23 19:59                       ` Jason McMullan
2010-07-23 21:03                       ` Robert Schwebel
2010-07-26  1:37                         ` Magnus Damm
2010-07-26  6:56                           ` Robert Schwebel
2010-07-24 18:50                       ` Mark Brown
2010-07-22 15:00               ` Nicolas Pitre [this message]
2010-07-23 10:31                 ` David Jander
2010-07-22 13:41           ` Rob Herring
2010-07-22 21:20 ` Linus Walleij

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=alpine.LFD.2.00.1007221617370.8988@xanadu.home \
    --to=nico@fluxnic.net \
    --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.