[U-Boot] [PATCH] tegra20: tamonten: Fix the early gpio init

Stephen Warren swarren at wwwdotorg.org
Thu Oct 2 17:42:18 CEST 2014


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.

> Signed-off-by: Alban Bedel <alban.bedel at 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

... 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?


More information about the U-Boot mailing list