static void __init qnap_ts41x_init(void) { u32 dev, rev; /* * Basic setup. Needs to be called early. */ kirkwood_init(); kirkwood_mpp_conf(qnap_ts41x_mpp_config); kirkwood_uart0_init(); kirkwood_uart1_init(); /* A PIC controller is connected here. */ qnap_tsx1x_register_flash(); kirkwood_i2c_init(); i2c_register_board_info(0, &qnap_ts41x_i2c_rtc, 1); kirkwood_pcie_id(&dev, &rev); if (dev == MV88F6282_DEV_ID) { qnap_ts41x_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); qnap_ts41x_ge01_data.phy_addr = MV643XX_ETH_PHY_ADDR(1); } kirkwood_ge00_init(&qnap_ts41x_ge00_data); kirkwood_ge01_init(&qnap_ts41x_ge01_data); kirkwood_sata_init(&qnap_ts41x_sata_data); kirkwood_ehci_init(); platform_device_register(&qnap_ts41x_button_device); pm_power_off = qnap_tsx1x_power_off; if (gpio_request(QNAP_TS41X_JUMPER_JP1, "JP1") == 0) gpio_export(QNAP_TS41X_JUMPER_JP1, 0); }
static void __init qnap_ts219_init(void) { u32 dev, rev; /* * Basic setup. Needs to be called early. */ kirkwood_init(); kirkwood_mpp_conf(qnap_ts219_mpp_config); kirkwood_uart0_init(); kirkwood_uart1_init(); /* A PIC controller is connected here. */ qnap_tsx1x_register_flash(); kirkwood_i2c_init(); i2c_register_board_info(0, &qnap_ts219_i2c_rtc, 1); kirkwood_pcie_id(&dev, &rev); if (dev == MV88F6282_DEV_ID) { qnap_ts219_buttons[0].gpio = 43; /* USB Copy button */ qnap_ts219_buttons[1].gpio = 37; /* Reset button */ qnap_ts219_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); } kirkwood_ge00_init(&qnap_ts219_ge00_data); kirkwood_sata_init(&qnap_ts219_sata_data); kirkwood_ehci_init(); platform_device_register(&qnap_ts219_button_device); pm_power_off = qnap_tsx1x_power_off; }
static void __init rd88f6281_init(void) { u32 dev, rev; /* * Basic setup. Needs to be called early. */ kirkwood_init(); kirkwood_mpp_conf(rd88f6281_mpp_config); kirkwood_nand_init(ARRAY_AND_SIZE(rd88f6281_nand_parts), 25); kirkwood_ehci_init(); kirkwood_ge00_init(&rd88f6281_ge00_data); kirkwood_pcie_id(&dev, &rev); if (rev == MV88F6281_REV_A0) { rd88f6281_switch_chip_data.sw_addr = 10; kirkwood_ge01_init(&rd88f6281_ge01_data); } else { rd88f6281_switch_chip_data.port_names[4] = "wan"; } kirkwood_ge00_switch_init(&rd88f6281_switch_plat_data, NO_IRQ); kirkwood_sata_init(&rd88f6281_sata_data); kirkwood_sdio_init(&rd88f6281_mvsdio_data); kirkwood_uart0_init(); kirkwood_uart1_init(); kirkwood_i2c_init(); i2c_register_board_info(0, &i2c_a2d, 1); kirkwood_i2s_init(); }
static void __init openrd_init(void) { /* * Basic setup. Needs to be called early. */ kirkwood_init(); kirkwood_mpp_conf(openrd_mpp_config); kirkwood_uart0_init(); kirkwood_nand_init(ARRAY_AND_SIZE(openrd_nand_parts), 25); kirkwood_ehci_init(); if (machine_is_openrd_ultimate()) { openrd_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); openrd_ge01_data.phy_addr = MV643XX_ETH_PHY_ADDR(1); } kirkwood_ge00_init(&openrd_ge00_data); if (!machine_is_openrd_base()) kirkwood_ge01_init(&openrd_ge01_data); kirkwood_sata_init(&openrd_sata_data); kirkwood_i2c_init(); if (machine_is_openrd_client() || machine_is_openrd_ultimate()) { platform_device_register(&openrd_client_audio_device); i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info)); kirkwood_audio_init(); } if (uart1 <= 0) { if (uart1 < 0) printk(KERN_ERR "Invalid kernel parameter to select " "UART1. Defaulting to SD. ERROR CODE: %d\n", uart1); /* Select SD * Pin # 34: 0 => UART1, 1 => SD */ if (gpio_request(34, "SD_UART1_SEL")) { printk(KERN_ERR "GPIO request failed for SD/UART1 " "selection, gpio: 34\n"); } else { gpio_direction_output(34, 1); gpio_free(34); kirkwood_sdio_init(&openrd_mvsdio_data); } } else { if (!uart1_mpp_config()) kirkwood_uart1_init(); } }
static void __init qnap_ts41x_init(void) { /* * Basic setup. Needs to be called early. */ kirkwood_init(); kirkwood_mpp_conf(qnap_ts41x_mpp_config); kirkwood_uart0_init(); kirkwood_uart1_init(); /* A PIC controller is connected here. */ qnap_tsx1x_register_flash(); kirkwood_i2c_init(); i2c_register_board_info(0, &qnap_ts41x_i2c_rtc, 1); kirkwood_ge00_init(&qnap_ts41x_ge00_data); kirkwood_ge01_init(&qnap_ts41x_ge01_data); kirkwood_sata_init(&qnap_ts41x_sata_data); kirkwood_ehci_init(); platform_device_register(&qnap_ts41x_button_device); pm_power_off = qnap_tsx1x_power_off; }
static void __init qnap_ts219_init(void) { /* * Basic setup. Needs to be called early. */ kirkwood_init(); kirkwood_mpp_conf(qnap_ts219_mpp_config); kirkwood_uart0_init(); kirkwood_uart1_init(); /* A PIC controller is connected here. */ spi_register_board_info(qnap_ts219_spi_slave_info, ARRAY_SIZE(qnap_ts219_spi_slave_info)); kirkwood_spi_init(); kirkwood_i2c_init(); i2c_register_board_info(0, &qnap_ts219_i2c_rtc, 1); kirkwood_ge00_init(&qnap_ts219_ge00_data); kirkwood_sata_init(&qnap_ts219_sata_data); kirkwood_ehci_init(); platform_device_register(&qnap_ts219_button_device); pm_power_off = qnap_ts219_power_off; }
static void __init openrd_client_init(void) { /* * Basic setup. Needs to be called early. */ kirkwood_init(); kirkwood_mpp_conf(openrd_client_mpp_config); kirkwood_uart0_init(); kirkwood_uart1_init(); kirkwood_nand_init(ARRAY_AND_SIZE(openrd_client_nand_parts), 25); kirkwood_ehci_init(); /* initialize gbe0 and gbe1 */ kirkwood_ge00_init(&openrd_client_ge00_data); kirkwood_ge01_init(&openrd_client_ge01_data); kirkwood_sata_init(&openrd_client_sata_data); kirkwood_sdio_init(&openrd_client_mvsdio_data); kirkwood_i2c_init(); }