Re: [U-Boot] [PATCH] BeagleBoard: Added LED driver

2011-04-20 Thread Wolfgang Denk
Dear Jason Kridner,

In message 1299013343-29963-1-git-send-email-jkrid...@beagleboard.org you 
wrote:
 Added LED driver using status_led.  USR0 is set to monitor the boot
 status.  USR1 is set to be the green LED.
 
 Included adding configuration and command to the default configuration.
 
 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
...
 +#ifdef STATUS_LED_GREEN
 +void green_LED_off (void)
...
 +void green_LED_on (void)
...

We doin't allow CamelCase identifiers.

 + if (!omap_request_gpio(BEAGLE_LED_USR0)) {
 + omap_set_gpio_direction(BEAGLE_LED_USR0, 0);
 + omap_set_gpio_dataout(BEAGLE_LED_USR0, state);

Should you not set dataout _before_ direction?  As is, you may drive
the wrong output value for a short time. 

 + if (!omap_request_gpio(BEAGLE_LED_USR1)) {
 + omap_set_gpio_direction(BEAGLE_LED_USR1, 0);
 + omap_set_gpio_dataout(BEAGLE_LED_USR1, state);

Ditto.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] BeagleBoard: Added LED driver

2011-04-18 Thread Paulraj, Sandeep


 
 Added LED driver using status_led.  USR0 is set to monitor the boot
 status.  USR1 is set to be the green LED.
 
 Included adding configuration and command to the default configuration.
 
 Signed-off-by: Jason Kridner jkrid...@beagleboard.org


Pushed to u-boot-ti
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] BeagleBoard: Added LED driver

2011-03-01 Thread Jason Kridner
Added LED driver using status_led.  USR0 is set to monitor the boot
status.  USR1 is set to be the green LED.

Included adding configuration and command to the default configuration.

Signed-off-by: Jason Kridner jkrid...@beagleboard.org
---
 board/ti/beagle/Makefile   |4 +-
 board/ti/beagle/beagle.c   |7 +++
 board/ti/beagle/led.c  |   91 
 include/configs/omap3_beagle.h |   13 ++
 4 files changed, 114 insertions(+), 1 deletions(-)
 create mode 100644 board/ti/beagle/led.c

diff --git a/board/ti/beagle/Makefile b/board/ti/beagle/Makefile
index 3b4aaac..d9f445f 100644
--- a/board/ti/beagle/Makefile
+++ b/board/ti/beagle/Makefile
@@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk
 
 LIB= $(obj)lib$(BOARD).o
 
-COBJS  := beagle.o
+COBJS-y:= $(BOARD).o
+COBJS-$(CONFIG_STATUS_LED) += led.o
 
+COBJS  := $(sort $(COBJS-y))
 SRCS   := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 93c452e..dd7b6b5 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -30,6 +30,9 @@
  * MA 02111-1307 USA
  */
 #include common.h
+#ifdef CONFIG_STATUS_LED
+#include status_led.h
+#endif
 #include twl4030.h
 #include asm/io.h
 #include asm/arch/mmc_host_def.h
@@ -78,6 +81,10 @@ int board_init(void)
/* boot param addr */
gd-bd-bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
 
+#if defined(CONFIG_STATUS_LED)  defined(STATUS_LED_BOOT)
+   status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
+#endif
+
return 0;
 }
 
diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
new file mode 100644
index 000..df26552
--- /dev/null
+++ b/board/ti/beagle/led.c
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2010 Texas Instruments, Inc.
+ * Jason Kridner jkrid...@beagleboard.org
+ *
+ * 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 pins for the LEDs */
+#define BEAGLE_LED_USR0149
+#define BEAGLE_LED_USR1150
+
+#ifdef STATUS_LED_GREEN
+void green_LED_off (void)
+{
+   __led_set (STATUS_LED_GREEN, 0);
+}
+
+void green_LED_on (void)
+{
+   __led_set (STATUS_LED_GREEN, 1);
+}
+#endif
+
+void __led_init (led_id_t mask, int state)
+{
+   __led_set (mask, state);
+}
+
+void __led_toggle (led_id_t mask)
+{
+#ifdef STATUS_LED_BIT
+   if (STATUS_LED_BIT  mask) {
+   if (STATUS_LED_ON == saved_state[0])
+   __led_set(STATUS_LED_BIT, 0);
+   else
+   __led_set(STATUS_LED_BIT, 1);
+   }
+#endif
+#ifdef STATUS_LED_BIT1
+   if (STATUS_LED_BIT1  mask) {
+   if (STATUS_LED_ON == saved_state[1])
+   __led_set(STATUS_LED_BIT1, 0);
+   else
+   __led_set(STATUS_LED_BIT1, 1);
+   }
+#endif
+}
+
+void __led_set (led_id_t mask, int state)
+{
+#ifdef STATUS_LED_BIT
+   if (STATUS_LED_BIT  mask) {
+   if (!omap_request_gpio(BEAGLE_LED_USR0)) {
+   omap_set_gpio_direction(BEAGLE_LED_USR0, 0);
+   omap_set_gpio_dataout(BEAGLE_LED_USR0, state);
+   }
+   saved_state[0] = state;
+   }
+#endif
+#ifdef STATUS_LED_BIT1
+   if (STATUS_LED_BIT1  mask) {
+   if (!omap_request_gpio(BEAGLE_LED_USR1)) {
+   omap_set_gpio_direction(BEAGLE_LED_USR1, 0);
+   omap_set_gpio_dataout(BEAGLE_LED_USR1, state);
+   }
+   saved_state[1] = state;
+   }
+#endif
+}
+
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index 56363f7..6527cd9 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -108,6 +108,18 @@
 #define CONFIG_OMAP_HSMMC  1
 #define CONFIG_DOS_PARTITION   1
 
+/* Status LED */
+#define CONFIG_STATUS_LED  1
+#define CONFIG_BOARD_SPECIFIC_LED  1
+#define STATUS_LED_BIT 0x01
+#define STATUS_LED_STATE   STATUS_LED_ON
+#define STATUS_LED_PERIOD 

Re: [U-Boot] [PATCH] BeagleBoard: Added LED driver

2011-03-01 Thread Thomas Chou
Hi jason,

On 03/02/2011 05:02 AM, Jason Kridner wrote:
 Added LED driver using status_led.  USR0 is set to monitor the boot
 status.  USR1 is set to be the green LED.

 Included adding configuration and command to the default configuration.

 Signed-off-by: Jason Kridnerjkrid...@beagleboard.org

Please consider generic gpio api and drivers/misc/gpio_led.c.

Regard,
Thomas
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] BeagleBoard: Added LED driver

2010-11-07 Thread Wolfgang Denk
Dear Jason Kridner,

In message aanlktim71jeaakjbhnhfv8fqdvcc5l=es1xfbwlbm...@mail.gmail.com you 
wrote:

  [sp] I see too many ifdef blocks in the code above. The also seems to be
  repetitive.
 
  Is user really expected to change the u-boot config for each LED  
  bit/color?

 This is the existing architecture in status_led.h.  I want to make
 sure this code compiles no matter which of the defines have been set.

  Can this be simplified by one function that takes an argument?

 Do you mean set vs. toggle?  I think that would be great too, but
 again following an existing definition.

Please don;t stick with bad examples just because they exist.

Please feel free to come up ith an improvement.

If you have time and resources, please feel free to clean up the
status_led code as well.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Don't panic.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] BeagleBoard: Added LED driver

2010-11-05 Thread Premi, Sanjeev
 -Original Message-
 From: u-boot-boun...@lists.denx.de 
 [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Jason Kridner
 Sent: Friday, November 05, 2010 11:23 AM
 To: u-boot@lists.denx.de; beaglebo...@googlegroups.com
 Subject: [U-Boot] [PATCH] BeagleBoard: Added LED driver
 
 Added LED driver using status_led.  USR0 is set to monitor the boot
 status.  USR1 is set to be the green LED.
 (cherry picked from commit 048b526fd7cc0c642f27c674b3e235321c880b66)
 
 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  board/ti/beagle/Makefile |4 ++-
  board/ti/beagle/beagle.c |7 
  board/ti/beagle/led.c|   91 
 ++
  3 files changed, 101 insertions(+), 1 deletions(-)
  create mode 100644 board/ti/beagle/led.c
 
 diff --git a/board/ti/beagle/Makefile b/board/ti/beagle/Makefile
 index f797112..4cc675c 100644
 --- a/board/ti/beagle/Makefile
 +++ b/board/ti/beagle/Makefile
 @@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk
  
  LIB  = $(obj)lib$(BOARD).a
  
 -COBJS:= beagle.o
 +COBJS-y  := $(BOARD).o
 +COBJS-$(CONFIG_STATUS_LED) += led.o
  
 +COBJS:= $(sort $(COBJS-y))
  SRCS := $(COBJS:.o=.c)
  OBJS := $(addprefix $(obj),$(COBJS))
  
 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index 93c452e..dd7b6b5 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -30,6 +30,9 @@
   * MA 02111-1307 USA
   */
  #include common.h
 +#ifdef CONFIG_STATUS_LED
 +#include status_led.h
 +#endif
  #include twl4030.h
  #include asm/io.h
  #include asm/arch/mmc_host_def.h
 @@ -78,6 +81,10 @@ int board_init(void)
   /* boot param addr */
   gd-bd-bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
  
 +#if defined(CONFIG_STATUS_LED)  defined(STATUS_LED_BOOT)
 + status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
 +#endif
 +
   return 0;
  }
  
 diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
 new file mode 100644
 index 000..df26552
 --- /dev/null
 +++ b/board/ti/beagle/led.c
 @@ -0,0 +1,91 @@
 +/*
 + * Copyright (c) 2010 Texas Instruments, Inc.
 + * Jason Kridner jkrid...@beagleboard.org
 + *
 + * 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 pins for the LEDs */
 +#define BEAGLE_LED_USR0  149
 +#define BEAGLE_LED_USR1  150
 +
 +#ifdef STATUS_LED_GREEN
 +void green_LED_off (void)
 +{
 + __led_set (STATUS_LED_GREEN, 0);
 +}
 +
 +void green_LED_on (void)
 +{
 + __led_set (STATUS_LED_GREEN, 1);
 +}
 +#endif
 +
 +void __led_init (led_id_t mask, int state)
 +{
 + __led_set (mask, state);
 +}
 +
 +void __led_toggle (led_id_t mask)
 +{
 +#ifdef STATUS_LED_BIT
 + if (STATUS_LED_BIT  mask) {
 + if (STATUS_LED_ON == saved_state[0])
 + __led_set(STATUS_LED_BIT, 0);
 + else
 + __led_set(STATUS_LED_BIT, 1);
 + }
 +#endif
 +#ifdef STATUS_LED_BIT1
 + if (STATUS_LED_BIT1  mask) {
 + if (STATUS_LED_ON == saved_state[1])
 + __led_set(STATUS_LED_BIT1, 0);
 + else
 + __led_set(STATUS_LED_BIT1, 1);
 + }
 +#endif
 +}
 +
 +void __led_set (led_id_t mask, int state)
 +{
 +#ifdef STATUS_LED_BIT
 + if (STATUS_LED_BIT  mask) {
 + if (!omap_request_gpio(BEAGLE_LED_USR0)) {
 + omap_set_gpio_direction(BEAGLE_LED_USR0, 0);
 + omap_set_gpio_dataout(BEAGLE_LED_USR0, state);
 + }
 + saved_state[0] = state;
 + }
 +#endif
 +#ifdef STATUS_LED_BIT1
 + if (STATUS_LED_BIT1  mask) {
 + if (!omap_request_gpio(BEAGLE_LED_USR1)) {
 + omap_set_gpio_direction(BEAGLE_LED_USR1, 0);
 + omap_set_gpio_dataout(BEAGLE_LED_USR1, state);
 + }
 + saved_state[1] = state;
 + }
 +#endif
 +}

[sp] I see too many ifdef blocks in the code above. The also seems to be
 repetitive.

 Is user really expected to change the u-boot config for each LED bit/color?
 Can this be simplified by one

Re: [U-Boot] [PATCH] BeagleBoard: Added LED driver

