Path: blob/master/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
10817 views
/*1* arch/arm/mach-kirkwood/rd88f6192-nas-setup.c2*3* Marvell RD-88F6192-NAS Reference Board Setup4*5* This file is licensed under the terms of the GNU General Public6* License version 2. This program is licensed "as is" without any7* warranty of any kind, whether express or implied.8*/910#include <linux/kernel.h>11#include <linux/init.h>12#include <linux/platform_device.h>13#include <linux/ata_platform.h>14#include <linux/mv643xx_eth.h>15#include <linux/gpio.h>16#include <linux/spi/flash.h>17#include <linux/spi/spi.h>18#include <linux/spi/orion_spi.h>19#include <asm/mach-types.h>20#include <asm/mach/arch.h>21#include <mach/kirkwood.h>22#include "common.h"2324#define RD88F6192_GPIO_USB_VBUS 102526static struct mv643xx_eth_platform_data rd88f6192_ge00_data = {27.phy_addr = MV643XX_ETH_PHY_ADDR(8),28};2930static struct mv_sata_platform_data rd88f6192_sata_data = {31.n_ports = 2,32};3334static const struct flash_platform_data rd88F6192_spi_slave_data = {35.type = "m25p128",36};3738static struct spi_board_info __initdata rd88F6192_spi_slave_info[] = {39{40.modalias = "m25p80",41.platform_data = &rd88F6192_spi_slave_data,42.irq = -1,43.max_speed_hz = 20000000,44.bus_num = 0,45.chip_select = 0,46},47};4849static void __init rd88f6192_init(void)50{51/*52* Basic setup. Needs to be called early.53*/54kirkwood_init();5556orion_gpio_set_valid(RD88F6192_GPIO_USB_VBUS, 1);57if (gpio_request(RD88F6192_GPIO_USB_VBUS, "USB VBUS") != 0 ||58gpio_direction_output(RD88F6192_GPIO_USB_VBUS, 1) != 0)59pr_err("RD-88F6192-NAS: failed to setup USB VBUS GPIO\n");6061kirkwood_ehci_init();62kirkwood_ge00_init(&rd88f6192_ge00_data);63kirkwood_sata_init(&rd88f6192_sata_data);64spi_register_board_info(rd88F6192_spi_slave_info,65ARRAY_SIZE(rd88F6192_spi_slave_info));66kirkwood_spi_init();67kirkwood_uart0_init();68}6970static int __init rd88f6192_pci_init(void)71{72if (machine_is_rd88f6192_nas())73kirkwood_pcie_init(KW_PCIE0);7475return 0;76}77subsys_initcall(rd88f6192_pci_init);7879MACHINE_START(RD88F6192_NAS, "Marvell RD-88F6192-NAS Development Board")80/* Maintainer: Saeed Bishara <[email protected]> */81.boot_params = 0x00000100,82.init_machine = rd88f6192_init,83.map_io = kirkwood_map_io,84.init_early = kirkwood_init_early,85.init_irq = kirkwood_init_irq,86.timer = &kirkwood_timer,87MACHINE_END888990