public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Bob Feretich <bob.feretich@prodigy.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] OMAP3 Beagle Pin Mux initialization issue
Date: Mon, 21 Feb 2011 17:51:36 -0800	[thread overview]
Message-ID: <4D6316A8.4090900@prodigy.net> (raw)

The BeagleBoard beagle.c file contains:
  242         /* Configure GPIOs to output */
  243         writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), 
&gpio6_base->oe);
  244         writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
  245                 GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
  246
  247         /* Set GPIOs */
  248         writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1,
  249 &gpio6_base->setdataout);
  250         writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
  251                 GPIO15 | GPIO14 | GPIO13 | GPIO12, 
&gpio5_base->setdataout);

It first sets some pins as outputs and then initializes their values. 
This can cause narrow glitches on the output pins.

To prevent the glitches the order should be reversed. First Set the 
GPIOs, then Configure them as outputs.

Also, I have observed the discussion regarding moving Pin Mux control to 
the kernel. This is fine except for pins that need to be configured ASAP 
after power-on. (The system could sit at the u-boot command prompt 
indefinitely, so the kernel pin mux configuration can be significantly 
delayed.). Please leave the hook so that u-boot customizers can 
configure their critical pins muxes.

Regards,
Bob Feretich

             reply	other threads:[~2011-02-22  1:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-22  1:51 Bob Feretich [this message]
2011-02-22  7:28 ` [U-Boot] OMAP3 Beagle Pin Mux initialization issue Wolfgang Denk
2011-02-25 21:44   ` Bob Feretich
2011-02-25 22:23     ` Albert ARIBAUD
2011-02-25 22:24       ` Albert ARIBAUD
2011-02-26  6:25       ` Bob Feretich

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=4D6316A8.4090900@prodigy.net \
    --to=bob.feretich@prodigy.net \
    --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