/* * Copyright 2012 (C), Jason Cooper * * arch/arm/mach-kirkwood/board-usi_topkick.c * * USI Topkick Init for drivers not converted to flattened device tree yet. * * This file is licensed under the terms of the GNU General Public * License version 2. This program is licensed "as is" without any * warranty of any kind, whether express or implied. */ #include #include #include #include #include #include "common.h" #include "mpp.h" static struct mv643xx_eth_platform_data topkick_ge00_data = { .phy_addr = MV643XX_ETH_PHY_ADDR(0), }; static struct mvsdio_platform_data topkick_mvsdio_data = { /* unfortunately the CD signal has not been connected */ }; /* * GPIO LED layout * * /-SYS_LED(2) * | * | /-DISK_LED * | | * | | /-WLAN_LED(2) * | | | * [SW] [*] [*] [*] */ /* * Switch positions * * /-SW_LEFT * | * | /-SW_IDLE * | | * | | /-SW_RIGHT * | | | * PS [L] [I] [R] LEDS */ static unsigned int topkick_mpp_config[] __initdata = { MPP21_GPIO, /* DISK_LED (low active) - yellow */ MPP36_GPIO, /* SATA0 power enable (high active) */ MPP37_GPIO, /* SYS_LED2 (low active) - red */ MPP38_GPIO, /* SYS_LED (low active) - blue */ MPP39_GPIO, /* WLAN_LED (low active) - green */ MPP43_GPIO, /* SW_LEFT (low active) */ MPP44_GPIO, /* SW_RIGHT (low active) */ MPP45_GPIO, /* SW_IDLE (low active) */ MPP46_GPIO, /* SW_LEFT (low active) */ MPP48_GPIO, /* WLAN_LED2 (low active) - yellow */ 0 }; #define TOPKICK_SATA0_PWR_ENABLE 36 void __init usi_topkick_init(void) { /* * Basic setup. Needs to be called early. */ kirkwood_mpp_conf(topkick_mpp_config); /* SATA0 power enable */ gpio_set_value(TOPKICK_SATA0_PWR_ENABLE, 1); kirkwood_ehci_init(); kirkwood_ge00_init(&topkick_ge00_data); kirkwood_sdio_init(&topkick_mvsdio_data); }