From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alban Bedel Date: Thu, 2 Oct 2014 18:12:03 +0200 Subject: [U-Boot] [PATCH] tegra20: tamonten: Fix the early gpio init In-Reply-To: <542D725A.3010003@wwwdotorg.org> References: <1412262898-26349-1-git-send-email-alban.bedel@avionic-design.de> <542D725A.3010003@wwwdotorg.org> Message-ID: <20141002181203.397560ff@avionic-0020> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, 02 Oct 2014 09:42:18 -0600 Stephen Warren 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 > > --- > > 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. > ... 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. Any pointer on how I can get tamonten.c out of the SPL build? Alban -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: