-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: kirkwood: fdt: facilitate new boards during fdt migration
Move all dreamplug-specific code out of board-dt.c and into board-dreamplug.c. This way new boards that are added during the conversion to fdt don't clutter up board-dt.c. Signed-off-by: Jason Cooper <jason@lakedaemon.net>
- Loading branch information
Jason Cooper
committed
Mar 16, 2012
1 parent
2b45e05
commit 6fa6b87
Showing
4 changed files
with
162 additions
and
132 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
/* | ||
* Copyright 2012 (C), Jason Cooper <jason@lakedaemon.net> | ||
* | ||
* arch/arm/mach-kirkwood/board-dreamplug.c | ||
* | ||
* Marvell DreamPlug Reference Board 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 <linux/kernel.h> | ||
#include <linux/init.h> | ||
#include <linux/platform_device.h> | ||
#include <linux/mtd/partitions.h> | ||
#include <linux/ata_platform.h> | ||
#include <linux/mv643xx_eth.h> | ||
#include <linux/of.h> | ||
#include <linux/of_address.h> | ||
#include <linux/of_fdt.h> | ||
#include <linux/of_irq.h> | ||
#include <linux/of_platform.h> | ||
#include <linux/gpio.h> | ||
#include <linux/leds.h> | ||
#include <linux/mtd/physmap.h> | ||
#include <linux/spi/flash.h> | ||
#include <linux/spi/spi.h> | ||
#include <linux/spi/orion_spi.h> | ||
#include <asm/mach-types.h> | ||
#include <asm/mach/arch.h> | ||
#include <asm/mach/map.h> | ||
#include <mach/kirkwood.h> | ||
#include <mach/bridge-regs.h> | ||
#include <plat/mvsdio.h> | ||
#include "common.h" | ||
#include "mpp.h" | ||
|
||
struct mtd_partition dreamplug_partitions[] = { | ||
{ | ||
.name = "u-boot", | ||
.size = SZ_512K, | ||
.offset = 0, | ||
}, | ||
{ | ||
.name = "u-boot env", | ||
.size = SZ_64K, | ||
.offset = SZ_512K + SZ_512K, | ||
}, | ||
{ | ||
.name = "dtb", | ||
.size = SZ_64K, | ||
.offset = SZ_512K + SZ_512K + SZ_512K, | ||
}, | ||
}; | ||
|
||
static const struct flash_platform_data dreamplug_spi_slave_data = { | ||
.type = "mx25l1606e", | ||
.name = "spi_flash", | ||
.parts = dreamplug_partitions, | ||
.nr_parts = ARRAY_SIZE(dreamplug_partitions), | ||
}; | ||
|
||
static struct spi_board_info __initdata dreamplug_spi_slave_info[] = { | ||
{ | ||
.modalias = "m25p80", | ||
.platform_data = &dreamplug_spi_slave_data, | ||
.irq = -1, | ||
.max_speed_hz = 50000000, | ||
.bus_num = 0, | ||
.chip_select = 0, | ||
}, | ||
}; | ||
|
||
static struct mv643xx_eth_platform_data dreamplug_ge00_data = { | ||
.phy_addr = MV643XX_ETH_PHY_ADDR(0), | ||
}; | ||
|
||
static struct mv643xx_eth_platform_data dreamplug_ge01_data = { | ||
.phy_addr = MV643XX_ETH_PHY_ADDR(1), | ||
}; | ||
|
||
static struct mv_sata_platform_data dreamplug_sata_data = { | ||
.n_ports = 1, | ||
}; | ||
|
||
static struct mvsdio_platform_data dreamplug_mvsdio_data = { | ||
/* unfortunately the CD signal has not been connected */ | ||
}; | ||
|
||
static struct gpio_led dreamplug_led_pins[] = { | ||
{ | ||
.name = "dreamplug:blue:bluetooth", | ||
.gpio = 47, | ||
.active_low = 1, | ||
}, | ||
{ | ||
.name = "dreamplug:green:wifi", | ||
.gpio = 48, | ||
.active_low = 1, | ||
}, | ||
{ | ||
.name = "dreamplug:green:wifi_ap", | ||
.gpio = 49, | ||
.active_low = 1, | ||
}, | ||
}; | ||
|
||
static struct gpio_led_platform_data dreamplug_led_data = { | ||
.leds = dreamplug_led_pins, | ||
.num_leds = ARRAY_SIZE(dreamplug_led_pins), | ||
}; | ||
|
||
static struct platform_device dreamplug_leds = { | ||
.name = "leds-gpio", | ||
.id = -1, | ||
.dev = { | ||
.platform_data = &dreamplug_led_data, | ||
} | ||
}; | ||
|
||
static unsigned int dreamplug_mpp_config[] __initdata = { | ||
MPP0_SPI_SCn, | ||
MPP1_SPI_MOSI, | ||
MPP2_SPI_SCK, | ||
MPP3_SPI_MISO, | ||
MPP47_GPIO, /* Bluetooth LED */ | ||
MPP48_GPIO, /* Wifi LED */ | ||
MPP49_GPIO, /* Wifi AP LED */ | ||
0 | ||
}; | ||
|
||
void __init dreamplug_init(void) | ||
{ | ||
/* | ||
* Basic setup. Needs to be called early. | ||
*/ | ||
kirkwood_mpp_conf(dreamplug_mpp_config); | ||
|
||
spi_register_board_info(dreamplug_spi_slave_info, | ||
ARRAY_SIZE(dreamplug_spi_slave_info)); | ||
kirkwood_spi_init(); | ||
|
||
kirkwood_ehci_init(); | ||
kirkwood_ge00_init(&dreamplug_ge00_data); | ||
kirkwood_ge01_init(&dreamplug_ge01_data); | ||
kirkwood_sata_init(&dreamplug_sata_data); | ||
kirkwood_sdio_init(&dreamplug_mvsdio_data); | ||
|
||
platform_device_register(&dreamplug_leds); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters