power: reset: at91-reset: add samx7 support
authorSzemző András <sza@esh.hu>
Tue, 17 Jan 2017 23:07:37 +0000 (00:07 +0100)
committerSebastian Reichel <sre@kernel.org>
Wed, 18 Jan 2017 16:05:38 +0000 (17:05 +0100)
Add samx7 support. It is lacking a few bits and needs a new reset function.

Signed-off-by: Szemző András <sza@esh.hu>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/power/reset/at91-reset.c

index 568580cf06552dc1e52ae39059687f25076db7bf..bb2588f0a4c75dfe2f4e48c99e7677a884914e97 100644 (file)
@@ -134,6 +134,15 @@ static int sama5d3_restart(struct notifier_block *this, unsigned long mode,
        return NOTIFY_DONE;
 }
 
+static int samx7_restart(struct notifier_block *this, unsigned long mode,
+                        void *cmd)
+{
+       writel(cpu_to_le32(AT91_RSTC_KEY | AT91_RSTC_PROCRST),
+              at91_rstc_base);
+
+       return NOTIFY_DONE;
+}
+
 static void __init at91_reset_status(struct platform_device *pdev)
 {
        u32 reg = readl(at91_rstc_base + AT91_RSTC_SR);
@@ -173,6 +182,7 @@ static const struct of_device_id at91_reset_of_match[] = {
        { .compatible = "atmel,at91sam9260-rstc", .data = at91sam9260_restart },
        { .compatible = "atmel,at91sam9g45-rstc", .data = at91sam9g45_restart },
        { .compatible = "atmel,sama5d3-rstc", .data = sama5d3_restart },
+       { .compatible = "atmel,samx7-rstc", .data = samx7_restart },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, at91_reset_of_match);