summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch
diff options
context:
space:
mode:
authorJason M. Bills <jason.m.bills@linux.intel.com>2020-05-06 01:31:17 +0300
committerJason M. Bills <jason.m.bills@linux.intel.com>2020-05-14 21:54:34 +0300
commiteda2c7c523d858d25fe25052254a7f393767310b (patch)
tree7c14ec3de42b7fc6c86bc3b0f9ecb4b9f21a5d14 /meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch
parent794d26fa53ad7e8cb54a3a5773436b1d8e813f35 (diff)
downloadopenbmc-eda2c7c523d858d25fe25052254a7f393767310b.tar.xz
Update to internal 0.53
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch149
1 files changed, 0 insertions, 149 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch
deleted file mode 100644
index e376001b3..000000000
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-From 2db86017f1cd48da9f6c102665d5ae3d1efe48cc Mon Sep 17 00:00:00 2001
-From: Vernon Mauery <vernon.mauery@linux.intel.com>
-Date: Wed, 14 Nov 2018 12:16:53 -0800
-Subject: [PATCH] Add status and ID LED support
-
-Add status (amber and green) and ID (blue) LED support. In the
-bootloader phase, the LEDs should be blinking. When booting linux, they
-should turn to a fixed state.
-
-Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
-Signed-off-by: James Feist <james.feist@linux.intel.com>
-Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
-Change-Id: Ic9595621b21000ef465ff57ed2047855296e2714
----
- board/aspeed/ast-g5/ast-g5-intel.c | 113 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 113 insertions(+)
-
-diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index 6e45cb4..e749992 100644
---- a/board/aspeed/ast-g5/ast-g5-intel.c
-+++ b/board/aspeed/ast-g5/ast-g5-intel.c
-@@ -146,6 +146,112 @@ static void sgpio_init(void)
- writel(value, AST_GPIO_BASE + GPIO254);
- }
-
-+/* running the timer at 48 hertz will easily give a 24Hz blink */
-+#define TICK_HZ 48
-+#define BLINK_DELAY(HZ) ((int)((TICK_HZ / (HZ)) / 2) - 1)
-+typedef enum {
-+ /*
-+ * Identifies the control request for the ID LED.
-+ */
-+ EIDLED_Initialize = 0,
-+ EIDLED_Tick,
-+ EIDLED_Toggle,
-+ EIDLED_Off,
-+ EIDLED_On,
-+ EIDLED_Blink,
-+ EIDLED_Blink_24HZ = EIDLED_Blink + BLINK_DELAY(24),
-+ EIDLED_Blink_12HZ = EIDLED_Blink + BLINK_DELAY(12),
-+ EIDLED_Blink_6HZ = EIDLED_Blink + BLINK_DELAY(6),
-+ EIDLED_Blink_3HZ = EIDLED_Blink + BLINK_DELAY(3),
-+ EIDLED_Blink_1HZ = EIDLED_Blink + BLINK_DELAY(1),
-+ EIDLED_Blink_0_5HZ = EIDLED_Blink + BLINK_DELAY(0.5),
-+} EIDLEDControl;
-+
-+struct led_info {
-+ int gpio;
-+ EIDLEDControl mode;
-+ int count;
-+ int state;
-+};
-+
-+static struct led_info s_led_info[] = {
-+ /* BMC Executing bootloader (Default) :-
-+ * ChassisID: Blinking Blue 3Hz, StatusLED: Blinking Green 1Hz */
-+ [GPIO_ID_LED] = {GPIO_ID_LED, EIDLED_Blink_3HZ, 1, 0},
-+ [GPIO_GREEN_LED] = {GPIO_GREEN_LED, EIDLED_Blink_1HZ, 0, 0},
-+ [GPIO_AMBER_LED] = {GPIO_AMBER_LED, EIDLED_Off, 0, 0},
-+};
-+
-+extern void gpio_set_value(int n, int asserted);
-+void id_led_control(int id, int action)
-+{
-+ if (id >= ARRAY_SIZE(s_led_info)) {
-+ return;
-+ }
-+ /* don't bother with LEDs that are not initialized */
-+ if (EIDLED_Initialize == s_led_info[id].mode) {
-+ return;
-+ }
-+
-+ /* check for a blinker action */
-+ if (EIDLED_Tick == action) {
-+ if (s_led_info[id].mode < EIDLED_Blink) {
-+ return;
-+ }
-+ /* check countdown for blink */
-+ if (s_led_info[id].count == 0) {
-+ s_led_info[id].count =
-+ s_led_info[id].mode - EIDLED_Blink;
-+ s_led_info[id].state = !s_led_info[id].state;
-+ } else {
-+ s_led_info[id].count--;
-+ return;
-+ }
-+ } else if (EIDLED_Toggle == action) {
-+ s_led_info[id].state = !s_led_info[id].state;
-+ s_led_info[id].mode =
-+ s_led_info[id].state ? EIDLED_On : EIDLED_Off;
-+ } else if (action > EIDLED_Toggle) {
-+ s_led_info[id].mode = action;
-+ if (EIDLED_Off == action) {
-+ s_led_info[id].state = 0;
-+ } else if (EIDLED_On == action) {
-+ s_led_info[id].state = 1;
-+ } else if (action >= EIDLED_Blink) {
-+ s_led_info[id].count = action - EIDLED_Blink;
-+ /* wait for the next tick */
-+ return;
-+ }
-+ } else if (EIDLED_Initialize == action) {
-+ if (s_led_info[id].mode >= EIDLED_Blink) {
-+ s_led_info[id].count =
-+ s_led_info[id].mode - EIDLED_Blink;
-+ }
-+ }
-+ gpio_set_value(s_led_info[id].gpio, s_led_info[id].state);
-+}
-+
-+static void timer8_irq_handler(void *regs)
-+{
-+ int i;
-+
-+ for (i = 0; i < ARRAY_SIZE(s_led_info); i++) {
-+ id_led_control(i, EIDLED_Tick);
-+ }
-+}
-+
-+void timer8_init(void)
-+{
-+ int i;
-+
-+ for (i = 0; i < ARRAY_SIZE(s_led_info); i++) {
-+ id_led_control(i, EIDLED_Initialize);
-+ }
-+
-+ /* set up the timer to fire at TICK_HZ HZ */
-+ timer_enable(TIMER_8, TICK_HZ, timer8_irq_handler);
-+}
-+
- int intel_force_firmware_jumper_enabled(void)
- {
- return gpio_get_value(GPIO_FF_UPD_JUMPER);
-@@ -157,4 +263,11 @@ void ast_g5_intel(void)
- gpio_init(gpio_table, ARRAY_SIZE(gpio_table));
- espi_init();
- sgpio_init();
-+ timer8_init();
-+ if (intel_force_firmware_jumper_enabled()) {
-+ /* FFUJ mode:- ChassisID: Solid Blue, StatusLED: Solid Amber */
-+ id_led_control(GPIO_ID_LED, EIDLED_On);
-+ id_led_control(GPIO_GREEN_LED, EIDLED_Off);
-+ id_led_control(GPIO_AMBER_LED, EIDLED_On);
-+ }
- }
---
-2.7.4
-