public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [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