bcm63xx: prepare for watchdog support
PATCH 2/2 bcm63xx: prepare for watchdog support
This patch prepares the board code to register a bcm63xx_wdt platform_device that we are going to use in a subsequent patch.
Signed-off-by Florian Fainelli <[email protected]>
---
arch/mips/bcm63xx/Makefile +1 -0
@@ -5,6 +5,7 @@ obj-y += dev-usb-ohci.o obj-y += dev-usb-ehci.o obj-y += dev-enet.o obj-y += dev-dsp.o +obj-y += dev-wdt.o obj-$(CONFIG_EARLY_PRINTK) += early_printk.o obj-y += boards/
arch/mips/bcm63xx/dev-wdt.c new file +37 -0
@@ -0,0 +1,37 @@ +/* +* This file is subject to the terms and conditions of the GNU General Public +* License. See the file "COPYING" in the main directory of this archive +* for more details. +* +* Copyright (C) 2008 Florian Fainelli <[email protected]> +*/ + +#include <linux/init.h> +#include <linux/kernel.h> +#include <linux/platform_device.h> +#include <bcm63xx_cpu.h> + +static struct resource wdt_resources[] = { + { + .start =-1 ,/* filled at runtime */ + .end =-1 ,/* filled at runtime */ + .flags =IORESOURCE_MEM , + }, +}; + +static struct platform_device bcm63xx_wdt_device = { + .name ="bcm63xx-wdt" , + .id =0 , + .num_resources =ARRAY_SIZE (wdt_resources), + .resource = wdt_resources, +}; + +int __init bcm63xx_wdt_register (void ) +{ + wdt_resources[0 ].start =bcm63xx_regset_address (RSET_WDT ); + wdt_resources[0 ].end = wdt_resources[0 ].start; + wdt_resources[0 ].end +=RSET_WDT_SIZE -1 ; + +return platform_device_register (&bcm63xx_wdt_device); +} +arch_initcall (bcm63xx_wdt_register);