2010-11-05 Thread Jason Kridner
On Fri, Nov 5, 2010 at 8:02 AM, Premi, Sanjeev pr...@ti.com wrote:
 -Original Message-
 From: u-boot-boun...@lists.denx.de
 [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Jason Kridner
 Sent: Friday, November 05, 2010 11:23 AM
 To: u-boot@lists.denx.de; beaglebo...@googlegroups.com
 Subject: [U-Boot] [PATCH] BeagleBoard: Added LED driver

 Added LED driver using status_led.  USR0 is set to monitor the boot
 status.  USR1 is set to be the green LED.
 (cherry picked from commit 048b526fd7cc0c642f27c674b3e235321c880b66)

 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  board/ti/beagle/Makefile |    4 ++-
  board/ti/beagle/beagle.c |    7 
  board/ti/beagle/led.c    |   91
 ++
  3 files changed, 101 insertions(+), 1 deletions(-)
  create mode 100644 board/ti/beagle/led.c

 diff --git a/board/ti/beagle/Makefile b/board/ti/beagle/Makefile
 index f797112..4cc675c 100644
 --- a/board/ti/beagle/Makefile
 +++ b/board/ti/beagle/Makefile
 @@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk

  LIB  = $(obj)lib$(BOARD).a

 -COBJS        := beagle.o
 +COBJS-y      := $(BOARD).o
 +COBJS-$(CONFIG_STATUS_LED) += led.o

 +COBJS        := $(sort $(COBJS-y))
  SRCS := $(COBJS:.o=.c)
  OBJS := $(addprefix $(obj),$(COBJS))

 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index 93c452e..dd7b6b5 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -30,6 +30,9 @@
   * MA 02111-1307 USA
   */
  #include common.h
 +#ifdef CONFIG_STATUS_LED
 +#include status_led.h
 +#endif
  #include twl4030.h
  #include asm/io.h
  #include asm/arch/mmc_host_def.h
 @@ -78,6 +81,10 @@ int board_init(void)
       /* boot param addr */
       gd-bd-bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);

 +#if defined(CONFIG_STATUS_LED)  defined(STATUS_LED_BOOT)
 +     status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
 +#endif
 +
       return 0;
  }

 diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
 new file mode 100644
 index 000..df26552
 --- /dev/null
 +++ b/board/ti/beagle/led.c
 @@ -0,0 +1,91 @@
 +/*
 + * Copyright (c) 2010 Texas Instruments, Inc.
 + * Jason Kridner jkrid...@beagleboard.org
 + *
 + * 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 pins for the LEDs */
 +#define BEAGLE_LED_USR0      149
 +#define BEAGLE_LED_USR1      150
 +
 +#ifdef STATUS_LED_GREEN
 +void green_LED_off (void)
 +{
 +     __led_set (STATUS_LED_GREEN, 0);
 +}
 +
 +void green_LED_on (void)
 +{
 +     __led_set (STATUS_LED_GREEN, 1);
 +}
 +#endif
 +
 +void __led_init (led_id_t mask, int state)
 +{
 +     __led_set (mask, state);
 +}
 +
 +void __led_toggle (led_id_t mask)
 +{
 +#ifdef STATUS_LED_BIT
 +     if (STATUS_LED_BIT  mask) {
 +             if (STATUS_LED_ON == saved_state[0])
 +                     __led_set(STATUS_LED_BIT, 0);
 +             else
 +                     __led_set(STATUS_LED_BIT, 1);
 +     }
 +#endif
 +#ifdef STATUS_LED_BIT1
 +     if (STATUS_LED_BIT1  mask) {
 +             if (STATUS_LED_ON == saved_state[1])
 +                     __led_set(STATUS_LED_BIT1, 0);
 +             else
 +                     __led_set(STATUS_LED_BIT1, 1);
 +     }
 +#endif
 +}
 +
 +void __led_set (led_id_t mask, int state)
 +{
 +#ifdef STATUS_LED_BIT
 +     if (STATUS_LED_BIT  mask) {
 +             if (!omap_request_gpio(BEAGLE_LED_USR0)) {
 +                     omap_set_gpio_direction(BEAGLE_LED_USR0, 0);
 +                     omap_set_gpio_dataout(BEAGLE_LED_USR0, state);
 +             }
 +             saved_state[0] = state;
 +     }
 +#endif
 +#ifdef STATUS_LED_BIT1
 +     if (STATUS_LED_BIT1  mask) {
 +             if (!omap_request_gpio(BEAGLE_LED_USR1)) {
 +                     omap_set_gpio_direction(BEAGLE_LED_USR1, 0);
 +                     omap_set_gpio_dataout(BEAGLE_LED_USR1, state);
 +             }
 +             saved_state[1] = state;
 +     }
 +#endif
 +}

 [sp] I see too many ifdef blocks in the code above. The also seems to be
     repetitive.

     Is user really expected to change the u-boot config for each

[U-Boot] [PATCH] BeagleBoard: Added LED driver

2010-11-04 Thread Jason Kridner
Added LED driver using status_led.  USR0 is set to monitor the boot
status.  USR1 is set to be the green LED.
(cherry picked from commit 048b526fd7cc0c642f27c674b3e235321c880b66)

Signed-off-by: Jason Kridner jkrid...@beagleboard.org
---
 board/ti/beagle/Makefile |4 ++-
 board/ti/beagle/beagle.c |7 
 board/ti/beagle/led.c|   91 ++
 3 files changed, 101 insertions(+), 1 deletions(-)
 create mode 100644 board/ti/beagle/led.c

diff --git a/board/ti/beagle/Makefile b/board/ti/beagle/Makefile
index f797112..4cc675c 100644
--- a/board/ti/beagle/Makefile
+++ b/board/ti/beagle/Makefile
@@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk
 
 LIB= $(obj)lib$(BOARD).a
 
-COBJS  := beagle.o
+COBJS-y:= $(BOARD).o
+COBJS-$(CONFIG_STATUS_LED) += led.o
 
+COBJS  := $(sort $(COBJS-y))
 SRCS   := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 93c452e..dd7b6b5 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -30,6 +30,9 @@
  * MA 02111-1307 USA
  */
 #include common.h
+#ifdef CONFIG_STATUS_LED
+#include status_led.h
+#endif
 #include twl4030.h
 #include asm/io.h
 #include asm/arch/mmc_host_def.h
@@ -78,6 +81,10 @@ int board_init(void)
/* boot param addr */
gd-bd-bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
 
+#if defined(CONFIG_STATUS_LED)  defined(STATUS_LED_BOOT)
+   status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
+#endif
+
return 0;
 }
 
diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
new file mode 100644
index 000..df26552
--- /dev/null
+++ b/board/ti/beagle/led.c
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2010 Texas Instruments, Inc.
+ * Jason Kridner jkrid...@beagleboard.org
+ *
+ * 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 pins for the LEDs */
+#define BEAGLE_LED_USR0149
+#define BEAGLE_LED_USR1150
+
+#ifdef STATUS_LED_GREEN
+void green_LED_off (void)
+{
+   __led_set (STATUS_LED_GREEN, 0);
+}
+
+void green_LED_on (void)
+{
+   __led_set (STATUS_LED_GREEN, 1);
+}
+#endif
+
+void __led_init (led_id_t mask, int state)
+{
+   __led_set (mask, state);
+}
+
+void __led_toggle (led_id_t mask)
+{
+#ifdef STATUS_LED_BIT
+   if (STATUS_LED_BIT  mask) {
+   if (STATUS_LED_ON == saved_state[0])
+   __led_set(STATUS_LED_BIT, 0);
+   else
+   __led_set(STATUS_LED_BIT, 1);
+   }
+#endif
+#ifdef STATUS_LED_BIT1
+   if (STATUS_LED_BIT1  mask) {
+   if (STATUS_LED_ON == saved_state[1])
+   __led_set(STATUS_LED_BIT1, 0);
+   else
+   __led_set(STATUS_LED_BIT1, 1);
+   }
+#endif
+}
+
+void __led_set (led_id_t mask, int state)
+{
+#ifdef STATUS_LED_BIT
+   if (STATUS_LED_BIT  mask) {
+   if (!omap_request_gpio(BEAGLE_LED_USR0)) {
+   omap_set_gpio_direction(BEAGLE_LED_USR0, 0);
+   omap_set_gpio_dataout(BEAGLE_LED_USR0, state);
+   }
+   saved_state[0] = state;
+   }
+#endif
+#ifdef STATUS_LED_BIT1
+   if (STATUS_LED_BIT1  mask) {
+   if (!omap_request_gpio(BEAGLE_LED_USR1)) {
+   omap_set_gpio_direction(BEAGLE_LED_USR1, 0);
+   omap_set_gpio_dataout(BEAGLE_LED_USR1, state);
+   }
+   saved_state[1] = state;
+   }
+#endif
+}
+
-- 
1.5.6.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot