summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2012-07-10 08:54:41 +0200
committerWolfgang Denk <wd@denx.de>2012-07-10 08:54:41 +0200
commit895f3e0542015b347298c8b501e63d5f32002c04 (patch)
tree4df04c7f3480d75bd02925d09aa1cbb5049a3fc9 /board
parent30704dae469c092766c346b3bef7ac001fa45511 (diff)
parent63905f1616fc2f827e986d8e82a5a2b69f4a0e6a (diff)
Merge branch 'master' of git://git.denx.de/u-boot-arm
* 'master' of git://git.denx.de/u-boot-arm: tegra: define fdt_load/fdt_high variables tegra: enable bootz command tegra: usb: Fix device enumeration problem of USB1 tegra: trimslice: set up serial flash pinmux tegra: add pin_mux_spi() board initialization function tegra: add GMC/GMD funcmux entry for SFLASH tegra: bootcmd: start USB only when needed tegra: bootcmd enhancements tegra: add enterrcm command tegra: enable CONFIG_ENV_VARS_UBOOT_CONFIG Add env vars describing U-Boot target board tegra: usb: fix wrong error check tegra: add ULPI on USB2 funcmux entry tegra: fix leftover CONFIG_TEGRA2_MMC & _SPI build switches tegra: Add Tamonten Evaluation Carrier support tegra: Use SD write-protect GPIO on Tamonten tegra: Implement gpio_early_init() on Tamonten tegra: Allow boards to perform early GPIO setup tegra: plutux: Add device tree support tegra: medcom: Add device tree support tegra: Rework Tamonten support beagle: add eeprom expansion board info for bct brettl4 Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'board')
-rw-r--r--board/avionic-design/common/tamonten.c65
-rw-r--r--board/avionic-design/common/tamonten.h32
-rw-r--r--board/avionic-design/dts/tegra2-medcom.dts58
-rw-r--r--board/avionic-design/dts/tegra2-plutux.dts58
-rw-r--r--board/avionic-design/dts/tegra2-tec.dts58
-rw-r--r--board/avionic-design/medcom/Makefile6
-rw-r--r--board/avionic-design/medcom/medcom.c45
-rw-r--r--board/avionic-design/plutux/Makefile6
-rw-r--r--board/avionic-design/plutux/plutux.c45
-rw-r--r--board/avionic-design/tec/Makefile50
-rw-r--r--board/compal/paz00/paz00.c4
-rw-r--r--board/compulab/trimslice/trimslice.c7
-rw-r--r--board/nvidia/common/board.c16
-rw-r--r--board/nvidia/common/board.h1
-rw-r--r--board/ti/beagle/beagle.c8
15 files changed, 280 insertions, 179 deletions
diff --git a/board/avionic-design/common/tamonten.c b/board/avionic-design/common/tamonten.c
index f23b657041..2c14462eb6 100644
--- a/board/avionic-design/common/tamonten.c
+++ b/board/avionic-design/common/tamonten.c
@@ -1,7 +1,7 @@
/*
* (C) Copyright 2010,2011
* NVIDIA Corporation <www.nvidia.com>
- * (C) Copyright 2011
+ * (C) Copyright 2011-2012
* Avionic Design GmbH <www.avionic-design.de>
*
* See file CREDITS for list of people who contributed to this
@@ -36,75 +36,50 @@
#include <asm/arch/pinmux.h>
#include <asm/arch/uart.h>
#include <asm/arch/mmc.h>
-#include "tamonten.h"
-#ifdef CONFIG_TEGRA2_MMC
+#ifdef CONFIG_TEGRA_MMC
#include <mmc.h>
#endif
-DECLARE_GLOBAL_DATA_PTR;
-
-const struct tegra2_sysinfo sysinfo = {
- CONFIG_TEGRA2_BOARD_STRING
-};
-
/*
- * Routine: timer_init
- * Description: init the timestamp and lastinc value
+ * Routine: gpio_config_uart
+ * Description: Does nothing on Tamonten - no conflict w/SPI.
*/
-int timer_init(void)
+void gpio_config_uart(void)
{
- return 0;
}
-#ifdef CONFIG_TEGRA2_MMC
-/*
- * Routine: pin_mux_mmc
- * Description: setup the pin muxes/tristate values for the SDMMC(s)
- */
-static void pin_mux_mmc(void)
+#ifdef CONFIG_BOARD_EARLY_INIT_F
+void gpio_early_init(void)
{
- funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT);
+ gpio_request(GPIO_PI4, NULL);
+ gpio_direction_output(GPIO_PI4, 1);
}
#endif
+#ifdef CONFIG_TEGRA_MMC
/*
- * Routine: board_init
- * Description: Early hardware init.
+ * Routine: pin_mux_mmc
+ * Description: setup the pin muxes/tristate values for the SDMMC(s)
*/
-int board_init(void)
+static void pin_mux_mmc(void)
{
- clock_init();
- clock_verify();
-
- /* boot param addr */
- gd->bd->bi_boot_params = (NV_PA_SDRAM_BASE + 0x100);
-
- return 0;
+ funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT);
+ /* for write-protect GPIO PI6 */
+ pinmux_tristate_disable(PINGRP_ATA);
+ /* for CD GPIO PH2 */
+ pinmux_tristate_disable(PINGRP_ATD);
}
-#ifdef CONFIG_TEGRA2_MMC
/* this is a weak define that we are overriding */
int board_mmc_init(bd_t *bd)
{
- debug("board_mmc_init called\n");
/* Enable muxes, etc. for SDMMC controllers */
pin_mux_mmc();
- gpio_config_mmc();
- debug("board_mmc_init: init eMMC\n");
- /* init dev 0, eMMC chip, with 4-bit bus */
- tegra2_mmc_init(0, 4, -1, GPIO_PH2);
+ /* init dev 0, SD slot, with 4-bit bus */
+ tegra2_mmc_init(0, 4, GPIO_PI6, GPIO_PH2);
return 0;
}
#endif
-
-#ifdef CONFIG_BOARD_EARLY_INIT_F
-int board_early_init_f(void)
-{
- /* Initialize selected UARTs */
- board_init_uart_f();
- return 0;
-}
-#endif /* EARLY_INIT */
diff --git a/board/avionic-design/common/tamonten.h b/board/avionic-design/common/tamonten.h
deleted file mode 100644
index 0e60b0fadc..0000000000
--- a/board/avionic-design/common/tamonten.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * (C) Copyright 2010,2011
- * NVIDIA Corporation <www.nvidia.com>
- * (C) Copyright 2011
- * Avionic Design GmbH <www.avionic-design.de>
- *
- * 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 _TAMONTEN_H_
-#define _TAMONTEN_H_
-
-void tegra2_start(void);
-void gpio_config_mmc(void);
-
-#endif /* TAMONTEN_H */
diff --git a/board/avionic-design/dts/tegra2-medcom.dts b/board/avionic-design/dts/tegra2-medcom.dts
new file mode 100644
index 0000000000..fc52f9ce4e
--- /dev/null
+++ b/board/avionic-design/dts/tegra2-medcom.dts
@@ -0,0 +1,58 @@
+/dts-v1/;
+
+/include/ ARCH_CPU_DTS
+
+/ {
+ model = "Avionic Design Medcom-Wide";
+ compatible = "avionic-design,medcom", "nvidia,tegra20";
+
+ aliases {
+ usb0 = "/usb@c5008000";
+ };
+
+ memory {
+ reg = <0x00000000 0x20000000>;
+ };
+
+ clocks {
+ clk_32k: clk_32k {
+ clock-frequency = <32000>;
+ };
+
+ osc {
+ clock-frequency = <12000000>;
+ };
+ };
+
+ clock@60006000 {
+ clocks = <&clk_32k &osc>;
+ };
+
+ serial@70006300 {
+ clock-frequency = <216000000>;
+ };
+
+ i2c@7000c000 {
+ status = "disabled";
+ };
+
+ i2c@7000c400 {
+ status = "disabled";
+ };
+
+ i2c@7000c500 {
+ status = "disabled";
+ };
+
+ i2c@7000d000 {
+ status = "disabled";
+ };
+
+ usb@c5000000 {
+ status = "disabled";
+ };
+
+ usb@c5004000 {
+ status = "disabled";
+ };
+};
diff --git a/board/avionic-design/dts/tegra2-plutux.dts b/board/avionic-design/dts/tegra2-plutux.dts
new file mode 100644
index 0000000000..cef49ad804
--- /dev/null
+++ b/board/avionic-design/dts/tegra2-plutux.dts
@@ -0,0 +1,58 @@
+/dts-v1/;
+
+/include/ ARCH_CPU_DTS
+
+/ {
+ model = "Avionic Design Plutux";
+ compatible = "avionic-design,plutux", "nvidia,tegra20";
+
+ aliases {
+ usb0 = "/usb@c5008000";
+ };
+
+ memory {
+ reg = <0x00000000 0x20000000>;
+ };
+
+ clocks {
+ clk_32k: clk_32k {
+ clock-frequency = <32000>;
+ };
+
+ osc {
+ clock-frequency = <12000000>;
+ };
+ };
+
+ clock@60006000 {
+ clocks = <&clk_32k &osc>;
+ };
+
+ serial@70006300 {
+ clock-frequency = <216000000>;
+ };
+
+ i2c@7000c000 {
+ status = "disabled";
+ };
+
+ i2c@7000c400 {
+ status = "disabled";
+ };
+
+ i2c@7000c500 {
+ status = "disabled";
+ };
+
+ i2c@7000d000 {
+ status = "disabled";
+ };
+
+ usb@c5000000 {
+ status = "disabled";
+ };
+
+ usb@c5004000 {
+ status = "disabled";
+ };
+};
diff --git a/board/avionic-design/dts/tegra2-tec.dts b/board/avionic-design/dts/tegra2-tec.dts
new file mode 100644
index 0000000000..9faebd8bc6
--- /dev/null
+++ b/board/avionic-design/dts/tegra2-tec.dts
@@ -0,0 +1,58 @@
+/dts-v1/;
+
+/include/ ARCH_CPU_DTS
+
+/ {
+ model = "Avionic Design Tamonten Evaluation Carrier";
+ compatible = "avionic-design,tec", "nvidia,tegra20";
+
+ aliases {
+ usb0 = "/usb@c5008000";
+ };
+
+ memory {
+ reg = <0x00000000 0x20000000>;
+ };
+
+ clocks {
+ clk_32k: clk_32k {
+ clock-frequency = <32000>;
+ };
+
+ osc {
+ clock-frequency = <12000000>;
+ };
+ };
+
+ clock@60006000 {
+ clocks = <&clk_32k &osc>;
+ };
+
+ serial@70006300 {
+ clock-frequency = <216000000>;
+ };
+
+ i2c@7000c000 {
+ status = "disabled";
+ };
+
+ i2c@7000c400 {
+ status = "disabled";
+ };
+
+ i2c@7000c500 {
+ status = "disabled";
+ };
+
+ i2c@7000d000 {
+ status = "disabled";
+ };
+
+ usb@c5000000 {
+ status = "disabled";
+ };
+
+ usb@c5004000 {
+ status = "disabled";
+ };
+};
diff --git a/board/avionic-design/medcom/Makefile b/board/avionic-design/medcom/Makefile
index b0c318c439..d96d04306c 100644
--- a/board/avionic-design/medcom/Makefile
+++ b/board/avionic-design/medcom/Makefile
@@ -1,7 +1,7 @@
#
# (C) Copyright 2010,2011
# NVIDIA Corporation <www.nvidia.com>
-# (C) Copyright 2011
+# (C) Copyright 2011,2012
# Avionic Design GmbH <www.avionic-design.de>
#
# See file CREDITS for list of people who contributed to this
@@ -26,12 +26,12 @@
include $(TOPDIR)/config.mk
ifneq ($(OBJTREE),$(SRCTREE))
-$(shell mkdir -p $(obj)../common)
+$(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
endif
LIB = $(obj)lib$(BOARD).o
-COBJS := $(BOARD).o
+COBJS := ../../nvidia/common/board.o
COBJS += ../common/tamonten.o
SRCS := $(COBJS:.o=.c)
diff --git a/board/avionic-design/medcom/medcom.c b/board/avionic-design/medcom/medcom.c
deleted file mode 100644
index 42c80940c1..0000000000
--- a/board/avionic-design/medcom/medcom.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * (C) Copyright 2010,2011
- * NVIDIA Corporation <www.nvidia.com>
- * (C) Copyright 2011
- * Avionic Design GmbH <www.avionic-design.de>
- *
- * 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
- */
-
-#include <common.h>
-#include <asm/io.h>
-#include <asm/gpio.h>
-#include <asm/arch/tegra2.h>
-#ifdef CONFIG_TEGRA2_MMC
-#include <mmc.h>
-#endif
-
-#ifdef CONFIG_TEGRA2_MMC
-/*
- * Routine: gpio_config_mmc
- * Description: Set GPIOs for SD card
- */
-void gpio_config_mmc(void)
-{
- /* configure pin as input for card detect */
- gpio_request(GPIO_PH2, "SD4 CD");
- gpio_direction_input(GPIO_PH2);
-}
-#endif
diff --git a/board/avionic-design/plutux/Makefile b/board/avionic-design/plutux/Makefile
index b0c318c439..d96d04306c 100644
--- a/board/avionic-design/plutux/Makefile
+++ b/board/avionic-design/plutux/Makefile
@@ -1,7 +1,7 @@
#
# (C) Copyright 2010,2011
# NVIDIA Corporation <www.nvidia.com>
-# (C) Copyright 2011
+# (C) Copyright 2011,2012
# Avionic Design GmbH <www.avionic-design.de>
#
# See file CREDITS for list of people who contributed to this
@@ -26,12 +26,12 @@
include $(TOPDIR)/config.mk
ifneq ($(OBJTREE),$(SRCTREE))
-$(shell mkdir -p $(obj)../common)
+$(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
endif
LIB = $(obj)lib$(BOARD).o
-COBJS := $(BOARD).o
+COBJS := ../../nvidia/common/board.o
COBJS += ../common/tamonten.o
SRCS := $(COBJS:.o=.c)
diff --git a/board/avionic-design/plutux/plutux.c b/board/avionic-design/plutux/plutux.c
deleted file mode 100644
index 42c80940c1..0000000000
--- a/board/avionic-design/plutux/plutux.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * (C) Copyright 2010,2011
- * NVIDIA Corporation <www.nvidia.com>
- * (C) Copyright 2011
- * Avionic Design GmbH <www.avionic-design.de>
- *
- * 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
- */
-
-#include <common.h>
-#include <asm/io.h>
-#include <asm/gpio.h>
-#include <asm/arch/tegra2.h>
-#ifdef CONFIG_TEGRA2_MMC
-#include <mmc.h>
-#endif
-
-#ifdef CONFIG_TEGRA2_MMC
-/*
- * Routine: gpio_config_mmc
- * Description: Set GPIOs for SD card
- */
-void gpio_config_mmc(void)
-{
- /* configure pin as input for card detect */
- gpio_request(GPIO_PH2, "SD4 CD");
- gpio_direction_input(GPIO_PH2);
-}
-#endif
diff --git a/board/avionic-design/tec/Makefile b/board/avionic-design/tec/Makefile
new file mode 100644
index 0000000000..d96d04306c
--- /dev/null
+++ b/board/avionic-design/tec/Makefile
@@ -0,0 +1,50 @@
+#
+# (C) Copyright 2010,2011
+# NVIDIA Corporation <www.nvidia.com>
+# (C) Copyright 2011,2012
+# Avionic Design GmbH <www.avionic-design.de>
+#
+# 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
+#
+
+include $(TOPDIR)/config.mk
+
+ifneq ($(OBJTREE),$(SRCTREE))
+$(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
+endif
+
+LIB = $(obj)lib$(BOARD).o
+
+COBJS := ../../nvidia/common/board.o
+COBJS += ../common/tamonten.o
+
+SRCS := $(COBJS:.o=.c)
+OBJS := $(addprefix $(obj),$(COBJS))
+
+$(LIB): $(obj).depend $(OBJS)
+ $(call cmd_link_o_target, $(OBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/compal/paz00/paz00.c b/board/compal/paz00/paz00.c
index 0c09ce0a46..ec678746d3 100644
--- a/board/compal/paz00/paz00.c
+++ b/board/compal/paz00/paz00.c
@@ -20,7 +20,7 @@
#include <asm/arch/pinmux.h>
#include <asm/arch/mmc.h>
#include <asm/gpio.h>
-#ifdef CONFIG_TEGRA2_MMC
+#ifdef CONFIG_TEGRA_MMC
#include <mmc.h>
#endif
@@ -32,7 +32,7 @@ void gpio_config_uart(void)
{
}
-#ifdef CONFIG_TEGRA2_MMC
+#ifdef CONFIG_TEGRA_MMC
/*
* Routine: pin_mux_mmc
* Description: setup the pin muxes/tristate values for the SDMMC(s)
diff --git a/board/compulab/trimslice/trimslice.c b/board/compulab/trimslice/trimslice.c
index 7167c914e0..1ac15f8da5 100644
--- a/board/compulab/trimslice/trimslice.c
+++ b/board/compulab/trimslice/trimslice.c
@@ -30,7 +30,7 @@
#include <asm/arch/pinmux.h>
#include <asm/arch/mmc.h>
#include <asm/gpio.h>
-#ifdef CONFIG_TEGRA2_MMC
+#ifdef CONFIG_TEGRA_MMC
#include <mmc.h>
#endif
@@ -42,6 +42,11 @@ void gpio_config_uart(void)
{
}
+void pin_mux_spi(void)
+{
+ funcmux_select(PERIPH_ID_SPI1, FUNCMUX_SPI1_GMC_GMD);
+}
+
/*
* Routine: pin_mux_mmc
* Description: setup the pin muxes/tristate values for the SDMMC(s)
diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c
index 2e22133591..e65fc9e843 100644
--- a/board/nvidia/common/board.c
+++ b/board/nvidia/common/board.c
@@ -64,6 +64,12 @@ void __pin_mux_usb(void)
void pin_mux_usb(void) __attribute__((weak, alias("__pin_mux_usb")));
+void __pin_mux_spi(void)
+{
+}
+
+void pin_mux_spi(void) __attribute__((weak, alias("__pin_mux_spi")));
+
/*
* Routine: power_det_init
* Description: turn off power detects
@@ -94,7 +100,8 @@ int board_init(void)
#ifdef CONFIG_SPI_UART_SWITCH
gpio_config_uart();
#endif
-#ifdef CONFIG_TEGRA2_SPI
+#ifdef CONFIG_TEGRA_SPI
+ pin_mux_spi();
spi_init();
#endif
/* boot param addr */
@@ -132,11 +139,18 @@ int board_init(void)
}
#ifdef CONFIG_BOARD_EARLY_INIT_F
+static void __gpio_early_init(void)
+{
+}
+
+void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init")));
+
int board_early_init_f(void)
{
board_init_uart_f();
/* Initialize periph GPIOs */
+ gpio_early_init();
#ifdef CONFIG_SPI_UART_SWITCH
gpio_early_init_uart();
#else
diff --git a/board/nvidia/common/board.h b/board/nvidia/common/board.h
index 09fb158f4e..dada4c4f9c 100644
--- a/board/nvidia/common/board.h
+++ b/board/nvidia/common/board.h
@@ -25,6 +25,7 @@
#define _BOARD_H_
void gpio_config_uart(void);
+void gpio_early_init(void);
void gpio_early_init_uart(void);
/*
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 9edd3c5c4f..2ef22900d7 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -68,6 +68,7 @@
#define BBTOYS_VGA 0x02000B00
#define BBTOYS_LCD 0x03000B00
#define BCT_BRETTL3 0x01000F00
+#define BCT_BRETTL4 0x02000F00
#define BEAGLE_NO_EEPROM 0xffffffff
DECLARE_GLOBAL_DATA_PTR;
@@ -417,8 +418,11 @@ int misc_init_r(void)
printf("Recognized BeagleBoardToys LCD board\n");
break;;
case BCT_BRETTL3:
- printf("Recognized bct electronic GmbH brettl3 board\n");
- break;
+ printf("Recognized bct electronic GmbH brettl3 board\n");
+ break;
+ case BCT_BRETTL4:
+ printf("Recognized bct electronic GmbH brettl4 board\n");
+ break;
case BEAGLE_NO_EEPROM:
printf("No EEPROM on expansion board\n");
setenv("buddy", "none");