All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 5/5] ZOOM2 Add led support.
Date: Wed, 29 Apr 2009 22:56:42 +0200	[thread overview]
Message-ID: <20090429205642.GD522@game.jcrosoft.org> (raw)
In-Reply-To: <1240933314-12769-5-git-send-email-Tom.Rix@windriver.com>

On 10:41 Tue 28 Apr     , Tom Rix wrote:
> This patch controls the large LED on the top left of the zoom2.
> 
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
>  board/omap3/zoom2/Makefile    |    8 ++-
>  board/omap3/zoom2/led.c       |  125 +++++++++++++++++++++++++++++++++++++++++
>  board/omap3/zoom2/zoom2.c     |    4 +-
>  include/configs/omap3_zoom2.h |   16 +++++
>  4 files changed, 149 insertions(+), 4 deletions(-)
>  create mode 100644 board/omap3/zoom2/led.c
> 
> diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
> index d27990c..4a716da 100644
> --- a/board/omap3/zoom2/Makefile
> +++ b/board/omap3/zoom2/Makefile
> @@ -25,10 +25,12 @@ include $(TOPDIR)/config.mk
>  
>  LIB	= $(obj)lib$(BOARD).a
>  
> -COBJS	:= zoom2.o \
> -	debug_board.o \
> -	zoom2_serial.o
> +COBJS-y := $(BOARD).o
> +COBJS-y += debug_board.o
> +COBJS-y += zoom2_serial.o
> +COBJS-${CONFIG_STATUS_LED}   += led.o
$() please
>  
> +COBJS	:= $(sort $(COBJS-y))
>  SRCS	:= $(COBJS:.o=.c)
>  OBJS	:= $(addprefix $(obj),$(COBJS))
>  
> diff --git a/board/omap3/zoom2/led.c b/board/omap3/zoom2/led.c
> new file mode 100644
> index 0000000..6f25eb7
> --- /dev/null
> +++ b/board/omap3/zoom2/led.c
> @@ -0,0 +1,125 @@
> +/*
> + * Copyright (c) 2009 Wind River Systems, Inc.
> + * Tom Rix <Tom.Rix@windriver.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +#include <common.h>
> +#include <status_led.h>
> +#include <asm/arch/cpu.h>
> +#include <asm/io.h>
> +#include <asm/arch/sys_proto.h>
> +#include <asm/arch/gpio.h>
> +
> +static unsigned int saved_state[2] = {STATUS_LED_OFF, STATUS_LED_OFF};
> +
> +/*
> + * GPIO LEDs
> + * 173 red
> + * 154 blue
> + * 61  blue2
> + */
> +void red_LED_off (void)
> +{
> +	/* red */
> +	if (!omap_request_gpio(173)) {
> +		omap_set_gpio_direction(173, 0);
> +		omap_set_gpio_dataout(173, 0);
> +	}
it will be better to do this at the init of the led

> +	saved_state[STATUS_LED_RED] = STATUS_LED_OFF;
> +}
> +
> +void blue_LED_off (void)
> +{
> +	/* blue */
> +	if (!omap_request_gpio(154)) {
> +		omap_set_gpio_direction(154, 0);
> +		omap_set_gpio_dataout(154, 0);
> +	}
> +
> +	/* blue 2 */
> +	if (!omap_request_gpio(61)) {
> +		omap_set_gpio_direction(61, 0);
> +		omap_set_gpio_dataout(64, 0);
> +	}
> +	saved_state[STATUS_LED_BLUE] = STATUS_LED_OFF;
> +}
> +
> +void red_LED_on (void)
> +{
> +	blue_LED_off ();
> +
> +	/* red */
> +	if (!omap_request_gpio(173)) {
> +		omap_set_gpio_direction(173, 0);
> +		omap_set_gpio_dataout(173, 1);
> +	}
> +	saved_state[STATUS_LED_RED] = STATUS_LED_ON;
> +}
> +
> +void blue_LED_on (void)
> +{
> +	red_LED_off ();
> +
> +	/* blue */
> +	if (!omap_request_gpio(154)) {
> +		omap_set_gpio_direction(154, 0);
> +		omap_set_gpio_dataout(154, 1);
> +	}
> +
> +	/* blue 2 */
> +	if (!omap_request_gpio(61)) {
> +		omap_set_gpio_direction(61, 0);
> +		omap_set_gpio_dataout(64, 1);
> +	}
> +
> +	saved_state[STATUS_LED_BLUE] = STATUS_LED_ON;
> +}
> +
> +void __led_init (led_id_t mask, int state)
> +{
> +	__led_set (mask, state);
> +}
> +
> +void __led_toggle (led_id_t mask)
> +{
> +	if (STATUS_LED_BLUE == mask) {
> +		if (STATUS_LED_ON == saved_state[STATUS_LED_BLUE])
> +			blue_LED_off ();
> +		else
> +			blue_LED_on ();
> +	} else if (STATUS_LED_RED == mask) {
> +		if (STATUS_LED_ON == saved_state[STATUS_LED_RED])
> +			red_LED_off ();
> +		else
> +			red_LED_on ();
> +	}
> +}
> +
> +void __led_set (led_id_t mask, int state)
> +{
> +	if (STATUS_LED_BLUE == mask) {
> +		if (STATUS_LED_ON == state)
> +			blue_LED_on ();
> +		else
> +			blue_LED_off ();
> +	} else if (STATUS_LED_RED == mask) {
> +		if (STATUS_LED_ON == state)
> +			red_LED_on ();
> +		else
> +			red_LED_off ();
> +	}
> +}
> diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
> index a2a5b5a..f58c8e6 100644
> --- a/board/omap3/zoom2/zoom2.c
> +++ b/board/omap3/zoom2/zoom2.c
> @@ -29,6 +29,9 @@
>   * MA 02111-1307 USA
>   */
>  #include <common.h>
> +#ifdef CONFIG_STATUS_LED
> +#include <status_led.h>
> +#endif
>  #include <asm/io.h>
>  #include <asm/arch/mem.h>
>  #include <asm/arch/mux.h>
> @@ -78,7 +81,6 @@ int board_init (void)
>  #if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
>  	status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
>  #endif
> -
please do not do clean up at the same time

otherwise fine

Best Regards,
J.

  reply	other threads:[~2009-04-29 20:56 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-28 15:41 [U-Boot] [PATCH 1/5] ZOOM2 Add initial support for Zoom2 Tom Rix
2009-04-28 15:41 ` [U-Boot] [PATCH 2/5] OMAP3 Port kernel omap gpio interface Tom Rix
2009-04-28 15:41   ` [U-Boot] [PATCH 3/5] ZOOM2 Add support for debug board detection Tom Rix
2009-04-28 15:41     ` [U-Boot] [PATCH 4/5] ZOOM2 Add serial support Tom Rix
2009-04-28 15:41       ` [U-Boot] [PATCH 5/5] ZOOM2 Add led support Tom Rix
2009-04-29 20:56         ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2009-04-30  3:41           ` Tom
2009-04-29 21:08       ` [U-Boot] [PATCH 4/5] ZOOM2 Add serial support Jean-Christophe PLAGNIOL-VILLARD
2009-04-29 21:10     ` [U-Boot] [PATCH 3/5] ZOOM2 Add support for debug board detection Jean-Christophe PLAGNIOL-VILLARD
2009-04-29 21:11   ` [U-Boot] [PATCH 2/5] OMAP3 Port kernel omap gpio interface Jean-Christophe PLAGNIOL-VILLARD
2009-04-29 21:15 ` [U-Boot] [PATCH 1/5] ZOOM2 Add initial support for Zoom2 Jean-Christophe PLAGNIOL-VILLARD

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=20090429205642.GD522@game.jcrosoft.org \
    --to=plagnioj@jcrosoft.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.