mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
ramips: add watchdog device for RT305x
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25127 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -62,6 +62,11 @@
|
|||||||
#define SYSTEM_CONFIG_CPUCLK_MASK 0x1
|
#define SYSTEM_CONFIG_CPUCLK_MASK 0x1
|
||||||
#define SYSTEM_CONFIG_CPUCLK_320 0x0
|
#define SYSTEM_CONFIG_CPUCLK_320 0x0
|
||||||
#define SYSTEM_CONFIG_CPUCLK_384 0x1
|
#define SYSTEM_CONFIG_CPUCLK_384 0x1
|
||||||
|
#define SYSTEM_CONFIG_SRAM_CS0_MODE_SHIFT 2
|
||||||
|
#define SYSTEM_CONFIG_SRAM_CS0_MODE_MASK 0x3
|
||||||
|
#define SYSTEM_CONFIG_SRAM_CS0_MODE_NORMAL 0
|
||||||
|
#define SYSTEM_CONFIG_SRAM_CS0_MODE_WDT 1
|
||||||
|
#define SYSTEM_CONFIG_SRAM_CS0_MODE_BTCOEX 2
|
||||||
|
|
||||||
#define RT305X_GPIO_MODE_I2C BIT(0)
|
#define RT305X_GPIO_MODE_I2C BIT(0)
|
||||||
#define RT305X_GPIO_MODE_SPI BIT(1)
|
#define RT305X_GPIO_MODE_SPI BIT(1)
|
||||||
|
|||||||
@@ -189,3 +189,31 @@ void __init rt305x_register_wifi(void)
|
|||||||
{
|
{
|
||||||
platform_device_register(&rt305x_wifi_device);
|
platform_device_register(&rt305x_wifi_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static struct resource rt305x_wdt_resources[] = {
|
||||||
|
{
|
||||||
|
.start = RT305X_TIMER_BASE,
|
||||||
|
.end = RT305X_TIMER_BASE + RT305X_TIMER_SIZE - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device rt305x_wdt_device = {
|
||||||
|
.name = "ramips-wdt",
|
||||||
|
.id = -1,
|
||||||
|
.resource = rt305x_wdt_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(rt305x_wdt_resources),
|
||||||
|
};
|
||||||
|
|
||||||
|
void __init rt305x_register_wdt(void)
|
||||||
|
{
|
||||||
|
u32 t;
|
||||||
|
|
||||||
|
/* enable WDT reset output on pin SRAM_CS_N */
|
||||||
|
t = rt305x_sysc_rr(SYSC_REG_SYSTEM_CONFIG);
|
||||||
|
t |= SYSTEM_CONFIG_SRAM_CS0_MODE_WDT <<
|
||||||
|
SYSTEM_CONFIG_SRAM_CS0_MODE_SHIFT;
|
||||||
|
rt305x_sysc_wr(t, SYSC_REG_SYSTEM_CONFIG);
|
||||||
|
|
||||||
|
platform_device_register(&rt305x_wdt_device);
|
||||||
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ extern struct rt305x_esw_platform_data rt305x_esw_data;
|
|||||||
void rt305x_register_flash(unsigned int id, struct physmap_flash_data *pdata);
|
void rt305x_register_flash(unsigned int id, struct physmap_flash_data *pdata);
|
||||||
void rt305x_register_ethernet(void);
|
void rt305x_register_ethernet(void);
|
||||||
void rt305x_register_wifi(void);
|
void rt305x_register_wifi(void);
|
||||||
|
void rt305x_register_wdt(void);
|
||||||
|
|
||||||
#endif /* __RT305X_DEVICES_H */
|
#endif /* __RT305X_DEVICES_H */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user