mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-30 00:21:06 +00:00
ddf6bd4876
BCM2835 (used on Raspberry Pi) and BCM2836 (used on Raspberry Pi 2) are similar enough. One of the biggest differences is the ARM processor. It is reasonable to collect the source files into a single place, arch/arm/mach-bcm283x/. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Stephen Warren <swarren@wwwdotorg.org>
35 lines
1,018 B
C
35 lines
1,018 B
C
/*
|
|
* (C) Copyright 2012 Stephen Warren
|
|
*
|
|
* 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
|
|
* version 2 as published by the Free Software Foundation.
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <asm/io.h>
|
|
#include <asm/arch/wdog.h>
|
|
|
|
#define RESET_TIMEOUT 10
|
|
|
|
void reset_cpu(ulong addr)
|
|
{
|
|
struct bcm2835_wdog_regs *regs =
|
|
(struct bcm2835_wdog_regs *)BCM2835_WDOG_PHYSADDR;
|
|
uint32_t rstc;
|
|
|
|
rstc = readl(®s->rstc);
|
|
rstc &= ~BCM2835_WDOG_RSTC_WRCFG_MASK;
|
|
rstc |= BCM2835_WDOG_RSTC_WRCFG_FULL_RESET;
|
|
|
|
writel(BCM2835_WDOG_PASSWORD | RESET_TIMEOUT, ®s->wdog);
|
|
writel(BCM2835_WDOG_PASSWORD | rstc, ®s->rstc);
|
|
}
|