[coreboot-gerrit] Patch set updated for coreboot: 0b40228 beaglebone: Add code to set the value of the LEDs.

Gabe Black (gabeblack@chromium.org) gerrit at coreboot.org
Tue Sep 24 11:44:03 CEST 2013


Gabe Black (gabeblack at chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3943

-gerrit

commit 0b40228ad01b5c94f7e757dcc90a612c7cabb0a9
Author: Gabe Black <gabeblack at chromium.org>
Date:   Tue Sep 24 01:40:07 2013 -0700

    beaglebone: Add code to set the value of the LEDs.
    
    The LEDs on the beaglebone are connected to GPIOs called USR0-USR3. This
    change adds some functions to make it easy to set their value and clear what
    the calling code is trying to do.
    
    Change-Id: I0bb83bbc2e195ce1a0104afcd120089efaa22916
    Signed-off-by: Gabe Black <gabeblack at chromium.org>
---
 src/mainboard/ti/beaglebone/Makefile.inc |  2 ++
 src/mainboard/ti/beaglebone/leds.c       | 47 ++++++++++++++++++++++++++++++++
 src/mainboard/ti/beaglebone/leds.h       | 34 +++++++++++++++++++++++
 3 files changed, 83 insertions(+)

diff --git a/src/mainboard/ti/beaglebone/Makefile.inc b/src/mainboard/ti/beaglebone/Makefile.inc
index c76cb37..fc4051c 100644
--- a/src/mainboard/ti/beaglebone/Makefile.inc
+++ b/src/mainboard/ti/beaglebone/Makefile.inc
@@ -17,6 +17,8 @@
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 ##
 
+bootblock-y += leds.c
+
 romstage-y += romstage.c
 
 #ramstage-y += ramstage.c
diff --git a/src/mainboard/ti/beaglebone/leds.c b/src/mainboard/ti/beaglebone/leds.c
new file mode 100644
index 0000000..6c8705a
--- /dev/null
+++ b/src/mainboard/ti/beaglebone/leds.c
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * 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 <assert.h>
+#include <console/console.h>
+#include <cpu/ti/am335x/gpio.h>
+#include <stdlib.h>
+
+#include "leds.h"
+
+static const int led_gpios[BEAGLEBONE_LED_COUNT] = {
+	[BEAGLEBONE_LED_USR0] = AM335X_GPIO_BITS_PER_BANK + 21,
+	[BEAGLEBONE_LED_USR1] = AM335X_GPIO_BITS_PER_BANK + 22,
+	[BEAGLEBONE_LED_USR2] = AM335X_GPIO_BITS_PER_BANK + 23,
+	[BEAGLEBONE_LED_USR3] = AM335X_GPIO_BITS_PER_BANK + 24
+};
+
+void beaglebone_leds_init(void)
+{
+	int i;
+	for (i = 0; i < ARRAY_SIZE(led_gpios); i++)
+		gpio_direction_output(led_gpios[i], 0);
+}
+
+void beaglebone_leds_set(enum beaglebone_led led, int on)
+{
+	int res;
+	ASSERT(led < ARRAY_SIZE(led_gpios) && led_gpios[led]);
+	res = gpio_set_value(led_gpios[led], on);
+	ASSERT(res != -1);
+}
diff --git a/src/mainboard/ti/beaglebone/leds.h b/src/mainboard/ti/beaglebone/leds.h
new file mode 100644
index 0000000..1e4ba60
--- /dev/null
+++ b/src/mainboard/ti/beaglebone/leds.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * 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
+ */
+
+#ifndef __MAINBOARD_TI_BEAGLEBONE_LEDS_H__
+#define __MAINBOARD_TI_BEAGLEBONE_LEDS_H__
+
+enum beaglebone_led {
+	BEAGLEBONE_LED_USR0,
+	BEAGLEBONE_LED_USR1,
+	BEAGLEBONE_LED_USR2,
+	BEAGLEBONE_LED_USR3,
+	BEAGLEBONE_LED_COUNT
+};
+
+void beaglebone_leds_init(void);
+void beaglebone_leds_set(enum beaglebone_led led, int on);
+
+#endif	/* __MAINBOARD_TI_BEAGLEBONE_LEDS_H__ */



More information about the coreboot-gerrit mailing list