[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

SS4000E LEDS and Power/Reset Buttons



With Arnaud's F75111 patches http://git.rtp-net.org/?p=ss4000e.git;a=summary
in a 3.4.1 kernel, the LEDS can be turned on/off thus

>ls /sys/class/leds
>HD1:amber  HD2:amber  HD3:amber  HD4:amber  HD:amber
>HD1:green  HD2:green  HD3:green  HD4:green  status:green

#Turn LEDS on/off
#if on, HDx LED will blink by itself when there is disk activity.
echo 1 > /sys/class/leds/HD1:green/brightness #turn HD1 led on/green
echo 0 > /sys/class/leds/HD1:green/brightness #turn HD1 led off

echo 1 > /sys/class/leds/HD1:amber/brightness #turn HD1 led on/amber
echo 0 > /sys/class/leds/HD1:amber/brightness #turn HD1 led off

echo 1 > /sys/class/leds/status:green/brightness #turn status led on
echo 0 > /sys/class/leds/status:green/brightness #turn status led off

echo 1 > /sys/class/leds/HD:amber/brightness #RAID status amber
echo 0 > /sys/class/leds/HD:amber/brightness #RAID status red

#Status can be read with
cat /sys/class/leds/HD:amber/brightness #etc for others too

The supported LEDS are defined in the kernel tree at
arch\arm\mach-iop32x\em7210.c

....
static struct gpio_led f75111_leds[] = {
	{ .name = "HD1:green",		.gpio = F75111_GP30, .active_low =
1},
	{ .name = "HD2:green",		.gpio = F75111_GP31, .active_low =
1},
	{ .name = "HD3:green",		.gpio = F75111_GP32, .active_low =
1},
	{ .name = "HD4:green",		.gpio = F75111_GP33, .active_low =
1},
	{ .name = "HD1:amber",		.gpio = F75111_GP10, .active_low =
1},
	{ .name = "HD2:amber",		.gpio = F75111_GP14, .active_low =
1},
	{ .name = "HD3:amber",		.gpio = F75111_GP20, .active_low =
1},
	{ .name = "HD4:amber",		.gpio = F75111_GP24, .active_low =
1},
	{ .name = "status:green",	.gpio = F75111_GP11},
	{ .name = "HD:amber",		.gpio = F75111_GP12, .active_low =
1},
};
...

The power/reset buttons seem to be defined in the same file

/*
 * gpio driver is using irq but the iop80219 doesn't generate an irq...
 */
static struct gpio_keys_button em7210_buttons[] = {
	{
		.gpio		= 4,
		.code		= KEY_POWER,
		.desc		= "power off",
		.active_low	= 1,
	},
	{
		.gpio		= 5,
		.code		= BTN_1,
		.desc		= "reset",
	},
};

static struct gpio_keys_platform_data em7210_button_data = {
	.buttons	= em7210_buttons,
	.nbuttons	= ARRAY_SIZE(em7210_buttons),
};

static struct platform_device em7210_button_device = {
	.name		= "gpio-keys-polled",
	.id		= -1,
	.num_resources	= 0,
	.dev		= {
		.platform_data	= &em7210_button_data,
	}
};

Anyone know how to read the power and reset buttons?

Chris


Reply to: