aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/apple/macbook21/mainboard.c
diff options
context:
space:
mode:
authorMono <mono@posteo.de>2015-06-07 13:21:59 +0200
committerStefan Reinauer <stefan.reinauer@coreboot.org>2015-06-07 19:48:14 +0200
commit62805e60c093eab78edfe2a544e1580691b9887c (patch)
tree37e0d4de27c4c7ef6f6f3250839f3d670e051800 /src/mainboard/apple/macbook21/mainboard.c
parented271d3ca382d6eb32478c8ddf4d4edbb06052cf (diff)
macbook21: switch off led before jumping to payload
Mimic vendor BIOS in switching off the led once coreboot has booted successfully. Currently the led behavior is inconsistent. The led turns on during poweron and stays on forever. When entering S3 and during S3 it blinks and turns off after wake from S3. The behavior associated with S3 is the same under vendor BIOS and under coreboot. Switching off the led before jumping to the payload makes the led behavior consistent within coreboot before S3 and after wake from S3 and it makes the led behavior consistent to vendor BIOS. Change-Id: I0dec10b842b83dfc8054cd56d2750b724c4e8576 Signed-off-by: Axel Holewa <mono-for-coreboot@donderklumpen.de> Reviewed-on: http://review.coreboot.org/10454 Tested-by: build bot (Jenkins) Reviewed-by: Nicolas Reinecke <nr@das-labor.org>
Diffstat (limited to 'src/mainboard/apple/macbook21/mainboard.c')
-rw-r--r--src/mainboard/apple/macbook21/mainboard.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mainboard/apple/macbook21/mainboard.c b/src/mainboard/apple/macbook21/mainboard.c
index 8414d112de..ef914ec5ca 100644
--- a/src/mainboard/apple/macbook21/mainboard.c
+++ b/src/mainboard/apple/macbook21/mainboard.c
@@ -33,6 +33,7 @@
#include <arch/x86/include/arch/acpigen.h>
#include <smbios.h>
#include <drivers/intel/gma/int15.h>
+#include <ec/acpi/ec.h>
#define PANEL INT15_5F35_CL_DISPLAY_DEFAULT
static acpi_cstate_t cst_entries[] = {
@@ -84,7 +85,13 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
}
+static void mainboard_final(void *chip_info)
+{
+ ec_set_bit(0x10, 2); /* switch off led */
+}
+
struct chip_operations mainboard_ops = {
.enable_dev = mainboard_enable,
+ .final = mainboard_final,
};