Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 340222
b: refs/heads/master
c: 07f645d
h: refs/heads/master
v: v3
  • Loading branch information
Thomas Petazzoni authored and Jason Cooper committed Nov 21, 2012
1 parent 01d1a8c commit e59c62f
Show file tree
Hide file tree
Showing 8 changed files with 73 additions and 92 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1bffb4a8729838f5ee27364803406416459c3252
refs/heads/master: 07f645df9ff2550749b806af626576d5ad418215
1 change: 1 addition & 0 deletions trunk/arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
omap5-evm.dtb \
am335x-evm.dtb \
am335x-bone.dtb
dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb
dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
dtb-$(CONFIG_ARCH_U8500) += snowball.dtb
dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
Expand Down
55 changes: 55 additions & 0 deletions trunk/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* Copyright (C) 2012 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
*
* 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.
*/

/dts-v1/;
/include/ "orion5x.dtsi"

/ {
model = "LaCie Ethernet Disk mini V2";
compatible = "lacie,ethernet-disk-mini-v2", "marvell-orion5x-88f5182", "marvell,orion5x";

memory {
reg = <0x00000000 0x4000000>; /* 64 MB */
};

chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
};

ocp@f1000000 {
serial@12000 {
clock-frequency = <166666667>;
status = "okay";
};

sata@80000 {
status = "okay";
nr-ports = <2>;
};
};

gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
button@1 {
label = "Power-on Switch";
linux,code = <116>; /* KEY_POWER */
gpios = <&gpio0 18 0>;
};
};

gpio_leds {
compatible = "gpio-leds";

led@1 {
label = "power:blue";
gpios = <&gpio0 16 1>;
};
};
};
7 changes: 4 additions & 3 deletions trunk/arch/arm/mach-orion5x/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -103,12 +103,13 @@ config MACH_MV2120
Say 'Y' here if you want your kernel to support the
HP Media Vault mv2120 or mv5100.

config MACH_EDMINI_V2
bool "LaCie Ethernet Disk mini V2"
config MACH_EDMINI_V2_DT
bool "LaCie Ethernet Disk mini V2 (Flattened Device Tree)"
select I2C_BOARDINFO
select ARCH_ORION5X_DT
help
Say 'Y' here if you want your kernel to support the
LaCie Ethernet Disk mini V2.
LaCie Ethernet Disk mini V2 (Flattened Device Tree).

config MACH_D2NET
bool "LaCie d2 Network"
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-orion5x/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ obj-$(CONFIG_MACH_TS409) += ts409-setup.o tsx09-common.o
obj-$(CONFIG_MACH_WRT350N_V2) += wrt350n-v2-setup.o
obj-$(CONFIG_MACH_TS78XX) += ts78xx-setup.o
obj-$(CONFIG_MACH_MV2120) += mv2120-setup.o
obj-$(CONFIG_MACH_EDMINI_V2) += edmini_v2-setup.o
obj-$(CONFIG_MACH_D2NET) += d2net-setup.o
obj-$(CONFIG_MACH_BIGDISK) += d2net-setup.o
obj-$(CONFIG_MACH_NET2BIG) += net2big-setup.o
Expand All @@ -24,3 +23,4 @@ obj-$(CONFIG_MACH_RD88F6183AP_GE) += rd88f6183ap-ge-setup.o
obj-$(CONFIG_MACH_LINKSTATION_LSCHL) += ls-chl-setup.o

obj-$(CONFIG_ARCH_ORION5X_DT) += board-dt.o
obj-$(CONFIG_MACH_EDMINI_V2_DT) += edmini_v2-setup.o
3 changes: 3 additions & 0 deletions trunk/arch/arm/mach-orion5x/board-dt.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ static void __init orion5x_dt_init(void)
disable_hlt();
}

if (of_machine_is_compatible("lacie,ethernet-disk-mini-v2"))
edmini_v2_init();

of_platform_populate(NULL, of_default_bus_match_table,
orion5x_auxdata_lookup, NULL);
}
Expand Down
7 changes: 7 additions & 0 deletions trunk/arch/arm/mach-orion5x/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@ int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys);
struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys);
int orion5x_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin);

