]> git.ipfire.org Git - people/ms/u-boot.git/blame - arch/mips/mach-pic32/reset.c
MIPS: Add support for Microchip PIC32MZ[DA] SoC family.
[people/ms/u-boot.git] / arch / mips / mach-pic32 / reset.c
CommitLineData
be961fa1
PCM
1/*
2 * (c) 2015 Purna Chandra Mandal <purna.mandal@microchip.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 *
6 */
7
8#include <common.h>
9#include <asm/io.h>
10#include <mach/pic32.h>
11
12/* SYSKEY */
13#define UNLOCK_KEY1 0xaa996655
14#define UNLOCK_KEY2 0x556699aa
15#define LOCK_KEY 0
16
17#define RSWRST 0x1250
18
19void _machine_restart(void)
20{
21 void __iomem *base;
22
23 base = pic32_get_syscfg_base();
24
25 /* unlock sequence */
26 writel(LOCK_KEY, base + SYSKEY);
27 writel(UNLOCK_KEY1, base + SYSKEY);
28 writel(UNLOCK_KEY2, base + SYSKEY);
29
30 /* soft reset */
31 writel(0x1, base + RSWRST);
32 (void) readl(base + RSWRST);
33
34 while (1)
35 ;
36}