* [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell
@ 2012-09-29 20:02 Lucas Stach
2012-09-29 20:02 ` [U-Boot] [PATCH v2 2/2] tegra: nand: add board pinmux Lucas Stach
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Lucas Stach @ 2012-09-29 20:02 UTC (permalink / raw)
To: u-boot
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 {
--
1.7.11.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v2 2/2] tegra: nand: add board pinmux
2012-09-29 20:02 [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell Lucas Stach
@ 2012-09-29 20:02 ` Lucas Stach
2012-10-04 0:35 ` Simon Glass
2012-10-01 16:24 ` [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell Stephen Warren
2012-10-02 5:04 ` Simon Glass
2 siblings, 1 reply; 9+ messages in thread
From: Lucas Stach @ 2012-09-29 20:02 UTC (permalink / raw)
To: u-boot
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);
--
1.7.11.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell
2012-09-29 20:02 [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell Lucas Stach
2012-09-29 20:02 ` [U-Boot] [PATCH v2 2/2] tegra: nand: add board pinmux Lucas Stach
@ 2012-10-01 16:24 ` Stephen Warren
2012-10-01 16:39 ` Tom Warren
2012-10-02 5:04 ` Simon Glass
2 siblings, 1 reply; 9+ messages in thread
From: Stephen Warren @ 2012-10-01 16:24 UTC (permalink / raw)
To: u-boot
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>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell
2012-10-01 16:24 ` [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell Stephen Warren
@ 2012-10-01 16:39 ` Tom Warren
2012-10-01 17:12 ` Tom Warren
0 siblings, 1 reply; 9+ messages in thread
From: Tom Warren @ 2012-10-01 16:39 UTC (permalink / raw)
To: u-boot
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
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell
2012-10-01 16:39 ` Tom Warren
@ 2012-10-01 17:12 ` Tom Warren
2012-10-01 17:23 ` Lucas Stach
0 siblings, 1 reply; 9+ messages in thread
From: Tom Warren @ 2012-10-01 17:12 UTC (permalink / raw)
To: u-boot
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
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell
2012-10-01 17:12 ` Tom Warren
@ 2012-10-01 17:23 ` Lucas Stach
2012-10-01 20:15 ` Tom Warren
0 siblings, 1 reply; 9+ messages in thread
From: Lucas Stach @ 2012-10-01 17:23 UTC (permalink / raw)
To: u-boot
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
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell
2012-10-01 17:23 ` Lucas Stach
@ 2012-10-01 20:15 ` Tom Warren
0 siblings, 0 replies; 9+ messages in thread
From: Tom Warren @ 2012-10-01 20:15 UTC (permalink / raw)
To: u-boot
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
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell
2012-09-29 20:02 [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell Lucas Stach
2012-09-29 20:02 ` [U-Boot] [PATCH v2 2/2] tegra: nand: add board pinmux Lucas Stach
2012-10-01 16:24 ` [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell Stephen Warren
@ 2012-10-02 5:04 ` Simon Glass
2 siblings, 0 replies; 9+ messages in thread
From: Simon Glass @ 2012-10-02 5:04 UTC (permalink / raw)
To: u-boot
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
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v2 2/2] tegra: nand: add board pinmux
2012-09-29 20:02 ` [U-Boot] [PATCH v2 2/2] tegra: nand: add board pinmux Lucas Stach
@ 2012-10-04 0:35 ` Simon Glass
0 siblings, 0 replies; 9+ messages in thread
From: Simon Glass @ 2012-10-04 0:35 UTC (permalink / raw)
To: u-boot
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
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-10-04 0:35 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-29 20:02 [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell Lucas Stach
2012-09-29 20:02 ` [U-Boot] [PATCH v2 2/2] tegra: nand: add board pinmux Lucas Stach
2012-10-04 0:35 ` Simon Glass
2012-10-01 16:24 ` [U-Boot] [PATCH v2 1/2] tegra: clean up board include hell Stephen Warren
2012-10-01 16:39 ` Tom Warren
2012-10-01 17:12 ` Tom Warren
2012-10-01 17:23 ` Lucas Stach
2012-10-01 20:15 ` Tom Warren
2012-10-02 5:04 ` Simon Glass
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox