[U-Boot] [PATCH] tegra20: rework UART GPIO handling
Simon Glass
sjg at chromium.org
Tue Aug 21 21:07:54 CEST 2012
On Mon, Aug 20, 2012 at 8:48 AM, Stephen Warren <swarren at wwwdotorg.org> wrote:
> On 08/19/2012 12:15 PM, Lucas Stach wrote:
>> Rename board provided gpio_config_uart() to
>> gpio_early_init_uart() as it does the same thing as the equally
>> called function provided by the uart-switch code. This allows
>> to simply call this function in early board init whether or not
>> we are building with CONFIG_UART_SWITCH defined.
>>
>> Also provide a weak symbol for this function, to avoid the
>> need to provide this function for boards that don't need any
>> fixup.
>>
>> This patch supersedes the earlier posted
>> "tegra: convert gpio_config_uart to weak symbol".
>> Build tested with MAKEALL -s tegra20
>>
>> Signed-off-by: Lucas Stach <dev at lynxeye.de>
Acked-by: Simon Glass <sjg at chromium.org>
>
> I think this seems reasonable. However, a couple others should comment,
> so I'm CCing them and quoting the whole patch.
>
> Simon Glass should comment because he created the UART switch code.
This change seems reasonable to me.
> Allen Martin should comment, since it looks like both SPL and non-SPL
> end up calling gpio_early_init_uart(); is that duplication correct or
> problematic?
OK so far as seaboard goes, but could perhaps do with a tidy up at some point.
Regards,
Simon
>
>> ---
>> arch/arm/cpu/arm720t/tegra20/board.h | 2 +-
>> arch/arm/cpu/arm720t/tegra20/spl.c | 4 ----
>> board/avionic-design/common/tamonten.c | 7 -------
>> board/compal/paz00/paz00.c | 7 -------
>> board/compulab/trimslice/trimslice.c | 7 -------
>> board/nvidia/common/board.c | 10 ++++++----
>> board/nvidia/harmony/harmony.c | 7 -------
>> board/nvidia/seaboard/seaboard.c | 2 +-
>> board/nvidia/whistler/whistler.c | 7 -------
>> 9 Dateien geändert, 8 Zeilen hinzugefügt(+), 45 Zeilen entfernt(-)
>>
>> diff --git a/arch/arm/cpu/arm720t/tegra20/board.h b/arch/arm/cpu/arm720t/tegra20/board.h
>> index 61b91c0..260767d 100644
>> --- a/arch/arm/cpu/arm720t/tegra20/board.h
>> +++ b/arch/arm/cpu/arm720t/tegra20/board.h
>> @@ -22,4 +22,4 @@
>> */
>>
>> void board_init_uart_f(void);
>> -void gpio_config_uart(void);
>> +void gpio_early_init_uart(void);
>> diff --git a/arch/arm/cpu/arm720t/tegra20/spl.c b/arch/arm/cpu/arm720t/tegra20/spl.c
>> index da723ef..183a2e1 100644
>> --- a/arch/arm/cpu/arm720t/tegra20/spl.c
>> +++ b/arch/arm/cpu/arm720t/tegra20/spl.c
>> @@ -65,11 +65,7 @@ void board_init_f(ulong dummy)
>> board_init_uart_f();
>>
>> /* Initialize periph GPIOs */
>> -#ifdef CONFIG_SPI_UART_SWITCH
>> gpio_early_init_uart();
>> -#else
>> - gpio_config_uart();
>> -#endif
>>
>> /*
>> * We call relocate_code() with relocation target same as the
>> diff --git a/board/avionic-design/common/tamonten.c b/board/avionic-design/common/tamonten.c
>> index a0a4d1d..f5e6f6d 100644
>> --- a/board/avionic-design/common/tamonten.c
>> +++ b/board/avionic-design/common/tamonten.c
>> @@ -41,13 +41,6 @@
>> #include <mmc.h>
>> #endif
>>
>> -/*
>> - * Routine: gpio_config_uart
>> - * Description: Does nothing on Tamonten - no conflict w/SPI.
>> - */
>> -void gpio_config_uart(void)
>> -{
>> -}
>>
>> #ifdef CONFIG_BOARD_EARLY_INIT_F
>> void gpio_early_init(void)
>> diff --git a/board/compal/paz00/paz00.c b/board/compal/paz00/paz00.c
>> index cd684f2..59cf41b 100644
>> --- a/board/compal/paz00/paz00.c
>> +++ b/board/compal/paz00/paz00.c
>> @@ -24,13 +24,6 @@
>> #include <mmc.h>
>> #endif
>>
>> -/*
>> - * Routine: gpio_config_uart
>> - * Description: Does nothing on Paz00 - no conflict w/SPI.
>> - */
>> -void gpio_config_uart(void)
>> -{
>> -}
>>
>> #ifdef CONFIG_TEGRA_MMC
>> /*
>> diff --git a/board/compulab/trimslice/trimslice.c b/board/compulab/trimslice/trimslice.c
>> index 5dae15b..f6de19e 100644
>> --- a/board/compulab/trimslice/trimslice.c
>> +++ b/board/compulab/trimslice/trimslice.c
>> @@ -34,13 +34,6 @@
>> #include <mmc.h>
>> #endif
>>
>> -/*
>> - * Routine: gpio_config_uart
>> - * Description: Does nothing on TrimSlice - no UART-related GPIOs.
>> - */
>> -void gpio_config_uart(void)
>> -{
>> -}
>>
>> void pin_mux_spi(void)
>> {
>> diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c
>> index 7ab2040..78e136a 100644
>> --- a/board/nvidia/common/board.c
>> +++ b/board/nvidia/common/board.c
>> @@ -72,6 +72,11 @@ void __pin_mux_spi(void)
>>
>> void pin_mux_spi(void) __attribute__((weak, alias("__pin_mux_spi")));
>>
>> +void __gpio_early_init_uart(void)
>> +{
>> +}
>> +
>> +void gpio_early_init_uart(void) __attribute__((weak, alias("__gpio_early_init_uart")));
>> /*
>> * Routine: power_det_init
>> * Description: turn off power detects
>> @@ -156,11 +161,8 @@ int board_early_init_f(void)
>>
>> /* Initialize periph GPIOs */
>> gpio_early_init();
>> -#ifdef CONFIG_SPI_UART_SWITCH
>> gpio_early_init_uart();
>> -#else
>> - gpio_config_uart();
>> -#endif
>> +
>> return 0;
>> }
>> #endif /* EARLY_INIT */
>> diff --git a/board/nvidia/harmony/harmony.c b/board/nvidia/harmony/harmony.c
>> index 44977c7..5b75230 100644
>> --- a/board/nvidia/harmony/harmony.c
>> +++ b/board/nvidia/harmony/harmony.c
>> @@ -33,13 +33,6 @@
>> #include <mmc.h>
>> #endif
>>
>> -/*
>> - * Routine: gpio_config_uart
>> - * Description: Does nothing on Harmony - no conflict w/SPI.
>> - */
>> -void gpio_config_uart(void)
>> -{
>> -}
>>
>> #ifdef CONFIG_TEGRA_MMC
>> /*
>> diff --git a/board/nvidia/seaboard/seaboard.c b/board/nvidia/seaboard/seaboard.c
>> index 3298a6b..7c4ff1b 100644
>> --- a/board/nvidia/seaboard/seaboard.c
>> +++ b/board/nvidia/seaboard/seaboard.c
>> @@ -46,7 +46,7 @@ static void gpio_config_uart_seaboard(void)
>> gpio_direction_output(GPIO_PI3, 0);
>> }
>>
>> -void gpio_config_uart(void)
>> +void gpio_early_init_uart(void)
>> {
>> if (machine_is_ventana())
>> return;
>> diff --git a/board/nvidia/whistler/whistler.c b/board/nvidia/whistler/whistler.c
>> index c0a114d..cad7c48 100644
>> --- a/board/nvidia/whistler/whistler.c
>> +++ b/board/nvidia/whistler/whistler.c
>> @@ -34,13 +34,6 @@
>> #include <mmc.h>
>> #endif
>>
>> -/*
>> - * Routine: gpio_config_uart
>> - * Description: Does nothing on Whistler - no UART-related GPIOs.
>> - */
>> -void gpio_config_uart(void)
>> -{
>> -}
>>
>> /*
>> * Routine: pin_mux_mmc
>>
>
More information about the U-Boot
mailing list