diff options
Diffstat (limited to 'roms/u-boot/arch/arm/cpu/armv7/tegra-common')
-rw-r--r-- | roms/u-boot/arch/arm/cpu/armv7/tegra-common/Makefile | 10 | ||||
-rw-r--r-- | roms/u-boot/arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c | 51 |
2 files changed, 61 insertions, 0 deletions
diff --git a/roms/u-boot/arch/arm/cpu/armv7/tegra-common/Makefile b/roms/u-boot/arch/arm/cpu/armv7/tegra-common/Makefile new file mode 100644 index 00000000..463c260f --- /dev/null +++ b/roms/u-boot/arch/arm/cpu/armv7/tegra-common/Makefile @@ -0,0 +1,10 @@ +# +# (C) Copyright 2010,2011 Nvidia Corporation. +# +# (C) Copyright 2000-2003 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-$(CONFIG_CMD_ENTERRCM) += cmd_enterrcm.o diff --git a/roms/u-boot/arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c b/roms/u-boot/arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c new file mode 100644 index 00000000..a94ec93e --- /dev/null +++ b/roms/u-boot/arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved. + * + * Derived from code (arch/arm/lib/reset.c) that is: + * + * (C) Copyright 2002 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com> + * Marius Groeger <mgroeger@sysgo.de> + * + * (C) Copyright 2002 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com> + * Alex Zuepke <azu@sysgo.de> + * + * (C) Copyright 2002 + * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> + * + * (C) Copyright 2004 + * DAVE Srl + * http://www.dave-tech.it + * http://www.wawnet.biz + * mailto:info@wawnet.biz + * + * (C) Copyright 2004 Texas Insturments + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <asm/arch/tegra.h> +#include <asm/arch-tegra/pmc.h> + +static int do_enterrcm(cmd_tbl_t *cmdtp, int flag, int argc, + char * const argv[]) +{ + struct pmc_ctlr *pmc = (struct pmc_ctlr *)NV_PA_PMC_BASE; + + puts("Entering RCM...\n"); + udelay(50000); + + pmc->pmc_scratch0 = 2; + disable_interrupts(); + reset_cpu(0); + + return 0; +} + +U_BOOT_CMD( + enterrcm, 1, 0, do_enterrcm, + "reset Tegra and enter USB Recovery Mode", + "" +); |