MIPS: add initial Loongson-1X SoC stuff
This code is based on linux-3.6 code. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
7c0da29613
commit
0b2b371a55
|
@ -0,0 +1 @@
|
|||
obj-y += loongson1_reset.o
|
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Zhang, Keguang <keguang.zhang at gmail.com>
|
||||
*
|
||||
* Register mappings for Loongson 1
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_MACH_LOONGSON1_LOONGSON1_H
|
||||
#define __ASM_MACH_LOONGSON1_LOONGSON1_H
|
||||
|
||||
#include <asm/addrspace.h>
|
||||
|
||||
/* Loongson 1 Register Bases */
|
||||
#define LS1X_UART0_BASE 0x1fe40000
|
||||
#define LS1X_UART1_BASE 0x1fe44000
|
||||
#define LS1X_UART2_BASE 0x1fe48000
|
||||
#define LS1X_UART3_BASE 0x1fe4c000
|
||||
#define LS1X_WDT_BASE 0x1fe5c060
|
||||
|
||||
/* Loongson 1 watchdog register definitions */
|
||||
#define LS1X_WDT_REG(x) \
|
||||
((void __iomem *)KSEG1ADDR(LS1X_WDT_BASE + (x)))
|
||||
|
||||
#define LS1X_WDT_EN LS1X_WDT_REG(0x0)
|
||||
#define LS1X_WDT_SET LS1X_WDT_REG(0x4)
|
||||
#define LS1X_WDT_TIMER LS1X_WDT_REG(0x8)
|
||||
|
||||
#endif /* __ASM_MACH_LOONGSON1_LOONGSON1_H */
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright (C) 2014 Antony Pavlov <antonynpavlov at gmail.com>
|
||||
*
|
||||
* 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 <io.h>
|
||||
#include <mach/loongson1.h>
|
||||
|
||||
void __noreturn reset_cpu(ulong addr)
|
||||
{
|
||||
__raw_writel(0x1, LS1X_WDT_EN);
|
||||
__raw_writel(0x1, LS1X_WDT_SET);
|
||||
__raw_writel(0x1, LS1X_WDT_TIMER);
|
||||
|
||||
unreachable();
|
||||
}
|
||||
EXPORT_SYMBOL(reset_cpu);
|
Loading…
Reference in New Issue