On 10/02/2014 10:12 AM, Alban Bedel wrote:
On Thu, 02 Oct 2014 09:42:18 -0600
Stephen Warren <swar...@wwwdotorg.org> wrote:
On 10/02/2014 09:14 AM, Alban Bedel wrote:
To set gpio during the early init we now need to use
tegra_spl_gpio_direction_output(), copied from seaboard.
Change-Id: Id0aadb17a71b78e75e8c3f8de374102b3eab767b
That shouldn't be present on upstream patches.
Sorry about this.
Signed-off-by: Alban Bedel <alban.be...@avionic-design.de>
---
board/avionic-design/common/tamonten.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/board/avionic-design/common/tamonten.c
b/board/avionic-design/common/tamonten.c
index 9c86779..ea2425a 100644
--- a/board/avionic-design/common/tamonten.c
+++ b/board/avionic-design/common/tamonten.c
@@ -23,8 +23,10 @@
#ifdef CONFIG_BOARD_EARLY_INIT_F
void gpio_early_init(void)
{
+#ifndef CONFIG_SPL_BUILD
gpio_request(GPIO_PI4, NULL);
- gpio_direction_output(GPIO_PI4, 1);
+#endif
+ tegra_spl_gpio_direction_output(GPIO_PI4, 1);
}
Surely you only want to call tegra_spl_*() from SPL, and not from
non-SPL code? In other words, don't you need something more like:
#ifdef CONFIG_SPL_BUILD
tegra_spl_gpio_direction_output(GPIO_PI4, 1);
#else
gpio_request(GPIO_PI4, NULL);
gpio_direction_output(GPIO_PI4, 1);
#endif
Sadly not, at this point the gpio driver isn't available yet, that's
why one need to use tegra_spl_gpio_direction_output(). As mentioned in
the commit log I copied this from seaboard, assuming it would be
correct.
AFAICT the gpio_request() could be removed too, it doesn't work at this
point anyway.
Hmm. CC Simon to comment on which GPIO drivers are available in
SPL/non-SPL, and why the above ifdef doesn't work.
... although perhaps the SPL and non-SPL code should simply be separated
into separate files, so that there's no need for ifdefs, and it's
obvious if SPL and non-SPL code are duplicating the same work?
Actually none of the code from tamonten.c is needed for the SPL, a
build with both function under #ifndef CONFIG_SPL_BUILD works just fine.
Indeed, if manipulating the GPIO in SPL isn't even necessary, then just
wrapping the whole code in #ifndef CONFIG_SPL_BUILD makes sense to me.
Any pointer on how I can get tamonten.c out of the SPL build?
I'm not sure now that the Makefile structure has changed to Kbuild. It
might be as simple as:
obj-$(CONFIG_SPL_BUILD) += foo.o
(but using whatever the opposite of CONFIG_SPL_BUILD is.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot