#include <linux/routerboot.h>
#include <linux/gpio.h>
+#include <asm/prom.h>
#include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h>
static struct ar8327_sgmii_cfg rb2011_ar8327_sgmii_cfg;
static struct ar8327_led_cfg rb2011_ar8327_led_cfg = {
- .led_ctrl0 = 0x0000c731,
+ .led_ctrl0 = 0xc731c731,
.led_ctrl1 = 0x00000000,
.led_ctrl2 = 0x00000000,
.led_ctrl3 = 0x0030c300,
.open_drain = false,
};
+static const struct ar8327_led_info rb2011_ar8327_leds[] __initconst = {
+ AR8327_LED_INFO(PHY0_0, HW, "rb:green:eth1"),
+ AR8327_LED_INFO(PHY1_0, HW, "rb:green:eth2"),
+ AR8327_LED_INFO(PHY2_0, HW, "rb:green:eth3"),
+ AR8327_LED_INFO(PHY3_0, HW, "rb:green:eth4"),
+ AR8327_LED_INFO(PHY4_0, HW, "rb:green:eth5"),
+ AR8327_LED_INFO(PHY0_1, SW, "rb:green:eth6"),
+ AR8327_LED_INFO(PHY1_1, SW, "rb:green:eth7"),
+ AR8327_LED_INFO(PHY2_1, SW, "rb:green:eth8"),
+ AR8327_LED_INFO(PHY3_1, SW, "rb:green:eth9"),
+ AR8327_LED_INFO(PHY4_1, SW, "rb:green:eth10"),
+ AR8327_LED_INFO(PHY4_2, SW, "rb:green:usr"),
+};
+
static struct ar8327_platform_data rb2011_ar8327_data = {
.pad0_cfg = &rb2011_ar8327_pad0_cfg,
.port0_cfg = {
.rxpause = 1,
},
.led_cfg = &rb2011_ar8327_led_cfg,
+ .num_leds = ARRAY_SIZE(rb2011_ar8327_leds),
+ .leds = rb2011_ar8327_leds,
};
static struct mdio_board_info rb2011_mdio0_info[] = {
static int __init rb2011_setup(u32 flags)
{
const struct rb_info *info;
+ char buf[64];
info = rb_init_info((void *) KSEG1ADDR(0x1f000000), 0x10000);
if (!info)
return -ENODEV;
+ scnprintf(buf, sizeof(buf), "Mikrotik RouterBOARD %s",
+ (info->board_name) ? info->board_name : "");
+ mips_set_machine_name(buf);
+
rb2011_init_partitions(info);
ath79_register_m25p80(&rb2011_spi_flash_data);
rb2011_setup(0);
}
-MIPS_MACHINE(ATH79_MACH_RB_2011L, "2011L", "MikroTik RouterBOARD 2011L",
- rb2011l_setup);
+MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011L, "2011L", rb2011l_setup);
static void __init rb2011us_setup(void)
{
rb2011_setup(RB2011_FLAG_SFP | RB2011_FLAG_USB);
}
-MIPS_MACHINE(ATH79_MACH_RB_2011US, "2011US", "MikroTik RouterBOARD 2011UAS",
- rb2011us_setup);
+MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011US, "2011US", rb2011us_setup);
+
+static void __init rb2011r5_setup(void)
+{
+ rb2011_setup(RB2011_FLAG_SFP | RB2011_FLAG_USB | RB2011_FLAG_WLAN);
+}
+
+MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011R5, "2011r5", rb2011r5_setup);
static void __init rb2011g_setup(void)
{
RB2011_FLAG_WLAN);
}
-MIPS_MACHINE(ATH79_MACH_RB_2011G, "2011G", "MikroTik RouterBOARD 2011UAS-2HnD",
- rb2011g_setup);
+MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011G, "2011G", rb2011g_setup);