/* board init functions for boards not fully converted to fdt */
#ifdef CONFIG_MACH_EDMINI_V2_DT
void edmini_v2_init(void);
#else
static inline void edmini_v2_init(void) {};
#endif

struct meminfo;
struct tag;
extern void __init tag_fixup_mem32(struct tag *, char **, struct meminfo *);
Expand Down
88 changes: 1 addition & 87 deletions trunk/arch/arm/mach-orion5x/edmini_v2-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,69 +114,6 @@ static struct i2c_board_info __initdata edmini_v2_i2c_rtc = {
.irq = 0,
};

/*****************************************************************************
* Sata
****************************************************************************/

static struct mv_sata_platform_data edmini_v2_sata_data = {
.n_ports = 2,
};

/*****************************************************************************
* GPIO LED (simple - doesn't use hardware blinking support)
****************************************************************************/

#define EDMINI_V2_GPIO_LED_POWER 16

static struct gpio_led edmini_v2_leds[] = {
{
.name = "power:blue",
.gpio = EDMINI_V2_GPIO_LED_POWER,
.active_low = 1,
},
};

static struct gpio_led_platform_data edmini_v2_led_data = {
.num_leds = ARRAY_SIZE(edmini_v2_leds),
.leds = edmini_v2_leds,
};

static struct platform_device edmini_v2_gpio_leds = {
.name = "leds-gpio",
.id = -1,
.dev = {
.platform_data = &edmini_v2_led_data,
},
};

/****************************************************************************
* GPIO key
****************************************************************************/

#define EDMINI_V2_GPIO_KEY_POWER 18

static struct gpio_keys_button edmini_v2_buttons[] = {
{
.code = KEY_POWER,
.gpio = EDMINI_V2_GPIO_KEY_POWER,
.desc = "Power Button",
.active_low = 0,
},
};

static struct gpio_keys_platform_data edmini_v2_button_data = {
.buttons = edmini_v2_buttons,
.nbuttons = ARRAY_SIZE(edmini_v2_buttons),
};

static struct platform_device edmini_v2_gpio_buttons = {
.name = "gpio-keys",
.id = -1,
.dev = {
.platform_data = &edmini_v2_button_data,
},
};

/*****************************************************************************
* General Setup
****************************************************************************/
Expand Down Expand Up @@ -207,29 +144,19 @@ static unsigned int edminiv2_mpp_modes[] __initdata = {
0,
};

static void __init edmini_v2_init(void)
void __init edmini_v2_init(void)
{
/*
* Setup basic Orion functions. Need to be called early.
*/
orion5x_init();

orion5x_mpp_conf(edminiv2_mpp_modes);

/*
* Configure peripherals.
*/
orion5x_ehci0_init();
orion5x_eth_init(&edmini_v2_eth_data);
orion5x_i2c_init();
orion5x_sata_init(&edmini_v2_sata_data);
orion5x_uart0_init();

orion5x_setup_dev_boot_win(EDMINI_V2_NOR_BOOT_BASE,
EDMINI_V2_NOR_BOOT_SIZE);
platform_device_register(&edmini_v2_nor_flash);
platform_device_register(&edmini_v2_gpio_leds);
platform_device_register(&edmini_v2_gpio_buttons);

pr_notice("edmini_v2: USB device port, flash write and power-off "
"are not yet supported.\n");
Expand All @@ -247,16 +174,3 @@ static void __init edmini_v2_init(void)

i2c_register_board_info(0, &edmini_v2_i2c_rtc, 1);
}

/* Warning: LaCie use a wrong mach-type (0x20e=526) in their bootloader. */
MACHINE_START(EDMINI_V2, "LaCie Ethernet Disk mini V2")
/* Maintainer: Christopher Moore <moore@free.fr> */
.atag_offset = 0x100,
.init_machine = edmini_v2_init,
.map_io = orion5x_map_io,
.init_early = orion5x_init_early,
.init_irq = orion5x_init_irq,
.timer = &orion5x_timer,
.fixup = tag_fixup_mem32,
.restart = orion5x_restart,
MACHINE_END

0 comments on commit e59c62f

Please sign in to comment.