From: Michael Walle <michael@walle.cc>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] lsxl: support power switch
Date: Tue, 31 Jul 2012 22:27:44 +0200 [thread overview]
Message-ID: <201207312227.44609.michael@walle.cc> (raw)
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A58216290@SC-VEXCH4.marvell.com>
Am Dienstag 31 Juli 2012, 13:12:19 schrieb Prafulla Wadaskar:
> > -----Original Message-----
> > From: Michael Walle [mailto:michael at walle.cc]
> > Sent: 31 July 2012 16:22
> > To: Prafulla Wadaskar
> > Cc: Michael Walle; u-boot at lists.denx.de
> > Subject: RE: [PATCH] lsxl: support power switch
> >
> > On Tue, July 31, 2012 07:59, Prafulla Wadaskar wrote:
> > >> -----Original Message-----
> > >> From: Michael Walle [mailto:michael at walle.cc]
> > >> Sent: 31 July 2012 02:17
> > >> To: u-boot at lists.denx.de
> > >> Cc: Michael Walle; Prafulla Wadaskar
> > >> Subject: [PATCH] lsxl: support power switch
> > >>
> > >> This patch restores the Linkstation's original behaviour when
> >
> > powering
> >
> > >> off.
> > >> Once the (soft) power switch is turned off, linux will reboot and
> >
> > the
> >
> > >> bootloader turns off HDD and USB power. Then it loops as long as
> >
> > the
> >
> > >> switch
> > >> is in the off position, before continuing the boot process again.
> > >>
> > >> Additionally, this patch fixes the board function set_led(LED_OFF).
> > >>
> > >> Signed-off-by: Michael Walle <michael@walle.cc>
> > >> Cc: Prafulla Wadaskar <prafulla@marvell.com>
> > >> ---
> > >>
> > >> board/buffalo/lsxl/lsxl.c | 22 +++++++++++++++++++++-
> > >> 1 files changed, 21 insertions(+), 1 deletions(-)
> > >>
> > >> diff --git a/board/buffalo/lsxl/lsxl.c b/board/buffalo/lsxl/lsxl.c
> > >> index fe15511..b3f31d6 100644
> > >> --- a/board/buffalo/lsxl/lsxl.c
> > >> +++ b/board/buffalo/lsxl/lsxl.c
> > >> @@ -158,7 +158,7 @@ static void set_led(int state)
> > >>
> > >> {
> > >>
> > >> switch (state) {
> > >>
> > >> case LED_OFF:
> > >> - __set_led(0, 0, 0, 0, 0, 0);
> > >> + __set_led(0, 0, 0, 1, 1, 1);
> > >>
> > >> break;
> > >>
> > >> case LED_ALARM_ON:
> > >> __set_led(0, 0, 0, 0, 1, 1);
> > >>
> > >> @@ -192,6 +192,25 @@ int board_init(void)
> > >>
> > >> }
> > >>
> > >> #ifdef CONFIG_MISC_INIT_R
> > >>
> > >> +static void check_power_switch(void)
> > >> +{
> > >> + if (kw_gpio_get_value(GPIO_POWER_SWITCH)) {
> > >> + /* turn off HDD and USB power */
> > >> + kw_gpio_set_value(GPIO_HDD_POWER, 0);
> > >> + kw_gpio_set_value(GPIO_USB_VBUS, 0);
> > >> + set_led(LED_OFF);
> > >> +
> > >> + /* loop until released */
> > >> + while (kw_gpio_get_value(GPIO_POWER_SWITCH))
> > >> + ;
> > >
> > > Please avoid infinite loop, may you introduce timeout?
> >
> > actually, thats the use case, to loop indefinitely ;) See the commit
> > message. The GPIO is a switch not a button. As long as it is switched
> > to
> > "Power Off" uboot should loop.
>
> Okay got it.
> Ack for this patch.
ok thanks, can you apply it to your repository?
--
michael
next prev parent reply other threads:[~2012-07-31 20:27 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-30 20:47 [U-Boot] [PATCH] lsxl: support power switch Michael Walle
2012-07-31 5:59 ` Prafulla Wadaskar
2012-07-31 10:52 ` Michael Walle
2012-07-31 11:12 ` Prafulla Wadaskar
2012-07-31 20:27 ` Michael Walle [this message]
2012-08-01 7:28 ` Prafulla Wadaskar
2012-09-03 9:02 ` Prafulla Wadaskar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201207312227.44609.michael@walle.cc \
--to=michael@walle.cc \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox