[U-Boot] [PATCH 1/2] tegra: clean up board include hell

Stephen Warren swarren at wwwdotorg.org
Fri Sep 28 00:32:52 CEST 2012


On 09/27/2012 03:52 PM, Lucas Stach wrote:
> The prototypes used in board files were all scattered out, which lead to
> code duplication between SPL and normal U-Boot and some prototypes not actually
> being used. Consolidate this in a common board header.

> This will allow to push down the calling of the pinmux functions into the
> respective drivers and this way cut down on complexity from the common board
> code.

I don't think that (calling pinmux from drivers) would be a good idea.
The entire pinmux should be set up globally when the system boots in
order to avoid conflicts part-way through a change, and to avoid
duplicating pinmux calls into every single driver. Unless a particular
driver actively needs to switch between different pinmux configurations
at run-time (e.g. an I2C bus mux that uses pinmux to do the muxing).

That said, this change to simplify all the #includes is probably
reasonable. One comment below.

> diff --git a/arch/arm/include/asm/arch-tegra/board.h b/arch/arm/include/asm/arch-tegra/board.h

> -/* Setup UARTs for the board according to the selected config */
> +/* Set up pinmux to make UART usable */
> +void gpio_config_uart(void);      /* CONFIG_SPI_UART_SWITCH */
> +void gpio_early_init_uart(void);  /*!CONFIG_SPI_UART_SWITCH */
> +
> +/* Set up early UART output */
>  void board_init_uart_f(void);
>  
> +/* Set up any early GPIOs the board might need for proper operation */
> +void gpio_early_init(void);  /* overrideable GPIO config        */

I think we should just rip out all the CONFIG_SPI_UART_SWITCH stuff.
It's only there to support one board with a completely broken HW design.
Still, that could happen in a separate patch after this though.


More information about the U-Boot mailing list