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

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.
Signed-off-by: Lucas Stach dev@lynxeye.de --- v2: remove wrong paragraph about how to move ahead in the commit message --- arch/arm/cpu/arm720t/tegra-common/board.h | 25 --------------------- arch/arm/cpu/arm720t/tegra-common/spl.c | 2 +- arch/arm/cpu/tegra-common/board.c | 1 + arch/arm/include/asm/arch-tegra/board.h | 19 +++++++++++++++- board/nvidia/common/board.c | 1 - board/nvidia/common/board.h | 37 ------------------------------- board/nvidia/common/uart-spi-switch.c | 2 +- 7 Dateien geändert, 21 Zeilen hinzugefügt(+), 66 Zeilen entfernt(-) delete mode 100644 arch/arm/cpu/arm720t/tegra-common/board.h delete mode 100644 board/nvidia/common/board.h
diff --git a/arch/arm/cpu/arm720t/tegra-common/board.h b/arch/arm/cpu/arm720t/tegra-common/board.h deleted file mode 100644 index 260767d..0000000 --- a/arch/arm/cpu/arm720t/tegra-common/board.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) Copyright 2010-2011 - * NVIDIA Corporation <www.nvidia.com> - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -void board_init_uart_f(void); -void gpio_early_init_uart(void); diff --git a/arch/arm/cpu/arm720t/tegra-common/spl.c b/arch/arm/cpu/arm720t/tegra-common/spl.c index dfe36b9..0d37ce8 100644 --- a/arch/arm/cpu/arm720t/tegra-common/spl.c +++ b/arch/arm/cpu/arm720t/tegra-common/spl.c @@ -33,13 +33,13 @@ #include <image.h> #include <malloc.h> #include <linux/compiler.h> -#include "board.h" #include "cpu.h"
#include <asm/io.h> #include <asm/arch/clock.h> #include <asm/arch/pinmux.h> #include <asm/arch/tegra.h> +#include <asm/arch-tegra/board.h> #include <asm/arch-tegra/clk_rst.h> #include <asm/arch-tegra/pmc.h> #include <asm/arch-tegra/scu.h> diff --git a/arch/arm/cpu/tegra-common/board.c b/arch/arm/cpu/tegra-common/board.c index ff90a52..b2e10c6 100644 --- a/arch/arm/cpu/tegra-common/board.c +++ b/arch/arm/cpu/tegra-common/board.c @@ -26,6 +26,7 @@ #include <asm/arch/clock.h> #include <asm/arch/funcmux.h> #include <asm/arch/tegra.h> +#include <asm/arch-tegra/board.h> #include <asm/arch-tegra/pmc.h> #include <asm/arch-tegra/sys_proto.h> #include <asm/arch-tegra/warmboot.h> diff --git a/arch/arm/include/asm/arch-tegra/board.h b/arch/arm/include/asm/arch-tegra/board.h index a90d36c..7e56df7 100644 --- a/arch/arm/include/asm/arch-tegra/board.h +++ b/arch/arm/include/asm/arch-tegra/board.h @@ -24,7 +24,24 @@ #ifndef _TEGRA_BOARD_H_ #define _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 */ + +/* + * Hooks to allow boards to set up the pinmux for a specific function. + * Has to be implemented in the board files as we don't yet support pinmux + * setup from FTD. If a board file does not implement one of those functions + * an empty stub function will be called. + */ + +void pin_mux_usb(void); /* overrideable USB pinmux setup */ +void pin_mux_spi(void); /* overrideable SPI pinmux setup */ + #endif diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c index bd194bc..dc301e7 100644 --- a/board/nvidia/common/board.c +++ b/board/nvidia/common/board.c @@ -39,7 +39,6 @@ #include <asm/arch-tegra/warmboot.h> #include <spi.h> #include <i2c.h> -#include "board.h" #include "emc.h"
DECLARE_GLOBAL_DATA_PTR; diff --git a/board/nvidia/common/board.h b/board/nvidia/common/board.h deleted file mode 100644 index dada4c4..0000000 --- a/board/nvidia/common/board.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * (C) Copyright 2010,2011 - * NVIDIA Corporation <www.nvidia.com> - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#ifndef _BOARD_H_ -#define _BOARD_H_ - -void gpio_config_uart(void); -void gpio_early_init(void); -void gpio_early_init_uart(void); - -/* - * Set up any pin muxing needed for USB (for now, since fdt doesn't support - * it). Boards can overwrite the default fucction which does nothing. - */ -void pin_mux_usb(void); - -#endif /* BOARD_H */ diff --git a/board/nvidia/common/uart-spi-switch.c b/board/nvidia/common/uart-spi-switch.c index a0aeb7f..e9d445d 100644 --- a/board/nvidia/common/uart-spi-switch.c +++ b/board/nvidia/common/uart-spi-switch.c @@ -26,7 +26,7 @@ #include <asm/arch/uart-spi-switch.h> #include <asm/arch/tegra.h> #include <asm/arch-tegra/tegra_spi.h> - +#include <asm/arch-tegra/board.h>
/* position of the UART/SPI select switch */ enum spi_uart_switch {

Boards may require a different pinmux setup for NAND than the default one. Add a way to call into board specific code to set this up.
Signed-off-by: Lucas Stach dev@lynxeye.de --- v2: move pinmux setup to common Tegra board code --- arch/arm/include/asm/arch-tegra/board.h | 1 + board/nvidia/common/board.c | 12 ++++++++++++ drivers/mtd/nand/tegra_nand.c | 1 - 3 Dateien geändert, 13 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)
diff --git a/arch/arm/include/asm/arch-tegra/board.h b/arch/arm/include/asm/arch-tegra/board.h index 7e56df7..be6bf25 100644 --- a/arch/arm/include/asm/arch-tegra/board.h +++ b/arch/arm/include/asm/arch-tegra/board.h @@ -43,5 +43,6 @@ void gpio_early_init(void); /* overrideable GPIO config */
void pin_mux_usb(void); /* overrideable USB pinmux setup */ void pin_mux_spi(void); /* overrideable SPI pinmux setup */ +void pin_mux_nand(void); /* overrideable NAND pinmux setup */
#endif diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c index dc301e7..2c7cd0d 100644 --- a/board/nvidia/common/board.c +++ b/board/nvidia/common/board.c @@ -27,6 +27,7 @@ #include <asm/io.h> #include <asm/arch/clock.h> #include <asm/arch/emc.h> +#include <asm/arch/funcmux.h> #include <asm/arch/pinmux.h> #include <asm/arch/pmu.h> #include <asm/arch/tegra.h> @@ -77,6 +78,13 @@ void __gpio_early_init_uart(void) void gpio_early_init_uart(void) __attribute__((weak, alias("__gpio_early_init_uart")));
+void __pin_mux_nand(void) +{ + funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_DEFAULT); +} + +void pin_mux_nand(void) __attribute__((weak, alias("__pin_mux_nand"))); + /* * Routine: power_det_init * Description: turn off power detects @@ -137,6 +145,10 @@ int board_init(void) board_usb_init(gd->fdt_blob); #endif
+#ifdef CONFIG_TEGRA_NAND + pin_mux_nand(); +#endif + #ifdef CONFIG_TEGRA_LP0 /* save Sdram params to PMC 2, 4, and 24 for WB0 */ warmboot_save_sdram_params(); diff --git a/drivers/mtd/nand/tegra_nand.c b/drivers/mtd/nand/tegra_nand.c index 2c1b533..5408c51 100644 --- a/drivers/mtd/nand/tegra_nand.c +++ b/drivers/mtd/nand/tegra_nand.c @@ -992,7 +992,6 @@ int tegra_nand_init(struct nand_chip *nand, int devnum) /* Adjust timing for NAND device */ setup_timing(config->timing, info->reg);
- funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_DEFAULT); fdtdec_setup_gpio(&config->wp_gpio); gpio_direction_output(config->wp_gpio.gpio, 1);

Hi,
On Sat, Sep 29, 2012 at 1:02 PM, Lucas Stach dev@lynxeye.de wrote:
Boards may require a different pinmux setup for NAND than the default one. Add a way to call into board specific code to set this up.
Signed-off-by: Lucas Stach dev@lynxeye.de
I think this is reasonable as is.
Acked-by: Simon Glass sjg@chromium.org
Regards, Simon
v2: move pinmux setup to common Tegra board code
arch/arm/include/asm/arch-tegra/board.h | 1 + board/nvidia/common/board.c | 12 ++++++++++++ drivers/mtd/nand/tegra_nand.c | 1 - 3 Dateien geändert, 13 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)
diff --git a/arch/arm/include/asm/arch-tegra/board.h b/arch/arm/include/asm/arch-tegra/board.h index 7e56df7..be6bf25 100644 --- a/arch/arm/include/asm/arch-tegra/board.h +++ b/arch/arm/include/asm/arch-tegra/board.h @@ -43,5 +43,6 @@ void gpio_early_init(void); /* overrideable GPIO config */
void pin_mux_usb(void); /* overrideable USB pinmux setup */ void pin_mux_spi(void); /* overrideable SPI pinmux setup */ +void pin_mux_nand(void); /* overrideable NAND pinmux setup */
#endif diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c index dc301e7..2c7cd0d 100644 --- a/board/nvidia/common/board.c +++ b/board/nvidia/common/board.c @@ -27,6 +27,7 @@ #include <asm/io.h> #include <asm/arch/clock.h> #include <asm/arch/emc.h> +#include <asm/arch/funcmux.h> #include <asm/arch/pinmux.h> #include <asm/arch/pmu.h> #include <asm/arch/tegra.h> @@ -77,6 +78,13 @@ void __gpio_early_init_uart(void) void gpio_early_init_uart(void) __attribute__((weak, alias("__gpio_early_init_uart")));
+void __pin_mux_nand(void) +{
funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_DEFAULT);
+}
+void pin_mux_nand(void) __attribute__((weak, alias("__pin_mux_nand")));
/*
- Routine: power_det_init
- Description: turn off power detects
@@ -137,6 +145,10 @@ int board_init(void) board_usb_init(gd->fdt_blob); #endif
+#ifdef CONFIG_TEGRA_NAND
pin_mux_nand();
+#endif
#ifdef CONFIG_TEGRA_LP0 /* save Sdram params to PMC 2, 4, and 24 for WB0 */ warmboot_save_sdram_params(); diff --git a/drivers/mtd/nand/tegra_nand.c b/drivers/mtd/nand/tegra_nand.c index 2c1b533..5408c51 100644 --- a/drivers/mtd/nand/tegra_nand.c +++ b/drivers/mtd/nand/tegra_nand.c @@ -992,7 +992,6 @@ int tegra_nand_init(struct nand_chip *nand, int devnum) /* Adjust timing for NAND device */ setup_timing(config->timing, info->reg);
funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_DEFAULT); fdtdec_setup_gpio(&config->wp_gpio); gpio_direction_output(config->wp_gpio.gpio, 1);
-- 1.7.11.4

