[linux-yocto] [PATCH 50/89] arm/mach-axxia: filled in stub axxia_restart function
Paul Butler
butler.paul at gmail.com
Sun Oct 27 12:33:15 PDT 2013
From: David Mercado <david.mercado at windriver.com>
Added reboot capability.
Signed-off-by: David Mercado <david.mercado at windriver.com>
---
arch/arm/mach-axxia/axxia.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-axxia/axxia.c b/arch/arm/mach-axxia/axxia.c
index 4afd73f..f26954f 100644
--- a/arch/arm/mach-axxia/axxia.c
+++ b/arch/arm/mach-axxia/axxia.c
@@ -32,6 +32,7 @@
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/init.h>
+#include <linux/delay.h>
#include <linux/smsc911x.h>
#include <linux/spi/spi.h>
#include <linux/clkdev.h>
@@ -247,7 +248,14 @@ void __init axxia_dt_init(void)
static void axxia_restart(char str, const char *cmd)
{
- /* TBD */
+ void __iomem *base;
+
+ base = ioremap(0x2010000000, 0x40000);
+
+ writel(0x000000ab, base + 0x31000); /* Access Key */
+ writel(0x00000040, base + 0x31004); /* Intrnl Boot, 0xffff0000 Target */
+ writel(0x80000000, base + 0x3180c); /* Set ResetReadDone */
+ writel(0x00080802, base + 0x31008); /* Chip Reset */
}
DT_MACHINE_START(AXXIA_DT, "LSI Axxia")
@@ -260,6 +268,6 @@ DT_MACHINE_START(AXXIA_DT, "LSI Axxia")
.handle_irq = axxia_gic_handle_irq,
.restart = axxia_restart,
#if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE)
- .dma_zone_size = (4ULL * SZ_1G),
+ .dma_zone_size = (4ULL * SZ_1G),
#endif
MACHINE_END
--
1.8.3.4
More information about the linux-yocto
mailing list