-
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.
yaml --- r: 321266 b: refs/heads/master c: 4aff38a h: refs/heads/master v: v3
- Loading branch information
Michael Walle
authored and
Andrew Lunn
committed
Jul 27, 2012
1 parent
34c19d6
commit a50d79f
Showing
10 changed files
with
292 additions
and
1 deletion.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 5136b2aa622844fcff9fecf1f2c57670b890227f | ||
refs/heads/master: 4aff38a3db1f63494812834f1fbbdb1f00579c66 |
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,20 @@ | ||
/dts-v1/; | ||
|
||
/include/ "kirkwood-lsxl.dtsi" | ||
|
||
/ { | ||
model = "Buffalo Linkstation LS-CHLv2"; | ||
compatible = "buffalo,lschlv2", "buffalo,lsxl", "mrvl,kirkwood-88f6281", "mrvl,kirkwood"; | ||
|
||
memory { | ||
device_type = "memory"; | ||
reg = <0x00000000 0x4000000>; | ||
}; | ||
|
||
ocp@f1000000 { | ||
serial@12000 { | ||
clock-frequency = <166666667>; | ||
status = "okay"; | ||
}; | ||
}; | ||
}; |
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,20 @@ | ||
/dts-v1/; | ||
|
||
/include/ "kirkwood-lsxl.dtsi" | ||
|
||
/ { | ||
model = "Buffalo Linkstation LS-XHL"; | ||
compatible = "buffalo,lsxhl", "buffalo,lsxl", "mrvl,kirkwood-88f6281", "mrvl,kirkwood"; | ||
|
||
memory { | ||
device_type = "memory"; | ||
reg = <0x00000000 0x10000000>; | ||
}; | ||
|
||
ocp@f1000000 { | ||
serial@12000 { | ||
clock-frequency = <200000000>; | ||
status = "okay"; | ||
}; | ||
}; | ||
}; |
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,95 @@ | ||
/include/ "kirkwood.dtsi" | ||
|
||
/ { | ||
chosen { | ||
bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
}; | ||
|
||
ocp@f1000000 { | ||
sata@80000 { | ||
status = "okay"; | ||
nr-ports = <1>; | ||
}; | ||
|
||
spi@10600 { | ||
status = "okay"; | ||
|
||
m25p40@0 { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
compatible = "m25p40"; | ||
reg = <0>; | ||
spi-max-frequency = <25000000>; | ||
mode = <0>; | ||
|
||
partition@0 { | ||
reg = <0x0 0x60000>; | ||
label = "uboot"; | ||
read-only; | ||
}; | ||
|
||
partition@60000 { | ||
reg = <0x60000 0x10000>; | ||
label = "dtb"; | ||
read-only; | ||
}; | ||
|
||
partition@70000 { | ||
reg = <0x70000 0x10000>; | ||
label = "uboot_env"; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
gpio_keys { | ||
compatible = "gpio-keys"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
button@1 { | ||
label = "Function Button"; | ||
linux,code = <132>; | ||
gpios = <&gpio1 9 1>; | ||
}; | ||
button@2 { | ||
label = "Power-on Switch"; | ||
linux,code = <116>; | ||
gpios = <&gpio1 10 1>; | ||
}; | ||
button@3 { | ||
label = "Power-auto Switch"; | ||
linux,code = <142>; | ||
gpios = <&gpio1 11 1>; | ||
}; | ||
}; | ||
|
||
gpio_leds { | ||
compatible = "gpio-leds"; | ||
|
||
led@1 { | ||
label = "lschlv2:blue:func"; | ||
gpios = <&gpio1 4 1>; | ||
}; | ||
|
||
led@2 { | ||
label = "lschlv2:red:alarm"; | ||
gpios = <&gpio1 5 1>; | ||
}; | ||
|
||
led@3 { | ||
label = "lschlv2:amber:info"; | ||
gpios = <&gpio1 6 1>; | ||
}; | ||
|
||
led@4 { | ||
label = "lschlv2:blue:power"; | ||
gpios = <&gpio1 7 1>; | ||
linux,default-trigger = "default-on"; | ||
}; | ||
|
||
led@5 { | ||
label = "lschlv2:red:func"; | ||
gpios = <&gpio1 16 1>; | ||
}; | ||
}; | ||
}; |
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
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
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,135 @@ | ||
/* | ||
* Copyright 2012 (C), Michael Walle <michael@walle.cc> | ||
* | ||
* arch/arm/mach-kirkwood/board-lsxl.c | ||
* | ||
* Buffalo Linkstation LS-XHL and LS-CHLv2 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/spi/flash.h> | ||
#include <linux/spi/spi.h> | ||
#include <linux/mv643xx_eth.h> | ||
#include <linux/gpio.h> | ||
#include <linux/gpio-fan.h> | ||
#include <linux/input.h> | ||
#include <asm/mach-types.h> | ||
#include <asm/mach/arch.h> | ||
#include <mach/kirkwood.h> | ||
#include "common.h" | ||
#include "mpp.h" | ||
|
||
static struct mv643xx_eth_platform_data lsxl_ge00_data = { | ||
.phy_addr = MV643XX_ETH_PHY_ADDR(0), | ||
}; | ||
|
||
static struct mv643xx_eth_platform_data lsxl_ge01_data = { | ||
.phy_addr = MV643XX_ETH_PHY_ADDR(8), | ||
}; | ||
|
||
static unsigned int lsxl_mpp_config[] __initdata = { | ||
MPP10_GPO, /* HDD Power Enable */ | ||
MPP11_GPIO, /* USB Vbus Enable */ | ||
MPP18_GPO, /* FAN High Enable# */ | ||
MPP19_GPO, /* FAN Low Enable# */ | ||
MPP36_GPIO, /* Function Blue LED */ | ||
MPP37_GPIO, /* Alarm LED */ | ||
MPP38_GPIO, /* Info LED */ | ||
MPP39_GPIO, /* Power LED */ | ||
MPP40_GPIO, /* Fan Lock */ | ||
MPP41_GPIO, /* Function Button */ | ||
MPP42_GPIO, /* Power Switch */ | ||
MPP43_GPIO, /* Power Auto Switch */ | ||
MPP48_GPIO, /* Function Red LED */ | ||
0 | ||
}; | ||
|
||
#define LSXL_GPIO_FAN_HIGH 18 | ||
#define LSXL_GPIO_FAN_LOW 19 | ||
#define LSXL_GPIO_FAN_LOCK 40 | ||
|
||
static struct gpio_fan_alarm lsxl_alarm = { | ||
.gpio = LSXL_GPIO_FAN_LOCK, | ||
}; | ||
|
||
static struct gpio_fan_speed lsxl_speeds[] = { | ||
{ | ||
.rpm = 0, | ||
.ctrl_val = 3, | ||
}, { | ||
.rpm = 1500, | ||
.ctrl_val = 1, | ||
}, { | ||
.rpm = 3250, | ||
.ctrl_val = 2, | ||
}, { | ||
.rpm = 5000, | ||
.ctrl_val = 0, | ||
} | ||
}; | ||
|
||
static int lsxl_gpio_list[] = { | ||
LSXL_GPIO_FAN_HIGH, LSXL_GPIO_FAN_LOW, | ||
}; | ||
|
||
static struct gpio_fan_platform_data lsxl_fan_data = { | ||
.num_ctrl = ARRAY_SIZE(lsxl_gpio_list), | ||
.ctrl = lsxl_gpio_list, | ||
.alarm = &lsxl_alarm, | ||
.num_speed = ARRAY_SIZE(lsxl_speeds), | ||
.speed = lsxl_speeds, | ||
}; | ||
|
||
static struct platform_device lsxl_fan_device = { | ||
.name = "gpio-fan", | ||
.id = -1, | ||
.num_resources = 0, | ||
.dev = { | ||
.platform_data = &lsxl_fan_data, | ||
}, | ||
}; | ||
|
||
/* | ||
* On the LS-XHL/LS-CHLv2, the shutdown process is following: | ||
* - Userland monitors key events until the power switch goes to off position | ||
* - The board reboots | ||
* - U-boot starts and goes into an idle mode waiting for the user | ||
* to move the switch to ON position | ||
* | ||
*/ | ||
static void lsxl_power_off(void) | ||
{ | ||
kirkwood_restart('h', NULL); | ||
} | ||
|
||
#define LSXL_GPIO_HDD_POWER 10 | ||
#define LSXL_GPIO_USB_POWER 11 | ||
|
||
void __init lsxl_init(void) | ||
{ | ||
/* | ||
* Basic setup. Needs to be called early. | ||
*/ | ||
kirkwood_mpp_conf(lsxl_mpp_config); | ||
|
||
/* usb and sata power on */ | ||
gpio_set_value(LSXL_GPIO_USB_POWER, 1); | ||
gpio_set_value(LSXL_GPIO_HDD_POWER, 1); | ||
|
||
kirkwood_ehci_init(); | ||
kirkwood_ge00_init(&lsxl_ge00_data); | ||
kirkwood_ge01_init(&lsxl_ge01_data); | ||
platform_device_register(&lsxl_fan_device); | ||
|
||
/* register power-off method */ | ||
pm_power_off = lsxl_power_off; | ||
} |
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