[ARM] Kirkwood: Add the watchdog timer as a platform device.
The Kirkwood architecture uses the same watchdog device as the Orion architecture. This patch adds orion5x_wdt as a platform device for Kirkwood. Signed-off-by: Thomas Reitmayr <treitmayr@devbase.at> Tested-by: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
This commit is contained in:
Родитель
6462c6160a
Коммит
054bd3f053
|
@ -30,6 +30,7 @@
|
|||
#include <plat/mvsdio.h>
|
||||
#include <plat/mv_xor.h>
|
||||
#include <plat/orion_nand.h>
|
||||
#include <plat/orion5x_wdt.h>
|
||||
#include <plat/time.h>
|
||||
#include "common.h"
|
||||
|
||||
|
@ -767,6 +768,29 @@ static void __init kirkwood_xor1_init(void)
|
|||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Watchdog
|
||||
****************************************************************************/
|
||||
static struct orion5x_wdt_platform_data kirkwood_wdt_data = {
|
||||
.tclk = 0,
|
||||
};
|
||||
|
||||
static struct platform_device kirkwood_wdt_device = {
|
||||
.name = "orion5x_wdt",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.platform_data = &kirkwood_wdt_data,
|
||||
},
|
||||
.num_resources = 0,
|
||||
};
|
||||
|
||||
static void __init kirkwood_wdt_init(void)
|
||||
{
|
||||
kirkwood_wdt_data.tclk = kirkwood_tclk;
|
||||
platform_device_register(&kirkwood_wdt_device);
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Time handling
|
||||
****************************************************************************/
|
||||
|
@ -859,6 +883,7 @@ void __init kirkwood_init(void)
|
|||
|
||||
/* internal devices that every board has */
|
||||
kirkwood_rtc_init();
|
||||
kirkwood_wdt_init();
|
||||
kirkwood_xor0_init();
|
||||
kirkwood_xor1_init();
|
||||
}
|
||||
|
|
|
@ -17,12 +17,15 @@
|
|||
#define CPU_RESET 0x00000002
|
||||
|
||||
#define RSTOUTn_MASK (BRIDGE_VIRT_BASE | 0x0108)
|
||||
#define WDT_RESET_OUT_EN 0x00000002
|
||||
#define SOFT_RESET_OUT_EN 0x00000004
|
||||
|
||||
#define SYSTEM_SOFT_RESET (BRIDGE_VIRT_BASE | 0x010c)
|
||||
#define SOFT_RESET 0x00000001
|
||||
|
||||
#define BRIDGE_CAUSE (BRIDGE_VIRT_BASE | 0x0110)
|
||||
#define WDT_INT_REQ 0x0008
|
||||
|
||||
#define BRIDGE_MASK (BRIDGE_VIRT_BASE | 0x0114)
|
||||
#define BRIDGE_INT_TIMER0 0x0002
|
||||
#define BRIDGE_INT_TIMER1 0x0004
|
||||
|
|
|
@ -233,10 +233,10 @@ config DAVINCI_WATCHDOG
|
|||
|
||||
config ORION5X_WATCHDOG
|
||||
tristate "Orion5x watchdog"
|
||||
depends on ARCH_ORION5X
|
||||
depends on ARCH_ORION5X || ARCH_KIRKWOOD
|
||||
help
|
||||
Say Y here if to include support for the watchdog timer
|
||||
in the Orion5x ARM SoCs.
|
||||
in the Orion5x and Kirkwood ARM SoCs.
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called orion5x_wdt.
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче