X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/e388e46ebbf42cacf061b948c231006fbe4831f2..b1b7fcb8bd1fd7c4bfebbb94ed5087e1856e104e:/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c index 6a5cf392e..e9e98d745 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c @@ -16,6 +16,7 @@ #include #include #include +#include #include @@ -113,17 +114,19 @@ static struct resource rt288x_wifi_resources[] = { }, }; +static struct rt2x00_platform_data rt288x_wifi_data; static struct platform_device rt288x_wifi_device = { .name = "rt2800_wmac", .resource = rt288x_wifi_resources, .num_resources = ARRAY_SIZE(rt288x_wifi_resources), .dev = { - .platform_data = NULL, + .platform_data = &rt288x_wifi_data, } }; void __init rt288x_register_wifi(void) { + rt288x_wifi_data.eeprom_file_name = "RT288X.eeprom"; platform_device_register(&rt288x_wifi_device); } @@ -171,3 +174,30 @@ void __init rt288x_register_ethernet(void) platform_device_register(&rt288x_eth_device); } + +static struct resource rt288x_wdt_resources[] = { + { + .start = RT2880_TIMER_BASE, + .end = RT2880_TIMER_BASE + RT2880_TIMER_SIZE - 1, + .flags = IORESOURCE_MEM, + }, +}; + +static struct platform_device rt288x_wdt_device = { + .name = "ramips-wdt", + .id = -1, + .resource = rt288x_wdt_resources, + .num_resources = ARRAY_SIZE(rt288x_wdt_resources), +}; + +void __init rt288x_register_wdt(void) +{ + u32 t; + + /* enable WDT reset output on pin SRAM_CS_N */ + t = rt288x_sysc_rr(SYSC_REG_CLKCFG); + t |= CLKCFG_SRAM_CS_N_WDT; + rt288x_sysc_wr(t, SYSC_REG_CLKCFG); + + platform_device_register(&rt288x_wdt_device); +}