+
+static struct ifxmips_board boards[] =
+{
+ {
+ .name = "EASY50712",
+ .system_type = SYSTEM_DANUBE_CHIPID1,
+ .devs =
+ {
+ &ifxmips_led, &ifxmips_gpio, &ifxmips_mii,
+ &ifxmips_mtd, &ifxmips_wdt, &ifxmips_gpio_dev,
+ },
+ .reset_resource =
+ {
+ .name = "reset",
+ .start = 1,
+ .end = 15,
+ },
+ .gpiodev_resource =
+ {
+ .name = "gpio",
+ .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),
+ },
+ .num_devs = 6,
+ }, {
+ .name = "EASY4010",
+ .system_type = SYSTEM_TWINPASS_CHIPID,
+ .devs =
+ {
+ &ifxmips_led, &ifxmips_gpio, &ifxmips_mii,
+ &ifxmips_mtd, &ifxmips_wdt, &ifxmips_gpio_dev,
+ },
+ .reset_resource =
+ {
+ .name = "reset",
+ .start = 1,
+ .end = 15,
+ },
+ .gpiodev_resource =
+ {
+ .name = "gpio",
+ .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),
+ },
+ .num_devs = 6,
+ }, {
+ .name = "ARV4519",
+ .system_type = SYSTEM_DANUBE_CHIPID2,
+ .devs =
+ {
+ &ifxmips_led, &ifxmips_gpio, &ifxmips_mii,
+ &ifxmips_mtd, &ifxmips_wdt, &ifxmips_gpio_dev,
+ },
+ .reset_resource =
+ {
+ .name = "reset",
+ .start = 1,
+ .end = 12,
+ },
+ .gpiodev_resource =
+ {
+ .name = "gpio",
+ .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),
+ },
+ .pci_external_clock = 1,
+ .num_devs = 6,
+ },
+};
+
+struct ifxmips_board* ifxmips_find_board(void)
+{
+ int i;
+ if(!*board_name)
+ return 0;
+ for(i = 0; i < ARRAY_SIZE(boards); i++)
+ if((boards[i].system_type == chiprev) && (!strcmp(boards[i].name, board_name)))
+ return &boards[i];
+ return 0;
+}
+