public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] OMAP3 Beagle Pin Mux initialization issue
@ 2011-02-22  1:51 Bob Feretich
  2011-02-22  7:28 ` Wolfgang Denk
  0 siblings, 1 reply; 6+ messages in thread
From: Bob Feretich @ 2011-02-22  1:51 UTC (permalink / raw)
  To: u-boot

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-02-26  6:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-22  1:51 [U-Boot] OMAP3 Beagle Pin Mux initialization issue Bob Feretich
2011-02-22  7:28 ` 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox