Commit 895f3e0542015b347298c8b501e63d5f32002c04
Exists in
master
and in
54 other branches
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
- MAINTAINERS
- README
- arch/arm/cpu/armv7/tegra2/Makefile
- arch/arm/cpu/armv7/tegra2/cmd_enterrcm.c
- arch/arm/cpu/armv7/tegra2/funcmux.c
- arch/arm/cpu/armv7/tegra2/usb.c
- arch/arm/include/asm/arch-tegra2/funcmux.h
- arch/arm/include/asm/arch-tegra2/tegra2.h
- board/avionic-design/common/tamonten.c
- board/avionic-design/common/tamonten.h
- board/avionic-design/dts/tegra2-medcom.dts
- board/avionic-design/dts/tegra2-plutux.dts
- board/avionic-design/dts/tegra2-tec.dts
- board/avionic-design/medcom/Makefile
- board/avionic-design/medcom/medcom.c
- board/avionic-design/plutux/Makefile
- board/avionic-design/plutux/plutux.c
- board/avionic-design/tec/Makefile
- board/compal/paz00/paz00.c
- board/compulab/trimslice/trimslice.c
- board/nvidia/common/board.c
- board/nvidia/common/board.h
- board/ti/beagle/beagle.c
- boards.cfg
- common/env_common.c
- common/env_embedded.c
- drivers/usb/host/ehci-tegra.c
- include/configs/medcom.h
- include/configs/plutux.h
- include/configs/tec.h
- include/configs/tegra2-common-post.h
- include/configs/tegra2-common.h
- mkconfig
MAINTAINERS
README
... | ... | @@ -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
arch/arm/include/asm/arch-tegra2/funcmux.h
arch/arm/include/asm/arch-tegra2/tegra2.h
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
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"); |
boards.cfg
... | ... | @@ -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 |
common/env_common.c
... | ... | @@ -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 */ |
mkconfig
... | ... | @@ -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> |