public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Dirk Behme <dirk.behme@googlemail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 6/7 v2] OMAP3: Add OMAP3 core changes for MUSB
Date: Tue, 24 Feb 2009 18:01:05 +0100	[thread overview]
Message-ID: <49A427D1.6050700@googlemail.com> (raw)
In-Reply-To: <20090223213636.8E526832E43F@gemini.denx.de>

Wolfgang Denk wrote:
> Dear Nishanth Menon,
> 
> In message <49A296F0.4000509@gmail.com> you wrote:
>>> He probably wants to say that clocks should be enabled only when "usb
>>> start" is issued, as you might have u-boot compiled with USB defines
>>> set, but never actually use USB.
> 
> Correct.

Don't get me wrong, but I find it a little funny that we are 
speculating (?) here about what someone else might have wanted to say ;)

>> Comparing having all clock initialization at a central point (clock.c) -
>> which seems simple vs having get-put kind of clock apis in U-boot : I
> 
> But the explicit rule is only to enable interfaces (and this includes
> clocks) when they are actually being used. Enabling all clocks even if
> not needed may for example add significantly to the power consumption
> and to EMC problems.

While I totally agree, I think the point of discussion 
(misunderstanding?) is what does "_enabling_ clock only if needed" mean.

One can argue that "enabling clock only if needed" is done by

#ifdef MUSB
  enable_musbclock()
#endif

While doing this, clock is enabled if somebody _enables_ MUSB in 
config. While doing this, clock is enabled when interface is enabled 
(at compile time), assuming that user who enables interface in config 
knows why and uses it. Else it makes no sense to enable it (in 
config). And by enabling serial output over USB in upcoming patch, the 
interface is used. Seems that this is my point of view ;)

Other point of view of "enabling clock only if need" can be "enable 
clock only if code is compiled into uboot _and_ is accessed (e.g. by 
serial output over USB)" (i.e. runtime enable). I think this what 
Wolfgang's point of view is. I wonder why someone might enable an 
interface for an bootloader at compile time, getting a larger binary, 
but then not using it, though. But this might be an other topic ;)

>> u-boot is supposed to "keep it simple", enable/disable clocks on a need
>> basis is elegant, though could end up getting extended to i2c and other
> 
> Yes, indeed - if you followed the recent discussion about I2C rework
> this is indeed under consideration.
> 
>> peripherals too(if I were to stretch is pretty hard ;) ).. makes more
>> sense in kernel(which is already there) than here - my 2 cents..
> 
> Well, we're trying to improve...

I wonder a little why you try to improve code that is ideally running 
< 10s like a bootloader for e.g. power consumption aspects instead of 
keeping it small, simple and easy to maintain. But this might be an 
other topic, too ;)

Best regards

Dirk

  parent reply	other threads:[~2009-02-24 17:01 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-12 18:55 [U-Boot] [PATCH 0/7 v2] OMAP3: Add some additional improvements and fixes Dirk Behme
2009-02-12 18:55 ` [U-Boot] [PATCH 1/7 v2] OMAP3: Overo: Clean up pin mux and GPIO configuration Dirk Behme
2009-02-12 18:55   ` [U-Boot] [PATCH 2/7 v2] OMAP3: Beagle: Add board revision detection Dirk Behme
2009-02-12 18:55     ` [U-Boot] [PATCH 3/7 v2] OMAP3: Add OMAP3 auto detection Dirk Behme
2009-02-12 18:55       ` [U-Boot] [PATCH 4/7 v2] OMAP3: Pandora: Update pin mux Dirk Behme
2009-02-12 18:55         ` [U-Boot] [PATCH 5/7 v2] OMAP3: Add serial number based on die ID Dirk Behme
2009-02-12 18:55           ` [U-Boot] [PATCH 6/7 v2] OMAP3: Add OMAP3 core changes for MUSB Dirk Behme
2009-02-12 18:55             ` [U-Boot] [PATCH 7/7 v2] OMAP3: Clean up MMC code Dirk Behme
2009-02-22 15:59             ` [U-Boot] [PATCH 6/7 v2] OMAP3: Add OMAP3 core changes for MUSB Jean-Christophe PLAGNIOL-VILLARD
2009-02-22 16:22               ` Dirk Behme
2009-02-23 12:13                 ` Grazvydas Ignotas
2009-02-23 12:30                   ` Nishanth Menon
2009-02-23 19:31                     ` Dirk Behme
2009-02-23 21:36                     ` Wolfgang Denk
2009-02-23 23:03                       ` [U-Boot] Clock handling (wasRe: [PATCH 6/7 v2] OMAP3: Add OMAP3 core changes for MUSB) Nishanth Menon
2009-02-24 17:01                         ` Dirk Behme
2009-02-24 17:01                       ` Dirk Behme [this message]
2009-02-24 21:22                         ` [U-Boot] [PATCH 6/7 v2] OMAP3: Add OMAP3 core changes for MUSB Wolfgang Denk
2009-02-25 17:39                           ` Dirk Behme
2009-03-01 14:26                             ` Dirk Behme
2009-03-01 19:18                               ` Wolfgang Denk
2009-03-11 14:46             ` Jean-Christophe PLAGNIOL-VILLARD
2009-03-11 18:25               ` Dirk Behme
2009-03-11 18:44                 ` Wolfgang Denk
2009-02-22 16:01           ` [U-Boot] [PATCH 5/7 v2] OMAP3: Add serial number based on die ID Jean-Christophe PLAGNIOL-VILLARD
2009-02-22 16:40             ` Dirk Behme
2009-02-22 21:44             ` Wolfgang Denk
2009-03-01 14:20               ` Dirk Behme
2009-03-01 18:57                 ` Wolfgang Denk

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=49A427D1.6050700@googlemail.com \
    --to=dirk.behme@googlemail.com \
    --cc=u-boot@lists.denx.de \
    /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