|
|
|
@ -35,7 +35,7 @@ |
|
|
|
|
#include <asm/io.h> |
|
|
|
|
#include <asm/ifxmips/ifxmips.h> |
|
|
|
|
|
|
|
|
|
#define MAX_IFXMIPS_DEVS 5 |
|
|
|
|
#define MAX_IFXMIPS_DEVS 6 |
|
|
|
|
|
|
|
|
|
#define BOARD_DANUBE "Danube" |
|
|
|
|
#define BOARD_DANUBE_CHIPID 0x10129083 |
|
|
|
@ -96,6 +96,26 @@ static struct platform_device ifxmips_mtd[] = |
|
|
|
|
}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_GPIO_DEVICE |
|
|
|
|
static struct resource ifxmips_gpio_dev_resources[] = { |
|
|
|
|
{ |
|
|
|
|
.name = "gpio", |
|
|
|
|
.flags = 0, |
|
|
|
|
.start = (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 8) | (1 << 9) | (1 << 12), |
|
|
|
|
.end = (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 8) | (1 << 9) | (1 << 12), |
|
|
|
|
}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static struct platform_device ifxmips_gpio_dev[] = { |
|
|
|
|
{ |
|
|
|
|
.name = "GPIODEV", |
|
|
|
|
.id = -1, |
|
|
|
|
.num_resources = ARRAY_SIZE(ifxmips_gpio_dev_resources), |
|
|
|
|
.resource = ifxmips_gpio_dev_resources, |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
const char* |
|
|
|
|
get_system_type (void) |
|
|
|
|
{ |
|
|
|
@ -119,18 +139,18 @@ int __init ifxmips_init_devices(void) |
|
|
|
|
* Currently we support 3 chips |
|
|
|
|
* 1.) Danube |
|
|
|
|
* 2.) Twinpass (Danube without dsl phy) |
|
|
|
|
* 3.) KDbg74 (used for debuging) |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
int dev = 0; |
|
|
|
|
|
|
|
|
|
/* the following devices are generic for all targets */ |
|
|
|
|
|
|
|
|
|
ifxmips_devs[dev++] = ifxmips_led; |
|
|
|
|
ifxmips_devs[dev++] = ifxmips_gpio; |
|
|
|
|
ifxmips_devs[dev++] = ifxmips_mii; |
|
|
|
|
ifxmips_devs[dev++] = ifxmips_mtd; |
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_GPIO_DEVICE |
|
|
|
|
ifxmips_devs[dev++] = ifxmips_gpio_dev; |
|
|
|
|
#endif |
|
|
|
|
return platform_add_devices(ifxmips_devs, dev); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|