static void __init rd88f5181l_ge_init(void) { /* * Setup basic Orion functions. Need to be called early. */ orion5x_init(); orion5x_mpp_conf(rd88f5181l_ge_mpp_modes); /* * Configure peripherals. */ orion5x_ehci0_init(); orion5x_eth_init(&rd88f5181l_ge_eth_data); orion5x_eth_switch_init(&rd88f5181l_ge_switch_plat_data, gpio_to_irq(8)); orion5x_i2c_init(); orion5x_uart0_init(); orion5x_setup_dev_boot_win(RD88F5181L_GE_NOR_BOOT_BASE, RD88F5181L_GE_NOR_BOOT_SIZE); platform_device_register(&rd88f5181l_ge_nor_boot_flash); i2c_register_board_info(0, &rd88f5181l_ge_i2c_rtc, 1); }
static void __init rd88f5181l_ge_init(void) { /* * Setup basic Orion functions. Need to be called early. */ orion5x_init(); orion5x_mpp_conf(rd88f5181l_ge_mpp_modes); /* * Configure peripherals. */ orion5x_ehci0_init(); orion5x_eth_init(&rd88f5181l_ge_eth_data); orion5x_eth_switch_init(&rd88f5181l_ge_switch_plat_data); orion5x_i2c_init(); orion5x_uart0_init(); mvebu_mbus_add_window_by_id(ORION_MBUS_DEVBUS_BOOT_TARGET, ORION_MBUS_DEVBUS_BOOT_ATTR, RD88F5181L_GE_NOR_BOOT_BASE, RD88F5181L_GE_NOR_BOOT_SIZE); platform_device_register(&rd88f5181l_ge_nor_boot_flash); i2c_register_board_info(0, &rd88f5181l_ge_i2c_rtc, 1); }
static void __init dt2_init(void) { /* * Setup basic Orion functions. Need to be called early. */ orion5x_init(); orion5x_mpp_conf(dt2_mpp_modes); /* * Configure peripherals. */ orion5x_uart0_init(); orion5x_ehci0_init(); orion5x_ehci1_init(); orion5x_i2c_init(); orion5x_sata_init(&dt2_sata_data); orion5x_xor_init(); printk(KERN_INFO "U-Boot parameters:\n"); printk(KERN_INFO "Sys Clk = %d, Tclk = %d, BoardID = 0x%02x\n", mvSysclk, mvTclk, gBoardId); printk(KERN_INFO "Serial: %s\n", dt2_eeprom.fc.dt2_serial_number); printk(KERN_INFO "Revision: %016x\n", dt2_eeprom.fc.dt2_revision); printk(KERN_INFO "DT2: Using MAC address %pM for port 0\n", dt2_eeprom.gw.mac_addr[0]); printk(KERN_INFO "DT2: Using MAC address %pM for port 1\n", dt2_eeprom.gw.mac_addr[1]); orion5x_eth_init(&dt2_eth_data); memcpy(dt2_eth_data.mac_addr, dt2_eeprom.gw.mac_addr[0], 6); orion5x_eth_switch_init(&dt2_switch_plat_data, NO_IRQ); i2c_register_board_info(0, &dt2_i2c_rtc, 1); mvebu_mbus_add_window("devbus-boot", DT2_NOR_BOOT_BASE, DT2_NOR_BOOT_SIZE); platform_device_register(&dt2_nor_flash); mvebu_mbus_add_window("devbus-cs0", DT2_LEDS_BASE, DT2_LEDS_SIZE); platform_device_register(&dt2_leds); if (request_irq(gpio_to_irq(DT2_PIN_GPIO_RESET), &dt2_reset_handler, IRQF_DISABLED | IRQF_TRIGGER_LOW, "DT2: Reset button", NULL) < 0) { printk("DT2: Reset Button IRQ %d not available\n", gpio_to_irq(DT2_PIN_GPIO_RESET)); } if (request_irq(gpio_to_irq(DT2_PIN_GPIO_POWER), &dt2_power_handler, IRQF_DISABLED | IRQF_TRIGGER_LOW, "DT2: Power button", NULL) < 0) { printk(KERN_DEBUG "DT2: Power Button IRQ %d not available\n", gpio_to_irq(DT2_PIN_GPIO_POWER)); } }
static void __init wrt350n_v2_init(void) { /* * Setup basic Orion functions. Need to be called early. */ orion5x_init(); orion5x_mpp_conf(wrt350n_v2_mpp_modes); /* * Configure peripherals. */ orion5x_ehci0_init(); orion5x_eth_init(&wrt350n_v2_eth_data); orion5x_eth_switch_init(&wrt350n_v2_switch_plat_data); orion5x_uart0_init(); mvebu_mbus_add_window_by_id(ORION_MBUS_DEVBUS_BOOT_TARGET, ORION_MBUS_DEVBUS_BOOT_ATTR, WRT350N_V2_NOR_BOOT_BASE, WRT350N_V2_NOR_BOOT_SIZE); platform_device_register(&wrt350n_v2_nor_flash); platform_device_register(&wrt350n_v2_leds); platform_device_register(&wrt350n_v2_button_device); }
static void __init rd88f6183ap_ge_init(void) { orion5x_init(); orion5x_ehci0_init(); orion5x_eth_init(&rd88f6183ap_ge_eth_data); orion5x_eth_switch_init(&rd88f6183ap_ge_switch_plat_data, gpio_to_irq(3)); spi_register_board_info(rd88f6183ap_ge_spi_slave_info, ARRAY_SIZE(rd88f6183ap_ge_spi_slave_info)); orion5x_spi_init(); orion5x_uart0_init(); }
static void __init rd88f5181l_fxo_init(void) { orion5x_init(); orion5x_mpp_conf(rd88f5181l_fxo_mpp_modes); orion5x_ehci0_init(); orion5x_eth_init(&rd88f5181l_fxo_eth_data); orion5x_eth_switch_init(&rd88f5181l_fxo_switch_plat_data, NO_IRQ); orion5x_uart0_init(); orion5x_setup_dev_boot_win(RD88F5181L_FXO_NOR_BOOT_BASE, RD88F5181L_FXO_NOR_BOOT_SIZE); platform_device_register(&rd88f5181l_fxo_nor_boot_flash); }
static void __init wrt350n_v2_init(void) { orion5x_init(); orion5x_mpp_conf(wrt350n_v2_mpp_modes); orion5x_ehci0_init(); orion5x_eth_init(&wrt350n_v2_eth_data); orion5x_eth_switch_init(&wrt350n_v2_switch_plat_data, NO_IRQ); orion5x_uart0_init(); orion5x_setup_dev_boot_win(WRT350N_V2_NOR_BOOT_BASE, WRT350N_V2_NOR_BOOT_SIZE); platform_device_register(&wrt350n_v2_nor_flash); }
static void __init rd88f6183ap_ge_init(void) { /* * Setup basic Orion functions. Need to be called early. */ orion5x_init(); /* * Configure peripherals. */ orion5x_ehci0_init(); orion5x_eth_init(&rd88f6183ap_ge_eth_data); orion5x_eth_switch_init(&rd88f6183ap_ge_switch_plat_data, gpio_to_irq(3)); spi_register_board_info(rd88f6183ap_ge_spi_slave_info, ARRAY_SIZE(rd88f6183ap_ge_spi_slave_info)); orion5x_spi_init(); orion5x_uart0_init(); }
static void __init rd88f5181l_ge_init(void) { orion5x_init(); orion5x_mpp_conf(rd88f5181l_ge_mpp_modes); orion5x_ehci0_init(); orion5x_eth_init(&rd88f5181l_ge_eth_data); orion5x_eth_switch_init(&rd88f5181l_ge_switch_plat_data, gpio_to_irq(8)); orion5x_i2c_init(); orion5x_uart0_init(); orion5x_setup_dev_boot_win(RD88F5181L_GE_NOR_BOOT_BASE, RD88F5181L_GE_NOR_BOOT_SIZE); platform_device_register(&rd88f5181l_ge_nor_boot_flash); i2c_register_board_info(0, &rd88f5181l_ge_i2c_rtc, 1); }
static void __init wnr854t_init(void) { /* * Setup basic Orion functions. Need to be called early. */ orion5x_init(); orion5x_mpp_conf(wnr854t_mpp_modes); /* * Configure peripherals. */ orion5x_eth_init(&wnr854t_eth_data); orion5x_eth_switch_init(&wnr854t_switch_plat_data, NO_IRQ); orion5x_uart0_init(); orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE, WNR854T_NOR_BOOT_SIZE); platform_device_register(&wnr854t_nor_flash); }
static void __init rd88f5181l_fxo_init(void) { /* * Setup basic Orion functions. Need to be called early. */ orion5x_init(); orion5x_mpp_conf(rd88f5181l_fxo_mpp_modes); /* * Configure peripherals. */ orion5x_ehci0_init(); orion5x_eth_init(&rd88f5181l_fxo_eth_data); orion5x_eth_switch_init(&rd88f5181l_fxo_switch_plat_data, NO_IRQ); orion5x_uart0_init(); orion5x_setup_dev_boot_win(RD88F5181L_FXO_NOR_BOOT_BASE, RD88F5181L_FXO_NOR_BOOT_SIZE); platform_device_register(&rd88f5181l_fxo_nor_boot_flash); }
static void __init wrt350n_v2_init(void) { /* * Setup basic Orion functions. Need to be called early. */ orion5x_init(); orion5x_mpp_conf(wrt350n_v2_mpp_modes); /* * Configure peripherals. */ orion5x_ehci0_init(); orion5x_eth_init(&wrt350n_v2_eth_data); orion5x_eth_switch_init(&wrt350n_v2_switch_data, NO_IRQ); orion5x_uart0_init(); orion5x_setup_dev_boot_win(WRT350N_V2_NOR_BOOT_BASE, WRT350N_V2_NOR_BOOT_SIZE); platform_device_register(&wrt350n_v2_nor_flash); }
static void __init wnr854t_init(void) { /* * Setup basic Orion functions. Need to be called early. */ orion5x_init(); orion5x_mpp_conf(wnr854t_mpp_modes); /* * Configure peripherals. */ orion5x_eth_init(&wnr854t_eth_data); orion5x_eth_switch_init(&wnr854t_switch_plat_data, NO_IRQ); orion5x_uart0_init(); mvebu_mbus_add_window_by_id(ORION_MBUS_DEVBUS_BOOT_TARGET, ORION_MBUS_DEVBUS_BOOT_ATTR, WNR854T_NOR_BOOT_BASE, WNR854T_NOR_BOOT_SIZE); platform_device_register(&wnr854t_nor_flash); }