Commit 895f3e0542015b347298c8b501e63d5f32002c04

Authored by Wolfgang Denk

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>

Showing 33 changed files Side-by-side Diff

... ... @@ -813,6 +813,7 @@
813 813  
814 814 plutux Tegra2 (ARM7 & A9 Dual Core)
815 815 medcom Tegra2 (ARM7 & A9 Dual Core)
  816 + tec Tegra2 (ARM7 & A9 Dual Core)
816 817  
817 818 Christian Riesch <christian.riesch@omicron.at>
818 819 Manfred Rudigier <manfred.rudigier@omicron.at>
... ... @@ -2229,6 +2229,20 @@
2229 2229 the environment like the "source" command or the
2230 2230 boot command first.
2231 2231  
  2232 + CONFIG_ENV_VARS_UBOOT_CONFIG
  2233 +
  2234 + Define this in order to add variables describing the
  2235 + U-Boot build configuration to the default environment.
  2236 + These will be named arch, cpu, board, vendor, and soc.
  2237 +
  2238 + Enabling this option will cause the following to be defined:
  2239 +
  2240 + - CONFIG_SYS_ARCH
  2241 + - CONFIG_SYS_CPU
  2242 + - CONFIG_SYS_BOARD
  2243 + - CONFIG_SYS_VENDOR
  2244 + - CONFIG_SYS_SOC
  2245 +
2232 2246 - DataFlash Support:
2233 2247 CONFIG_HAS_DATAFLASH
2234 2248  
arch/arm/cpu/armv7/tegra2/Makefile
... ... @@ -39,6 +39,7 @@
39 39 COBJS-$(CONFIG_TEGRA_PMU) += pmu.o
40 40 COBJS-$(CONFIG_USB_EHCI_TEGRA) += usb.o
41 41 COBJS-$(CONFIG_TEGRA2_LP0) += crypto.o warmboot.o warmboot_avp.o
  42 +COBJS-$(CONFIG_CMD_ENTERRCM) += cmd_enterrcm.o
42 43  
43 44 COBJS := $(COBJS-y)
44 45 SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
arch/arm/cpu/armv7/tegra2/cmd_enterrcm.c
  1 +/*
  2 + * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved.
  3 + *
  4 + * Derived from code (arch/arm/lib/reset.c) that is:
  5 + *
  6 + * (C) Copyright 2002
  7 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  8 + * Marius Groeger <mgroeger@sysgo.de>
  9 + *
  10 + * (C) Copyright 2002
  11 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  12 + * Alex Zuepke <azu@sysgo.de>
  13 + *
  14 + * (C) Copyright 2002
  15 + * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
  16 + *
  17 + * (C) Copyright 2004
  18 + * DAVE Srl
  19 + * http://www.dave-tech.it
  20 + * http://www.wawnet.biz
  21 + * mailto:info@wawnet.biz
  22 + *
  23 + * (C) Copyright 2004 Texas Insturments
  24 + *
  25 + * See file CREDITS for list of people who contributed to this
  26 + * project.
  27 + *
  28 + * This program is free software; you can redistribute it and/or
  29 + * modify it under the terms of the GNU General Public License as
  30 + * published by the Free Software Foundation; either version 2 of
  31 + * the License, or (at your option) any later version.
  32 + *
  33 + * This program is distributed in the hope that it will be useful,
  34 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  35 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  36 + * GNU General Public License for more details.
  37 + *
  38 + * You should have received a copy of the GNU General Public License
  39 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
  40 + */
  41 +
  42 +#include <common.h>
  43 +#include <asm/arch/tegra2.h>
  44 +#include <asm/arch/pmc.h>
  45 +
  46 +static int do_enterrcm(cmd_tbl_t *cmdtp, int flag, int argc,
  47 + char * const argv[])
  48 +{
  49 + struct pmc_ctlr *pmc = (struct pmc_ctlr *)TEGRA2_PMC_BASE;
  50 +
  51 + puts("Entering RCM...\n");
  52 + udelay(50000);
  53 +
  54 + pmc->pmc_scratch0 = 2;
  55 + disable_interrupts();
  56 + reset_cpu(0);
  57 +
  58 + return 0;
  59 +}
  60 +
  61 +U_BOOT_CMD(
  62 + enterrcm, 1, 0, do_enterrcm,
  63 + "reset Tegra and enter USB Recovery Mode",
  64 + ""
  65 +);
arch/arm/cpu/armv7/tegra2/funcmux.c
... ... @@ -209,9 +209,30 @@
209 209 pinmux_set_func(grp[i], PMUX_FUNC_KBC);
210 210 pinmux_set_pullupdown(grp[i], PMUX_PULL_UP);
211 211 }
  212 + }
  213 + break;
212 214  
213   - break;
  215 + case PERIPH_ID_USB2:
  216 + if (config == FUNCMUX_USB2_ULPI) {
  217 + pinmux_set_func(PINGRP_UAA, PMUX_FUNC_ULPI);
  218 + pinmux_set_func(PINGRP_UAB, PMUX_FUNC_ULPI);
  219 + pinmux_set_func(PINGRP_UDA, PMUX_FUNC_ULPI);
  220 +
  221 + pinmux_tristate_disable(PINGRP_UAA);
  222 + pinmux_tristate_disable(PINGRP_UAB);
  223 + pinmux_tristate_disable(PINGRP_UDA);
214 224 }
  225 + break;
  226 +
  227 + case PERIPH_ID_SPI1:
  228 + if (config == FUNCMUX_SPI1_GMC_GMD) {
  229 + pinmux_set_func(PINGRP_GMC, PMUX_FUNC_SFLASH);
  230 + pinmux_set_func(PINGRP_GMD, PMUX_FUNC_SFLASH);
  231 +
  232 + pinmux_tristate_disable(PINGRP_GMC);
  233 + pinmux_tristate_disable(PINGRP_GMD);
  234 + }
  235 + break;
215 236  
216 237 default:
217 238 debug("%s: invalid periph_id %d", __func__, id);
arch/arm/cpu/armv7/tegra2/usb.c
... ... @@ -290,7 +290,7 @@
290 290 break;
291 291 udelay(1);
292 292 }
293   - if (loop_count == 100000)
  293 + if (!loop_count)
294 294 return -1;
295 295  
296 296 return 0;
arch/arm/include/asm/arch-tegra2/funcmux.h
... ... @@ -51,6 +51,12 @@
51 51 FUNCMUX_SDMMC4_ATC_ATD_8BIT = 0,
52 52 FUNCMUX_SDMMC4_ATB_GMA_4_BIT,
53 53 FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT,
  54 +
  55 + /* USB configs */
  56 + FUNCMUX_USB2_ULPI = 0,
  57 +
  58 + /* Serial Flash configs */
  59 + FUNCMUX_SPI1_GMC_GMD = 0,
54 60 };
55 61  
56 62 /**
arch/arm/include/asm/arch-tegra2/tegra2.h
... ... @@ -45,6 +45,7 @@
45 45 #define NV_PA_CSITE_BASE 0x70040000
46 46 #define TEGRA_USB1_BASE 0xC5000000
47 47 #define TEGRA_USB3_BASE 0xC5008000
  48 +#define TEGRA_USB_ADDR_MASK 0xFFFFC000
48 49  
49 50 #define TEGRA2_SDRC_CS0 NV_PA_SDRAM_BASE
50 51 #define LOW_LEVEL_SRAM_STACK 0x4000FFFC
board/avionic-design/common/tamonten.c
1 1 /*
2 2 * (C) Copyright 2010,2011
3 3 * NVIDIA Corporation <www.nvidia.com>
4   - * (C) Copyright 2011
  4 + * (C) Copyright 2011-2012
5 5 * Avionic Design GmbH <www.avionic-design.de>
6 6 *
7 7 * See file CREDITS for list of people who contributed to this
8 8  
9 9  
10 10  
11 11  
12 12  
13 13  
... ... @@ -36,28 +36,28 @@
36 36 #include <asm/arch/pinmux.h>
37 37 #include <asm/arch/uart.h>
38 38 #include <asm/arch/mmc.h>
39   -#include "tamonten.h"
40 39  
41   -#ifdef CONFIG_TEGRA2_MMC
  40 +#ifdef CONFIG_TEGRA_MMC
42 41 #include <mmc.h>
43 42 #endif
44 43  
45   -DECLARE_GLOBAL_DATA_PTR;
46   -
47   -const struct tegra2_sysinfo sysinfo = {
48   - CONFIG_TEGRA2_BOARD_STRING
49   -};
50   -
51 44 /*
52   - * Routine: timer_init
53   - * Description: init the timestamp and lastinc value
  45 + * Routine: gpio_config_uart
  46 + * Description: Does nothing on Tamonten - no conflict w/SPI.
54 47 */
55   -int timer_init(void)
  48 +void gpio_config_uart(void)
56 49 {
57   - return 0;
58 50 }
59 51  
60   -#ifdef CONFIG_TEGRA2_MMC
  52 +#ifdef CONFIG_BOARD_EARLY_INIT_F
  53 +void gpio_early_init(void)
  54 +{
  55 + gpio_request(GPIO_PI4, NULL);
  56 + gpio_direction_output(GPIO_PI4, 1);
  57 +}
  58 +#endif
  59 +
  60 +#ifdef CONFIG_TEGRA_MMC
61 61 /*
62 62 * Routine: pin_mux_mmc
63 63 * Description: setup the pin muxes/tristate values for the SDMMC(s)
64 64  
65 65  
66 66  
67 67  
68 68  
69 69  
... ... @@ -65,47 +65,22 @@
65 65 static void pin_mux_mmc(void)
66 66 {
67 67 funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT);
  68 + /* for write-protect GPIO PI6 */
  69 + pinmux_tristate_disable(PINGRP_ATA);
  70 + /* for CD GPIO PH2 */
  71 + pinmux_tristate_disable(PINGRP_ATD);
68 72 }
69   -#endif
70 73  
71   -/*
72   - * Routine: board_init
73   - * Description: Early hardware init.
74   - */
75   -int board_init(void)
76   -{
77   - clock_init();
78   - clock_verify();
79   -
80   - /* boot param addr */
81   - gd->bd->bi_boot_params = (NV_PA_SDRAM_BASE + 0x100);
82   -
83   - return 0;
84   -}
85   -
86   -#ifdef CONFIG_TEGRA2_MMC
87 74 /* this is a weak define that we are overriding */
88 75 int board_mmc_init(bd_t *bd)
89 76 {
90   - debug("board_mmc_init called\n");
91 77 /* Enable muxes, etc. for SDMMC controllers */
92 78 pin_mux_mmc();
93   - gpio_config_mmc();
94 79  
95   - debug("board_mmc_init: init eMMC\n");
96   - /* init dev 0, eMMC chip, with 4-bit bus */
97   - tegra2_mmc_init(0, 4, -1, GPIO_PH2);
  80 + /* init dev 0, SD slot, with 4-bit bus */
  81 + tegra2_mmc_init(0, 4, GPIO_PI6, GPIO_PH2);
98 82  
99 83 return 0;
100 84 }
101 85 #endif
102   -
103   -#ifdef CONFIG_BOARD_EARLY_INIT_F
104   -int board_early_init_f(void)
105   -{
106   - /* Initialize selected UARTs */
107   - board_init_uart_f();
108   - return 0;
109   -}
110   -#endif /* EARLY_INIT */
board/avionic-design/common/tamonten.h
1   -/*
2   - * (C) Copyright 2010,2011
3   - * NVIDIA Corporation <www.nvidia.com>
4   - * (C) Copyright 2011
5   - * Avionic Design GmbH <www.avionic-design.de>
6   - *
7   - * See file CREDITS for list of people who contributed to this
8   - * project.
9   - *
10   - * This program is free software; you can redistribute it and/or
11   - * modify it under the terms of the GNU General Public License as
12   - * published by the Free Software Foundation; either version 2 of
13   - * the License, or (at your option) any later version.
14   - *
15   - * This program is distributed in the hope that it will be useful,
16   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
17   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18   - * GNU General Public License for more details.
19   - *
20   - * You should have received a copy of the GNU General Public License
21   - * along with this program; if not, write to the Free Software
22   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23   - * MA 02111-1307 USA
24   - */
25   -
26   -#ifndef _TAMONTEN_H_
27   -#define _TAMONTEN_H_
28   -
29   -void tegra2_start(void);
30   -void gpio_config_mmc(void);
31   -
32   -#endif /* TAMONTEN_H */
board/avionic-design/dts/tegra2-medcom.dts
  1 +/dts-v1/;
  2 +
  3 +/include/ ARCH_CPU_DTS
  4 +
  5 +/ {
  6 + model = "Avionic Design Medcom-Wide";
  7 + compatible = "avionic-design,medcom", "nvidia,tegra20";
  8 +
  9 + aliases {
  10 + usb0 = "/usb@c5008000";
  11 + };
  12 +
  13 + memory {
  14 + reg = <0x00000000 0x20000000>;
  15 + };
  16 +
  17 + clocks {
  18 + clk_32k: clk_32k {
  19 + clock-frequency = <32000>;
  20 + };
  21 +
  22 + osc {
  23 + clock-frequency = <12000000>;
  24 + };
  25 + };
  26 +
  27 + clock@60006000 {
  28 + clocks = <&clk_32k &osc>;
  29 + };
  30 +
  31 + serial@70006300 {
  32 + clock-frequency = <216000000>;
  33 + };
  34 +
  35 + i2c@7000c000 {
  36 + status = "disabled";
  37 + };
  38 +
  39 + i2c@7000c400 {
  40 + status = "disabled";
  41 + };
  42 +
  43 + i2c@7000c500 {
  44 + status = "disabled";
  45 + };
  46 +
  47 + i2c@7000d000 {
  48 + status = "disabled";
  49 + };
  50 +
  51 + usb@c5000000 {
  52 + status = "disabled";
  53 + };
  54 +
  55 + usb@c5004000 {
  56 + status = "disabled";
  57 + };
  58 +};
board/avionic-design/dts/tegra2-plutux.dts
  1 +/dts-v1/;
  2 +
  3 +/include/ ARCH_CPU_DTS
  4 +
  5 +/ {
  6 + model = "Avionic Design Plutux";
  7 + compatible = "avionic-design,plutux", "nvidia,tegra20";
  8 +
  9 + aliases {
  10 + usb0 = "/usb@c5008000";
  11 + };
  12 +
  13 + memory {
  14 + reg = <0x00000000 0x20000000>;
  15 + };
  16 +
  17 + clocks {
  18 + clk_32k: clk_32k {
  19 + clock-frequency = <32000>;
  20 + };
  21 +
  22 + osc {
  23 + clock-frequency = <12000000>;
  24 + };
  25 + };
  26 +
  27 + clock@60006000 {
  28 + clocks = <&clk_32k &osc>;
  29 + };
  30 +
  31 + serial@70006300 {
  32 + clock-frequency = <216000000>;
  33 + };
  34 +
  35 + i2c@7000c000 {
  36 + status = "disabled";
  37 + };
  38 +
  39 + i2c@7000c400 {
  40 + status = "disabled";
  41 + };
  42 +
  43 + i2c@7000c500 {
  44 + status = "disabled";
  45 + };
  46 +
  47 + i2c@7000d000 {
  48 + status = "disabled";
  49 + };
  50 +
  51 + usb@c5000000 {
  52 + status = "disabled";
  53 + };
  54 +
  55 + usb@c5004000 {
  56 + status = "disabled";
  57 + };
  58 +};
board/avionic-design/dts/tegra2-tec.dts
  1 +/dts-v1/;
  2 +
  3 +/include/ ARCH_CPU_DTS
  4 +
  5 +/ {
  6 + model = "Avionic Design Tamonten Evaluation Carrier";
  7 + compatible = "avionic-design,tec", "nvidia,tegra20";
  8 +
  9 + aliases {
  10 + usb0 = "/usb@c5008000";
  11 + };
  12 +
  13 + memory {
  14 + reg = <0x00000000 0x20000000>;
  15 + };
  16 +
  17 + clocks {
  18 + clk_32k: clk_32k {
  19 + clock-frequency = <32000>;
  20 + };
  21 +
  22 + osc {
  23 + clock-frequency = <12000000>;
  24 + };
  25 + };
  26 +
  27 + clock@60006000 {
  28 + clocks = <&clk_32k &osc>;
  29 + };
  30 +
  31 + serial@70006300 {
  32 + clock-frequency = <216000000>;
  33 + };
  34 +
  35 + i2c@7000c000 {
  36 + status = "disabled";
  37 + };
  38 +
  39 + i2c@7000c400 {
  40 + status = "disabled";
  41 + };
  42 +
  43 + i2c@7000c500 {
  44 + status = "disabled";
  45 + };
  46 +
  47 + i2c@7000d000 {
  48 + status = "disabled";
  49 + };
  50 +
  51 + usb@c5000000 {
  52 + status = "disabled";
  53 + };
  54 +
  55 + usb@c5004000 {
  56 + status = "disabled";
  57 + };
  58 +};
board/avionic-design/medcom/Makefile
1 1 #
2 2 # (C) Copyright 2010,2011
3 3 # NVIDIA Corporation <www.nvidia.com>
4   -# (C) Copyright 2011
  4 +# (C) Copyright 2011,2012
5 5 # Avionic Design GmbH <www.avionic-design.de>
6 6 #
7 7 # See file CREDITS for list of people who contributed to this
8 8  
... ... @@ -26,12 +26,12 @@
26 26 include $(TOPDIR)/config.mk
27 27  
28 28 ifneq ($(OBJTREE),$(SRCTREE))
29   -$(shell mkdir -p $(obj)../common)
  29 +$(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
30 30 endif
31 31  
32 32 LIB = $(obj)lib$(BOARD).o
33 33  
34   -COBJS := $(BOARD).o
  34 +COBJS := ../../nvidia/common/board.o
35 35 COBJS += ../common/tamonten.o
36 36  
37 37 SRCS := $(COBJS:.o=.c)
board/avionic-design/medcom/medcom.c
1   -/*
2   - * (C) Copyright 2010,2011
3   - * NVIDIA Corporation <www.nvidia.com>
4   - * (C) Copyright 2011
5   - * Avionic Design GmbH <www.avionic-design.de>
6   - *
7   - * See file CREDITS for list of people who contributed to this
8   - * project.
9   - *
10   - * This program is free software; you can redistribute it and/or
11   - * modify it under the terms of the GNU General Public License as
12   - * published by the Free Software Foundation; either version 2 of
13   - * the License, or (at your option) any later version.
14   - *
15   - * This program is distributed in the hope that it will be useful,
16   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
17   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18   - * GNU General Public License for more details.
19   - *
20   - * You should have received a copy of the GNU General Public License
21   - * along with this program; if not, write to the Free Software
22   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23   - * MA 02111-1307 USA
24   - */
25   -
26   -#include <common.h>
27   -#include <asm/io.h>
28   -#include <asm/gpio.h>
29   -#include <asm/arch/tegra2.h>
30   -#ifdef CONFIG_TEGRA2_MMC
31   -#include <mmc.h>
32   -#endif
33   -
34   -#ifdef CONFIG_TEGRA2_MMC
35   -/*
36   - * Routine: gpio_config_mmc
37   - * Description: Set GPIOs for SD card
38   - */
39   -void gpio_config_mmc(void)
40   -{
41   - /* configure pin as input for card detect */
42   - gpio_request(GPIO_PH2, "SD4 CD");
43   - gpio_direction_input(GPIO_PH2);
44   -}
45   -#endif
board/avionic-design/plutux/Makefile
1 1 #
2 2 # (C) Copyright 2010,2011
3 3 # NVIDIA Corporation <www.nvidia.com>
4   -# (C) Copyright 2011
  4 +# (C) Copyright 2011,2012
5 5 # Avionic Design GmbH <www.avionic-design.de>
6 6 #
7 7 # See file CREDITS for list of people who contributed to this
8 8  
... ... @@ -26,12 +26,12 @@
26 26 include $(TOPDIR)/config.mk
27 27  
28 28 ifneq ($(OBJTREE),$(SRCTREE))
29   -$(shell mkdir -p $(obj)../common)
  29 +$(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
30 30 endif
31 31  
32 32 LIB = $(obj)lib$(BOARD).o
33 33  
34   -COBJS := $(BOARD).o
  34 +COBJS := ../../nvidia/common/board.o
35 35 COBJS += ../common/tamonten.o
36 36  
37 37 SRCS := $(COBJS:.o=.c)
board/avionic-design/plutux/plutux.c
1   -/*
2   - * (C) Copyright 2010,2011
3   - * NVIDIA Corporation <www.nvidia.com>
4   - * (C) Copyright 2011
5   - * Avionic Design GmbH <www.avionic-design.de>
6   - *
7   - * See file CREDITS for list of people who contributed to this
8   - * project.
9   - *
10   - * This program is free software; you can redistribute it and/or
11   - * modify it under the terms of the GNU General Public License as
12   - * published by the Free Software Foundation; either version 2 of
13   - * the License, or (at your option) any later version.
14   - *
15   - * This program is distributed in the hope that it will be useful,
16   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
17   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18   - * GNU General Public License for more details.
19   - *
20   - * You should have received a copy of the GNU General Public License
21   - * along with this program; if not, write to the Free Software
22   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23   - * MA 02111-1307 USA
24   - */
25   -
26   -#include <common.h>
27   -#include <asm/io.h>
28   -#include <asm/gpio.h>
29   -#include <asm/arch/tegra2.h>
30   -#ifdef CONFIG_TEGRA2_MMC
31   -#include <mmc.h>
32   -#endif
33   -
34   -#ifdef CONFIG_TEGRA2_MMC
35   -/*
36   - * Routine: gpio_config_mmc
37   - * Description: Set GPIOs for SD card
38   - */
39   -void gpio_config_mmc(void)
40   -{
41   - /* configure pin as input for card detect */
42   - gpio_request(GPIO_PH2, "SD4 CD");
43   - gpio_direction_input(GPIO_PH2);
44   -}
45   -#endif
board/avionic-design/tec/Makefile
  1 +#
  2 +# (C) Copyright 2010,2011
  3 +# NVIDIA Corporation <www.nvidia.com>
  4 +# (C) Copyright 2011,2012
  5 +# Avionic Design GmbH <www.avionic-design.de>
  6 +#
  7 +# See file CREDITS for list of people who contributed to this
  8 +# project.
  9 +#
  10 +# This program is free software; you can redistribute it and/or
  11 +# modify it under the terms of the GNU General Public License as
  12 +# published by the Free Software Foundation; either version 2 of
  13 +# the License, or (at your option) any later version.
  14 +#
  15 +# This program is distributed in the hope that it will be useful,
  16 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  17 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18 +# GNU General Public License for more details.
  19 +#
  20 +# You should have received a copy of the GNU General Public License
  21 +# along with this program; if not, write to the Free Software
  22 +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  23 +# MA 02111-1307 USA
  24 +#
  25 +
  26 +include $(TOPDIR)/config.mk
  27 +
  28 +ifneq ($(OBJTREE),$(SRCTREE))
  29 +$(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
  30 +endif
  31 +
  32 +LIB = $(obj)lib$(BOARD).o
  33 +
  34 +COBJS := ../../nvidia/common/board.o
  35 +COBJS += ../common/tamonten.o
  36 +
  37 +SRCS := $(COBJS:.o=.c)
  38 +OBJS := $(addprefix $(obj),$(COBJS))
  39 +
  40 +$(LIB): $(obj).depend $(OBJS)
  41 + $(call cmd_link_o_target, $(OBJS))
  42 +
  43 +#########################################################################
  44 +
  45 +# defines $(obj).depend target
  46 +include $(SRCTREE)/rules.mk
  47 +
  48 +sinclude $(obj).depend
  49 +
  50 +#########################################################################
board/compal/paz00/paz00.c
... ... @@ -20,7 +20,7 @@
20 20 #include <asm/arch/pinmux.h>
21 21 #include <asm/arch/mmc.h>
22 22 #include <asm/gpio.h>
23   -#ifdef CONFIG_TEGRA2_MMC
  23 +#ifdef CONFIG_TEGRA_MMC
24 24 #include <mmc.h>
25 25 #endif
26 26  
... ... @@ -32,7 +32,7 @@
32 32 {
33 33 }
34 34  
35   -#ifdef CONFIG_TEGRA2_MMC
  35 +#ifdef CONFIG_TEGRA_MMC
36 36 /*
37 37 * Routine: pin_mux_mmc
38 38 * Description: setup the pin muxes/tristate values for the SDMMC(s)
board/compulab/trimslice/trimslice.c
... ... @@ -30,7 +30,7 @@
30 30 #include <asm/arch/pinmux.h>
31 31 #include <asm/arch/mmc.h>
32 32 #include <asm/gpio.h>
33   -#ifdef CONFIG_TEGRA2_MMC
  33 +#ifdef CONFIG_TEGRA_MMC
34 34 #include <mmc.h>
35 35 #endif
36 36  
... ... @@ -40,6 +40,11 @@
40 40 */
41 41 void gpio_config_uart(void)
42 42 {
  43 +}
  44 +
  45 +void pin_mux_spi(void)
  46 +{
  47 + funcmux_select(PERIPH_ID_SPI1, FUNCMUX_SPI1_GMC_GMD);
43 48 }
44 49  
45 50 /*
board/nvidia/common/board.c
... ... @@ -64,6 +64,12 @@
64 64  
65 65 void pin_mux_usb(void) __attribute__((weak, alias("__pin_mux_usb")));
66 66  
  67 +void __pin_mux_spi(void)
  68 +{
  69 +}
  70 +
  71 +void pin_mux_spi(void) __attribute__((weak, alias("__pin_mux_spi")));
  72 +
67 73 /*
68 74 * Routine: power_det_init
69 75 * Description: turn off power detects
... ... @@ -94,7 +100,8 @@
94 100 #ifdef CONFIG_SPI_UART_SWITCH
95 101 gpio_config_uart();
96 102 #endif
97   -#ifdef CONFIG_TEGRA2_SPI
  103 +#ifdef CONFIG_TEGRA_SPI
  104 + pin_mux_spi();
98 105 spi_init();
99 106 #endif
100 107 /* boot param addr */
101 108  
... ... @@ -132,11 +139,18 @@
132 139 }
133 140  
134 141 #ifdef CONFIG_BOARD_EARLY_INIT_F
  142 +static void __gpio_early_init(void)
  143 +{
  144 +}
  145 +
  146 +void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init")));
  147 +
135 148 int board_early_init_f(void)
136 149 {
137 150 board_init_uart_f();
138 151  
139 152 /* Initialize periph GPIOs */
  153 + gpio_early_init();
140 154 #ifdef CONFIG_SPI_UART_SWITCH
141 155 gpio_early_init_uart();
142 156 #else
board/nvidia/common/board.h
... ... @@ -25,6 +25,7 @@
25 25 #define _BOARD_H_
26 26  
27 27 void gpio_config_uart(void);
  28 +void gpio_early_init(void);
28 29 void gpio_early_init_uart(void);
29 30  
30 31 /*
board/ti/beagle/beagle.c
... ... @@ -68,6 +68,7 @@
68 68 #define BBTOYS_VGA 0x02000B00
69 69 #define BBTOYS_LCD 0x03000B00
70 70 #define BCT_BRETTL3 0x01000F00
  71 +#define BCT_BRETTL4 0x02000F00
71 72 #define BEAGLE_NO_EEPROM 0xffffffff
72 73  
73 74 DECLARE_GLOBAL_DATA_PTR;
... ... @@ -417,8 +418,11 @@
417 418 printf("Recognized BeagleBoardToys LCD board\n");
418 419 break;;
419 420 case BCT_BRETTL3:
420   - printf("Recognized bct electronic GmbH brettl3 board\n");
421   - break;
  421 + printf("Recognized bct electronic GmbH brettl3 board\n");
  422 + break;
  423 + case BCT_BRETTL4:
  424 + printf("Recognized bct electronic GmbH brettl4 board\n");
  425 + break;
422 426 case BEAGLE_NO_EEPROM:
423 427 printf("No EEPROM on expansion board\n");
424 428 setenv("buddy", "none");
... ... @@ -282,6 +282,7 @@
282 282 jornada arm sa1100
283 283 plutux arm armv7 plutux avionic-design tegra2
284 284 medcom arm armv7 medcom avionic-design tegra2
  285 +tec arm armv7 tec avionic-design tegra2
285 286 paz00 arm armv7 paz00 compal tegra2
286 287 trimslice arm armv7 trimslice compulab tegra2
287 288 atngw100 avr32 at32ap - atmel at32ap700x
... ... @@ -116,6 +116,17 @@
116 116 #if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0)
117 117 "pcidelay=" MK_STR(CONFIG_PCI_BOOTDELAY) "\0"
118 118 #endif
  119 +#ifdef CONFIG_ENV_VARS_UBOOT_CONFIG
  120 + "arch=" CONFIG_SYS_ARCH "\0"
  121 + "cpu=" CONFIG_SYS_CPU "\0"
  122 + "board=" CONFIG_SYS_BOARD "\0"
  123 +#ifdef CONFIG_SYS_VENDOR
  124 + "vendor=" CONFIG_SYS_VENDOR "\0"
  125 +#endif
  126 +#ifdef CONFIG_SYS_SOC
  127 + "soc=" CONFIG_SYS_SOC "\0"
  128 +#endif
  129 +#endif
119 130 #ifdef CONFIG_EXTRA_ENV_SETTINGS
120 131 CONFIG_EXTRA_ENV_SETTINGS
121 132 #endif
common/env_embedded.c
... ... @@ -179,6 +179,17 @@
179 179 #if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0)
180 180 "pcidelay=" MK_STR(CONFIG_PCI_BOOTDELAY) "\0"
181 181 #endif
  182 +#ifdef CONFIG_ENV_VARS_UBOOT_CONFIG
  183 + "arch=" CONFIG_SYS_ARCH "\0"
  184 + "cpu=" CONFIG_SYS_CPU "\0"
  185 + "board=" CONFIG_SYS_BOARD "\0"
  186 +#ifdef CONFIG_SYS_VENDOR
  187 + "vendor=" CONFIG_SYS_VENDOR "\0"
  188 +#endif
  189 +#ifdef CONFIG_SYS_SOC
  190 + "soc=" CONFIG_SYS_SOC "\0"
  191 +#endif
  192 +#endif
182 193 #ifdef CONFIG_EXTRA_ENV_SETTINGS
183 194 CONFIG_EXTRA_ENV_SETTINGS
184 195 #endif
drivers/usb/host/ehci-tegra.c
1 1 /*
2   - * Copyright (c) 2009 NVIDIA Corporation
  2 + * Copyright (c) 2009-2012 NVIDIA Corporation
3 3 *
4 4 * See file CREDITS for list of people who contributed to this
5 5 * project.
... ... @@ -29,6 +29,22 @@
29 29 #include <asm/errno.h>
30 30 #include <asm/arch/usb.h>
31 31  
  32 +/*
  33 + * A known hardware issue where Connect Status Change bit of PORTSC register
  34 + * of USB1 controller will be set after Port Reset.
  35 + * We have to clear it in order for later device enumeration to proceed.
  36 + * This ehci_powerup_fixup overrides the weak function ehci_powerup_fixup
  37 + * in "ehci-hcd.c".
  38 + */
  39 +void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg)
  40 +{
  41 + mdelay(50);
  42 + if (((u32) status_reg & TEGRA_USB_ADDR_MASK) != TEGRA_USB1_BASE)
  43 + return;
  44 + /* For EHCI_PS_CSC to be cleared in ehci_hcd.c */
  45 + if (ehci_readl(status_reg) & EHCI_PS_CSC)
  46 + *reg |= EHCI_PS_CSC;
  47 +}
32 48  
33 49 /*
34 50 * Create the appropriate control structures to manage
include/configs/medcom.h
1 1 /*
2 2 * (C) Copyright 2010,2011
3 3 * NVIDIA Corporation <www.nvidia.com>
4   - * (C) Copyright 2011
  4 + * (C) Copyright 2011-2012
5 5 * Avionic Design GmbH <www.avionic-design.de>
6 6 *
7 7 * See file CREDITS for list of people who contributed to this
... ... @@ -28,6 +28,11 @@
28 28  
29 29 #include "tegra2-common.h"
30 30  
  31 +/* Enable fdt support for Medcom. Flash the image in u-boot-dtb.bin */
  32 +#define CONFIG_DEFAULT_DEVICE_TREE tegra2-medcom
  33 +#define CONFIG_OF_CONTROL
  34 +#define CONFIG_OF_SEPARATE
  35 +
31 36 /* High-level configuration options */
32 37 #define V_PROMPT "Tegra2 (Medcom) # "
33 38 #define CONFIG_TEGRA2_BOARD_STRING "Avionic Design Medcom"
... ... @@ -46,6 +51,20 @@
46 51 #define CONFIG_GENERIC_MMC
47 52 #define CONFIG_TEGRA_MMC
48 53 #define CONFIG_CMD_MMC
  54 +
  55 +/* USB host support */
  56 +#define CONFIG_USB_EHCI
  57 +#define CONFIG_USB_EHCI_TEGRA
  58 +#define CONFIG_USB_STORAGE
  59 +#define CONFIG_CMD_USB
  60 +
  61 +/* USB networking support */
  62 +#define CONFIG_USB_HOST_ETHER
  63 +#define CONFIG_USB_ETHER_SMSC95XX
  64 +
  65 +/* General networking support */
  66 +#define CONFIG_CMD_NET
  67 +#define CONFIG_CMD_DHCP
49 68  
50 69 #define CONFIG_DOS_PARTITION
51 70 #define CONFIG_EFI_PARTITION
include/configs/plutux.h
1 1 /*
2 2 * (C) Copyright 2010,2011
3 3 * NVIDIA Corporation <www.nvidia.com>
4   - * (C) Copyright 2011
  4 + * (C) Copyright 2011-2012
5 5 * Avionic Design GmbH <www.avionic-design.de>
6 6 *
7 7 * See file CREDITS for list of people who contributed to this
... ... @@ -28,6 +28,11 @@
28 28  
29 29 #include "tegra2-common.h"
30 30  
  31 +/* Enable fdt support for Plutux. Flash the image in u-boot-dtb.bin */
  32 +#define CONFIG_DEFAULT_DEVICE_TREE tegra2-plutux
  33 +#define CONFIG_OF_CONTROL
  34 +#define CONFIG_OF_SEPARATE
  35 +
31 36 /* High-level configuration options */
32 37 #define V_PROMPT "Tegra2 (Plutux) # "
33 38 #define CONFIG_TEGRA2_BOARD_STRING "Avionic Design Plutux"
... ... @@ -46,6 +51,20 @@
46 51 #define CONFIG_GENERIC_MMC
47 52 #define CONFIG_TEGRA_MMC
48 53 #define CONFIG_CMD_MMC
  54 +
  55 +/* USB host support */
  56 +#define CONFIG_USB_EHCI
  57 +#define CONFIG_USB_EHCI_TEGRA
  58 +#define CONFIG_USB_STORAGE
  59 +#define CONFIG_CMD_USB
  60 +
  61 +/* USB networking support */
  62 +#define CONFIG_USB_HOST_ETHER
  63 +#define CONFIG_USB_ETHER_SMSC95XX
  64 +
  65 +/* General networking support */
  66 +#define CONFIG_CMD_NET
  67 +#define CONFIG_CMD_DHCP
49 68  
50 69 #define CONFIG_DOS_PARTITION
51 70 #define CONFIG_EFI_PARTITION
include/configs/tec.h
  1 +/*
  2 + * (C) Copyright 2010,2011
  3 + * NVIDIA Corporation <www.nvidia.com>
  4 + * (C) Copyright 2011-2012
  5 + * Avionic Design GmbH <www.avionic-design.de>
  6 + *
  7 + * See file CREDITS for list of people who contributed to this
  8 + * project.
  9 + *
  10 + * This program is free software; you can redistribute it and/or
  11 + * modify it under the terms of the GNU General Public License as
  12 + * published by the Free Software Foundation; either version 2 of
  13 + * the License, or (at your option) any later version.
  14 + *
  15 + * This program is distributed in the hope that it will be useful,
  16 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18 + * GNU General Public License for more details.
  19 + *
  20 + * You should have received a copy of the GNU General Public License
  21 + * along with this program; if not, write to the Free Software
  22 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  23 + * MA 02111-1307 USA
  24 + */
  25 +
  26 +#ifndef __CONFIG_H
  27 +#define __CONFIG_H
  28 +
  29 +#include "tegra2-common.h"
  30 +
  31 +/* Enable fdt support for TEC. Flash the image in u-boot-dtb.bin */
  32 +#define CONFIG_DEFAULT_DEVICE_TREE tegra2-tec
  33 +#define CONFIG_OF_CONTROL
  34 +#define CONFIG_OF_SEPARATE
  35 +
  36 +/* High-level configuration options */
  37 +#define V_PROMPT "Tegra2 (TEC) # "
  38 +#define CONFIG_TEGRA2_BOARD_STRING "Avionic Design Tamonten Evaluation Carrier"
  39 +#define CONFIG_SYS_BOARD_ODMDATA 0x2b0d8011
  40 +
  41 +/* Board-specific serial config */
  42 +#define CONFIG_SERIAL_MULTI
  43 +#define CONFIG_TEGRA2_ENABLE_UARTD /* UARTD: debug UART */
  44 +#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
  45 +
  46 +#define CONFIG_BOARD_EARLY_INIT_F
  47 +
  48 +#define CONFIG_ENV_IS_NOWHERE
  49 +
  50 +/* SD/MMC */
  51 +#define CONFIG_MMC
  52 +#define CONFIG_GENERIC_MMC
  53 +#define CONFIG_TEGRA_MMC
  54 +#define CONFIG_CMD_MMC
  55 +
  56 +/* USB host support */
  57 +#define CONFIG_USB_EHCI
  58 +#define CONFIG_USB_EHCI_TEGRA
  59 +#define CONFIG_USB_STORAGE
  60 +#define CONFIG_CMD_USB
  61 +
  62 +/* USB networking support */
  63 +#define CONFIG_USB_HOST_ETHER
  64 +#define CONFIG_USB_ETHER_SMSC95XX
  65 +
  66 +/* General networking support */
  67 +#define CONFIG_CMD_NET
  68 +#define CONFIG_CMD_DHCP
  69 +
  70 +#define CONFIG_DOS_PARTITION
  71 +#define CONFIG_EFI_PARTITION
  72 +#define CONFIG_CMD_EXT2
  73 +#define CONFIG_CMD_FAT
  74 +
  75 +#define CONFIG_FIT
  76 +
  77 +#define CONFIG_BOOTCOMMAND \
  78 + "mmc rescan;" \
  79 + "ext2load mmc 0 0x17000000 /boot/uImage;" \
  80 + "bootm"
  81 +
  82 +#endif /* __CONFIG_H */
include/configs/tegra2-common-post.h
... ... @@ -31,15 +31,15 @@
31 31 #else
32 32  
33 33 #ifdef CONFIG_CMD_EXT2
34   -#define BOOTCMD_FS_EXT2 "ext2 "
  34 +#define BOOT_FSTYPE_EXT2 "ext2 "
35 35 #else
36   -#define BOOTCMD_FS_EXT2 ""
  36 +#define BOOT_FSTYPE_EXT2 ""
37 37 #endif
38 38  
39 39 #ifdef CONFIG_CMD_FAT
40   -#define BOOTCMD_FS_FAT "fat"
  40 +#define BOOT_FSTYPE_FAT "fat"
41 41 #else
42   -#define BOOTCMD_FS_FAT ""
  42 +#define BOOT_FSTYPE_FAT ""
43 43 #endif
44 44  
45 45 #ifdef CONFIG_CMD_MMC
46 46  
47 47  
48 48  
49 49  
50 50  
51 51  
52 52  
53 53  
54 54  
55 55  
56 56  
57 57  
58 58  
59 59  
60 60  
61 61  
... ... @@ -47,71 +47,103 @@
47 47 "mmc_boot=" \
48 48 "setenv devtype mmc; " \
49 49 "if mmc dev ${devnum}; then " \
50   - "run script_boot; " \
  50 + "run scan_boot; " \
51 51 "fi\0" \
52   - "mmc0_boot=setenv devnum 0; run mmc_boot;\0" \
53   - "mmc1_boot=setenv devnum 1; run mmc_boot;\0" \
54   - "bootcmd_mmc=run mmc1_boot; run mmc0_boot\0"
55   -#define BOOTCMD_MMC "run bootcmd_mmc; "
  52 + "bootcmd_mmc0=setenv devnum 0; run mmc_boot;\0" \
  53 + "bootcmd_mmc1=setenv devnum 1; run mmc_boot;\0"
  54 +#define BOOT_TARGETS_MMC "mmc1 mmc0"
56 55 #else
57 56 #define BOOTCMDS_MMC ""
58   -#define BOOTCMD_MMC ""
  57 +#define BOOT_TARGETS_MMC ""
59 58 #endif
60 59  
61 60 #ifdef CONFIG_CMD_USB
  61 +#define BOOTCMD_INIT_USB "run usb_init; "
62 62 #define BOOTCMDS_USB \
  63 + "usb_init=" \
  64 + "if ${usb_need_init}; then " \
  65 + "set usb_need_init false; " \
  66 + "usb start 0; " \
  67 + "fi\0" \
  68 + \
63 69 "usb_boot=" \
64 70 "setenv devtype usb; " \
  71 + BOOTCMD_INIT_USB \
65 72 "if usb dev ${devnum}; then " \
66   - "run script_boot; " \
  73 + "run scan_boot; " \
67 74 "fi\0" \
68   - "usb0_boot=setenv devnum 0; run usb_boot;\0" \
69   - "bootcmd_usb=run usb0_boot\0"
70   -#define BOOTCMD_USB "run bootcmd_usb; "
71   -#define BOOTCMD_INIT_USB "usb start 0; "
  75 + \
  76 + "bootcmd_usb0=setenv devnum 0; run usb_boot;\0"
  77 +#define BOOT_TARGETS_USB "usb0"
72 78 #else
73   -#define BOOTCMDS_USB ""
74   -#define BOOTCMD_USB ""
75 79 #define BOOTCMD_INIT_USB ""
  80 +#define BOOTCMDS_USB ""
  81 +#define BOOT_TARGETS_USB ""
76 82 #endif
77 83  
78 84 #ifdef CONFIG_CMD_DHCP
79 85 #define BOOTCMDS_DHCP \
80 86 "bootcmd_dhcp=" \
  87 + BOOTCMD_INIT_USB \
81 88 "if dhcp ${scriptaddr} boot.scr.uimg; then "\
82 89 "source ${scriptaddr}; " \
83 90 "fi\0"
84   -#define BOOTCMD_DHCP "run bootcmd_dhcp; "
  91 +#define BOOT_TARGETS_DHCP "dhcp"
85 92 #else
86 93 #define BOOTCMDS_DHCP ""
87   -#define BOOTCMD_DHCP ""
  94 +#define BOOT_TARGETS_DHCP ""
88 95 #endif
89 96  
90 97 #define BOOTCMDS_COMMON \
91 98 "scriptaddr=0x400000\0" \
  99 + \
92 100 "rootpart=1\0" \
93   - "script_boot=" \
94   - "for fs in " BOOTCMD_FS_EXT2 BOOTCMD_FS_FAT "; do " \
95   - "for prefix in / /boot/; do " \
96   - "for script in boot.scr.uimg boot.scr; do " \
97   - "echo Scanning ${devtype} ${devnum}:${rootpart} ${fs} ${prefix}${script} ...; " \
98   - "if ${fs}load ${devtype} ${devnum}:${rootpart} ${scriptaddr} ${prefix}${script}; then " \
99   - "echo ${script} found! Executing ...;" \
100   - "source ${scriptaddr};" \
101   - "fi; " \
102   - "done; " \
103   - "done; " \
104   - "done;\0" \
  101 + \
  102 + "script_boot=" \
  103 + "if ${fs}load ${devtype} ${devnum}:${rootpart} " \
  104 + "${scriptaddr} ${prefix}${script}; then " \
  105 + "echo ${script} found! Executing ...;" \
  106 + "source ${scriptaddr};" \
  107 + "fi;\0" \
  108 + \
  109 + "scan_boot=" \
  110 + "echo Scanning ${devtype} ${devnum}...; " \
  111 + "for fs in ${boot_fstypes}; do " \
  112 + "for prefix in ${boot_prefixes}; do " \
  113 + "for script in ${boot_scripts}; do " \
  114 + "run script_boot; " \
  115 + "done; " \
  116 + "done; " \
  117 + "done;\0" \
  118 + \
  119 + "boot_targets=" \
  120 + BOOT_TARGETS_MMC " " \
  121 + BOOT_TARGETS_USB " " \
  122 + BOOT_TARGETS_DHCP " " \
  123 + "\0" \
  124 + \
  125 + "boot_fstypes=" \
  126 + BOOT_FSTYPE_EXT2 " " \
  127 + BOOT_FSTYPE_FAT " " \
  128 + "\0" \
  129 + \
  130 + "boot_prefixes=/ /boot/\0" \
  131 + \
  132 + "boot_scripts=boot.scr.uimg boot.scr\0" \
  133 + \
105 134 BOOTCMDS_MMC \
106 135 BOOTCMDS_USB \
107 136 BOOTCMDS_DHCP
108 137  
109   -#define CONFIG_BOOTCOMMAND BOOTCMD_INIT_USB BOOTCMD_USB BOOTCMD_MMC BOOTCMD_DHCP
  138 +#define CONFIG_BOOTCOMMAND \
  139 + "for target in ${boot_targets}; do run bootcmd_${target}; done"
110 140  
111 141 #endif
112 142  
113 143 #define CONFIG_EXTRA_ENV_SETTINGS \
114 144 TEGRA2_DEVICE_SETTINGS \
  145 + "fdt_load=0x01000000\0" \
  146 + "fdt_high=01100000\0" \
115 147 BOOTCMDS_COMMON
116 148  
117 149 #endif /* __TEGRA2_COMMON_POST_H */
include/configs/tegra2-common.h
... ... @@ -68,6 +68,7 @@
68 68 #endif
69 69  
70 70 /* Environment */
  71 +#define CONFIG_ENV_VARS_UBOOT_CONFIG
71 72 #define CONFIG_ENV_SIZE 0x2000 /* Total Size Environment */
72 73  
73 74 /*
... ... @@ -192,5 +193,7 @@
192 193  
193 194 #define CONFIG_TEGRA_GPIO
194 195 #define CONFIG_CMD_GPIO
  196 +#define CONFIG_CMD_ENTERRCM
  197 +#define CONFIG_CMD_BOOTZ
195 198 #endif /* __TEGRA2_COMMON_H */
... ... @@ -161,6 +161,14 @@
161 161 echo "#define CONFIG_${i}" >>config.h ;
162 162 done
163 163  
  164 +echo "#define CONFIG_SYS_ARCH \"${arch}\"" >> config.h
  165 +echo "#define CONFIG_SYS_CPU \"${cpu}\"" >> config.h
  166 +echo "#define CONFIG_SYS_BOARD \"${board}\"" >> config.h
  167 +
  168 +[ "${vendor}" ] && echo "#define CONFIG_SYS_VENDOR \"${vendor}\"" >> config.h
  169 +
  170 +[ "${soc}" ] && echo "#define CONFIG_SYS_SOC \"${soc}\"" >> config.h
  171 +
164 172 cat << EOF >> config.h
165 173 #define CONFIG_BOARDDIR board/$BOARDDIR
166 174 #include <config_cmd_defaults.h>