dev-wdt.c 970 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Copyright (C) 2008 Florian Fainelli <florian@openwrt.org>
  7. */
  8. #include <linux/init.h>
  9. #include <linux/kernel.h>
  10. #include <linux/platform_device.h>
  11. #include <bcm63xx_cpu.h>
  12. static struct resource wdt_resources[] = {
  13. {
  14. .start = -1, /* filled at runtime */
  15. .end = -1, /* filled at runtime */
  16. .flags = IORESOURCE_MEM,
  17. },
  18. };
  19. static struct platform_device bcm63xx_wdt_device = {
  20. .name = "bcm63xx-wdt",
  21. .id = -1,
  22. .num_resources = ARRAY_SIZE(wdt_resources),
  23. .resource = wdt_resources,
  24. };
  25. int __init bcm63xx_wdt_register(void)
  26. {
  27. wdt_resources[0].start = bcm63xx_regset_address(RSET_WDT);
  28. wdt_resources[0].end = wdt_resources[0].start;
  29. wdt_resources[0].end += RSET_WDT_SIZE - 1;
  30. return platform_device_register(&bcm63xx_wdt_device);
  31. }
  32. arch_initcall(bcm63xx_wdt_register);