On 09/29/2012 02:02 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.
Seems reasonable enough to me. This series or anything similar that's also OK with Tom is: Acked-by: Stephen Warren swarren@nvidia.com

Lucas,
On Mon, Oct 1, 2012 at 9:24 AM, Stephen Warren swarren@wwwdotorg.org wrote:
On 09/29/2012 02:02 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.
Seems reasonable enough to me. This series or anything similar that's also OK with Tom is: Acked-by: Stephen Warren swarren@nvidia.com
I don't think this hurts anything. I'll see if it applies cleanly to u-boot-tegra/next and let you know.
Tom

Lucas, Stephen, et al.
On Mon, Oct 1, 2012 at 9:39 AM, Tom Warren twarren.nvidia@gmail.com wrote:
Lucas,
On Mon, Oct 1, 2012 at 9:24 AM, Stephen Warren swarren@wwwdotorg.org wrote:
On 09/29/2012 02:02 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.
Seems reasonable enough to me. This series or anything similar that's also OK with Tom is: Acked-by: Stephen Warren swarren@nvidia.com
I don't think this hurts anything. I'll see if it applies cleanly to u-boot-tegra/next and let you know.
Tom
I've applied Lucas' include file cleanup patches, and done a .MAKEALL -s tegra20 and a checkpatch run w/o error, so I've pushed a new u-boot-tegra/next to denx.de.
Here are the latest commits in that repo since Albert's last ARM update:
0edfb9c tegra: nand: add board pinmux a05feff tegra: clean up board include hell 9c53038 tegra: add funcmux entry for NAND attached to KBC 08eb412 tegra20: rework UART GPIO handling 55da8d1 tegra20: add clock_set_pllout function 20e825f tegra20: complete periph_id enum b1ae54d tegra: enable CONFIG_CMD_PART 0e1b95c Tegra20: Move some include files to arch-tegra for sharing with Tegra30 bfba961 Tegra20: Move some code files to common directories for upcoming Tegra30 4910a5c tegra: Rename Medcom to Medcom-Wide 81637cd tegra: Update Avionic Design vendor prefix
This is what I'm going to base my imminent T30 patches on. Hope to have something for review in a day or two.
Tom

Hi Tom,
Am Montag, den 01.10.2012, 10:12 -0700 schrieb Tom Warren:
Lucas, Stephen, et al.
On Mon, Oct 1, 2012 at 9:39 AM, Tom Warren twarren.nvidia@gmail.com wrote:
Lucas,
On Mon, Oct 1, 2012 at 9:24 AM, Stephen Warren swarren@wwwdotorg.org wrote:
On 09/29/2012 02:02 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.
Seems reasonable enough to me. This series or anything similar that's also OK with Tom is: Acked-by: Stephen Warren swarren@nvidia.com
I don't think this hurts anything. I'll see if it applies cleanly to u-boot-tegra/next and let you know.
Tom
I've applied Lucas' include file cleanup patches, and done a .MAKEALL -s tegra20 and a checkpatch run w/o error, so I've pushed a new u-boot-tegra/next to denx.de.
Here are the latest commits in that repo since Albert's last ARM update:
0edfb9c tegra: nand: add board pinmux a05feff tegra: clean up board include hell 9c53038 tegra: add funcmux entry for NAND attached to KBC 08eb412 tegra20: rework UART GPIO handling 55da8d1 tegra20: add clock_set_pllout function 20e825f tegra20: complete periph_id enum b1ae54d tegra: enable CONFIG_CMD_PART 0e1b95c Tegra20: Move some include files to arch-tegra for sharing with Tegra30 bfba961 Tegra20: Move some code files to common directories for upcoming Tegra30 4910a5c tegra: Rename Medcom to Medcom-Wide 81637cd tegra: Update Avionic Design vendor prefix
This is what I'm going to base my imminent T30 patches on. Hope to have something for review in a day or two.
Can you do a P-R to Albert to include this in the u-boot-arm/next tree?
The reason I'm prodding is that we need the following two patches to propagate to the u-boot-usb/next tree, to make the the USB driver move feasible. 0e1b95c Tegra20: Move some include files to arch-tegra for sharing with Tegra30 bfba961 Tegra20: Move some code files to common directories for upcoming Tegra30
As the u-boot/next tree is already open for merging I think the best way to achieve this is to let it trickle upstream, so that Marek can just base his next tree on an updated version of u-boot/next. There is no reason to to wait for the Tegra 3 work to land, except if you plan to rework the two mentioned commits along the way.
Thanks, Lucas

Lucas,
On Mon, Oct 1, 2012 at 10:23 AM, Lucas Stach dev@lynxeye.de wrote:
Hi Tom,
Am Montag, den 01.10.2012, 10:12 -0700 schrieb Tom Warren:
Lucas, Stephen, et al.
On Mon, Oct 1, 2012 at 9:39 AM, Tom Warren twarren.nvidia@gmail.com wrote:
Lucas,
On Mon, Oct 1, 2012 at 9:24 AM, Stephen Warren swarren@wwwdotorg.org wrote:
On 09/29/2012 02:02 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.
Seems reasonable enough to me. This series or anything similar that's also OK with Tom is: Acked-by: Stephen Warren swarren@nvidia.com
I don't think this hurts anything. I'll see if it applies cleanly to u-boot-tegra/next and let you know.
Tom
I've applied Lucas' include file cleanup patches, and done a .MAKEALL -s tegra20 and a checkpatch run w/o error, so I've pushed a new u-boot-tegra/next to denx.de.
Here are the latest commits in that repo since Albert's last ARM update:
0edfb9c tegra: nand: add board pinmux a05feff tegra: clean up board include hell 9c53038 tegra: add funcmux entry for NAND attached to KBC 08eb412 tegra20: rework UART GPIO handling 55da8d1 tegra20: add clock_set_pllout function 20e825f tegra20: complete periph_id enum b1ae54d tegra: enable CONFIG_CMD_PART 0e1b95c Tegra20: Move some include files to arch-tegra for sharing with Tegra30 bfba961 Tegra20: Move some code files to common directories for upcoming Tegra30 4910a5c tegra: Rename Medcom to Medcom-Wide 81637cd tegra: Update Avionic Design vendor prefix
This is what I'm going to base my imminent T30 patches on. Hope to have something for review in a day or two.
Can you do a P-R to Albert to include this in the u-boot-arm/next tree?
The reason I'm prodding is that we need the following two patches to propagate to the u-boot-usb/next tree, to make the the USB driver move feasible. 0e1b95c Tegra20: Move some include files to arch-tegra for sharing with Tegra30 bfba961 Tegra20: Move some code files to common directories for upcoming Tegra30
As the u-boot/next tree is already open for merging I think the best way to achieve this is to let it trickle upstream, so that Marek can just base his next tree on an updated version of u-boot/next. There is no reason to to wait for the Tegra 3 work to land, except if you plan to rework the two mentioned commits along the way.
Thanks, Lucas
I usually issue pull requests for u-boot-tegra/master to ARM master. I'll do one for u-boot-tegra/next to ARM next and see what Albert says.
Tom

On Sat, Sep 29, 2012 at 1:02 PM, Lucas Stach dev@lynxeye.de 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.
Signed-off-by: Lucas Stach dev@lynxeye.de
v2: remove wrong paragraph about how to move ahead in the commit message
arch/arm/cpu/arm720t/tegra-common/board.h | 25 --------------------- arch/arm/cpu/arm720t/tegra-common/spl.c | 2 +- arch/arm/cpu/tegra-common/board.c | 1 + arch/arm/include/asm/arch-tegra/board.h | 19 +++++++++++++++- board/nvidia/common/board.c | 1 - board/nvidia/common/board.h | 37 ------------------------------- board/nvidia/common/uart-spi-switch.c | 2 +- 7 Dateien geändert, 21 Zeilen hinzugefügt(+), 66 Zeilen entfernt(-) delete mode 100644 arch/arm/cpu/arm720t/tegra-common/board.h delete mode 100644 board/nvidia/common/board.h
Acked-by: Simon Glass sjg@chromium.org
diff --git a/arch/arm/cpu/arm720t/tegra-common/board.h b/arch/arm/cpu/arm720t/tegra-common/board.h deleted file mode 100644 index 260767d..0000000 --- a/arch/arm/cpu/arm720t/tegra-common/board.h +++ /dev/null @@ -1,25 +0,0 @@ -/*
- (C) Copyright 2010-2011
- NVIDIA Corporation <www.nvidia.com>
- See file CREDITS for list of people who contributed to this
- project.
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- MA 02111-1307 USA
- */
-void board_init_uart_f(void); -void gpio_early_init_uart(void); diff --git a/arch/arm/cpu/arm720t/tegra-common/spl.c b/arch/arm/cpu/arm720t/tegra-common/spl.c index dfe36b9..0d37ce8 100644 --- a/arch/arm/cpu/arm720t/tegra-common/spl.c +++ b/arch/arm/cpu/arm720t/tegra-common/spl.c @@ -33,13 +33,13 @@ #include <image.h> #include <malloc.h> #include <linux/compiler.h> -#include "board.h" #include "cpu.h"
#include <asm/io.h> #include <asm/arch/clock.h> #include <asm/arch/pinmux.h> #include <asm/arch/tegra.h> +#include <asm/arch-tegra/board.h> #include <asm/arch-tegra/clk_rst.h> #include <asm/arch-tegra/pmc.h> #include <asm/arch-tegra/scu.h> diff --git a/arch/arm/cpu/tegra-common/board.c b/arch/arm/cpu/tegra-common/board.c index ff90a52..b2e10c6 100644 --- a/arch/arm/cpu/tegra-common/board.c +++ b/arch/arm/cpu/tegra-common/board.c @@ -26,6 +26,7 @@ #include <asm/arch/clock.h> #include <asm/arch/funcmux.h> #include <asm/arch/tegra.h> +#include <asm/arch-tegra/board.h> #include <asm/arch-tegra/pmc.h> #include <asm/arch-tegra/sys_proto.h> #include <asm/arch-tegra/warmboot.h> diff --git a/arch/arm/include/asm/arch-tegra/board.h b/arch/arm/include/asm/arch-tegra/board.h index a90d36c..7e56df7 100644 --- a/arch/arm/include/asm/arch-tegra/board.h +++ b/arch/arm/include/asm/arch-tegra/board.h @@ -24,7 +24,24 @@ #ifndef _TEGRA_BOARD_H_ #define _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 */
+/*
- Hooks to allow boards to set up the pinmux for a specific function.
- Has to be implemented in the board files as we don't yet support pinmux
- setup from FTD. If a board file does not implement one of those functions
- an empty stub function will be called.
- */
+void pin_mux_usb(void); /* overrideable USB pinmux setup */ +void pin_mux_spi(void); /* overrideable SPI pinmux setup */
#endif diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c index bd194bc..dc301e7 100644 --- a/board/nvidia/common/board.c +++ b/board/nvidia/common/board.c @@ -39,7 +39,6 @@ #include <asm/arch-tegra/warmboot.h> #include <spi.h> #include <i2c.h> -#include "board.h" #include "emc.h"
DECLARE_GLOBAL_DATA_PTR; diff --git a/board/nvidia/common/board.h b/board/nvidia/common/board.h deleted file mode 100644 index dada4c4..0000000 --- a/board/nvidia/common/board.h +++ /dev/null @@ -1,37 +0,0 @@ -/*
- (C) Copyright 2010,2011
- NVIDIA Corporation <www.nvidia.com>
- See file CREDITS for list of people who contributed to this
- project.
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- MA 02111-1307 USA
- */
-#ifndef _BOARD_H_ -#define _BOARD_H_
-void gpio_config_uart(void); -void gpio_early_init(void); -void gpio_early_init_uart(void);
-/*
- Set up any pin muxing needed for USB (for now, since fdt doesn't support
- it). Boards can overwrite the default fucction which does nothing.
- */
-void pin_mux_usb(void);
-#endif /* BOARD_H */ diff --git a/board/nvidia/common/uart-spi-switch.c b/board/nvidia/common/uart-spi-switch.c index a0aeb7f..e9d445d 100644 --- a/board/nvidia/common/uart-spi-switch.c +++ b/board/nvidia/common/uart-spi-switch.c @@ -26,7 +26,7 @@ #include <asm/arch/uart-spi-switch.h> #include <asm/arch/tegra.h> #include <asm/arch-tegra/tegra_spi.h>
+#include <asm/arch-tegra/board.h>
/* position of the UART/SPI select switch */ enum spi_uart_switch { -- 1.7.11.4
participants (4)
-
Lucas Stach
-
Simon Glass
-
Stephen Warren
-
Tom Warren