nspire.c 916 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * linux/arch/arm/mach-nspire/nspire.c
  4. *
  5. * Copyright (C) 2013 Daniel Tang <[email protected]>
  6. */
  7. #include <linux/init.h>
  8. #include <linux/of_irq.h>
  9. #include <linux/of_address.h>
  10. #include <linux/of_platform.h>
  11. #include <linux/irqchip.h>
  12. #include <linux/irqchip/arm-vic.h>
  13. #include <linux/clkdev.h>
  14. #include <linux/amba/bus.h>
  15. #include <asm/mach/arch.h>
  16. #include <asm/mach-types.h>
  17. #include <asm/mach/map.h>
  18. #include "mmio.h"
  19. static const char *const nspire_dt_match[] __initconst = {
  20. "ti,nspire",
  21. "ti,nspire-cx",
  22. "ti,nspire-tp",
  23. "ti,nspire-clp",
  24. NULL,
  25. };
  26. static void nspire_restart(enum reboot_mode mode, const char *cmd)
  27. {
  28. void __iomem *base = ioremap(NSPIRE_MISC_PHYS_BASE, SZ_4K);
  29. if (!base)
  30. return;
  31. writel(2, base + NSPIRE_MISC_HWRESET);
  32. }
  33. DT_MACHINE_START(NSPIRE, "TI-NSPIRE")
  34. .dt_compat = nspire_dt_match,
  35. .restart = nspire_restart,
  36. MACHINE_END