Skip to content

Commit

Permalink
ARM: Orion: DTify the watchdog timer.
Browse files Browse the repository at this point in the history
Add device tree support to the Orion watchdog timer, and enable its
use in the kirkwood devices using device tree.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
Tested-by: Simon Baatz <gmbnomis@gmail.com>
  • Loading branch information
Andrew Lunn committed Jul 27, 2012
1 parent e91cac0 commit 1e7bad0
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 1 deletion.
14 changes: 14 additions & 0 deletions Documentation/devicetree/bindings/watchdog/marvel.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
* Marvell Orion Watchdog Time

Required Properties:

- Compatibility : "marvell,orion-wdt"
- reg : Address of the timer registers

Example:

wdt@20300 {
compatible = "marvell,orion-wdt";
reg = <0x20300 0x28>;
status = "okay";
};
6 changes: 6 additions & 0 deletions arch/arm/boot/dts/kirkwood.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@
status = "disabled";
};

wdt@20300 {
compatible = "marvell,orion-wdt";
reg = <0x20300 0x28>;
status = "okay";
};

nand@3000000 {
#address-cells = <1>;
#size-cells = <1>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-kirkwood/board-dt.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ struct of_dev_auxdata kirkwood_auxdata_lookup[] __initdata = {
OF_DEV_AUXDATA("marvell,orion-spi", 0xf1010600, "orion_spi.0", NULL),
OF_DEV_AUXDATA("marvell,mv64xxx-i2c", 0xf1011000, "mv64xxx_i2c.0",
NULL),
OF_DEV_AUXDATA("marvell,orion-wdt", 0xf1020300, "orion_wdt", NULL),
{},
};

Expand All @@ -55,7 +56,6 @@ static void __init kirkwood_dt_init(void)
kirkwood_clk_init();

/* internal devices that every board has */
kirkwood_wdt_init();
kirkwood_xor0_init();
kirkwood_xor1_init();
kirkwood_crypto_init();
Expand Down
8 changes: 8 additions & 0 deletions drivers/watchdog/orion_wdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include <linux/io.h>
#include <linux/spinlock.h>
#include <linux/clk.h>
#include <linux/of.h>
#include <mach/bridge-regs.h>

/*
Expand Down Expand Up @@ -295,13 +296,20 @@ static void orion_wdt_shutdown(struct platform_device *pdev)
orion_wdt_disable();
}

static const struct of_device_id orion_wdt_of_match_table[] __devinitdata = {
{ .compatible = "marvell,orion-wdt", },
{},
};
MODULE_DEVICE_TABLE(of, orion_wdt_of_match_table);

static struct platform_driver orion_wdt_driver = {
.probe = orion_wdt_probe,
.remove = __devexit_p(orion_wdt_remove),
.shutdown = orion_wdt_shutdown,
.driver = {
.owner = THIS_MODULE,
.name = "orion_wdt",
.of_match_table = of_match_ptr(orion_wdt_of_match_table),
},
};

Expand Down

0 comments on commit 1e7bad0

Please sign in to comment.