[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