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

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Fri Apr 1 09:24:05 CEST 2016


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/3943

-gerrit

commit e7a59d4671ca5d9b74069647cb7193e344d7f323
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 |  1 +
 src/mainboard/ti/beaglebone/leds.c       | 44 ++++++++++++++++++++++++++++++++
 src/mainboard/ti/beaglebone/leds.h       | 29 +++++++++++++++++++++
 3 files changed, 74 insertions(+)

diff --git a/src/mainboard/ti/beaglebone/Makefile.inc b/src/mainboard/ti/beaglebone/Makefile.inc
index f6e09a2..6c137d2 100644
--- a/src/mainboard/ti/beaglebone/Makefile.inc
+++ b/src/mainboard/ti/beaglebone/Makefile.inc
@@ -14,6 +14,7 @@
 ##
 
 bootblock-y += bootblock.c
+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..405661f
--- /dev/null
+++ b/src/mainboard/ti/beaglebone/leds.c
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+#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..a4a6001
--- /dev/null
+++ b/src/mainboard/ti/beaglebone/leds.h
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+
+#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