summaryrefslogtreecommitdiffstats
path: root/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0018-superio-nuvoton-nct5572d-Enable-power-state-after-po.patch
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2016-01-02 17:10:32 (EST)
committer Francis Rowe <info@gluglug.org.uk>2016-01-04 15:28:39 (EST)
commitd1f408f3725aa02bc1d76c4c6aadb4697bd073c0 (patch)
tree7eed036543ae1f8c57b56825880a722a8efbedf1 /resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0018-superio-nuvoton-nct5572d-Enable-power-state-after-po.patch
parent91aec7e72005dcda72d19f2d024a02d8c0f86590 (diff)
downloadlibreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.zip
libreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.tar.gz
libreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.tar.bz2
Use different coreboot revisions and patches per board
The release archives will be bigger, but this is a necessary change that makes libreboot development easier. At present, there are boards maintained in libreboot by different people. By doing it this way, that becomes much easier. This is in contrast to the present situation, where a change to one board potentially affects all other boards, especially when updating to a new version of coreboot. Coreboot-libre scripts, download scripts, build scripts - everything. The entire build system has been modified to reflect this change of development. For reasons of consistency, cbfstool and nvramtool are no longer included in the util archives.
Diffstat (limited to 'resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0018-superio-nuvoton-nct5572d-Enable-power-state-after-po.patch')
-rw-r--r--resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0018-superio-nuvoton-nct5572d-Enable-power-state-after-po.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0018-superio-nuvoton-nct5572d-Enable-power-state-after-po.patch b/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0018-superio-nuvoton-nct5572d-Enable-power-state-after-po.patch
new file mode 100644
index 0000000..61abd52
--- /dev/null
+++ b/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0018-superio-nuvoton-nct5572d-Enable-power-state-after-po.patch
@@ -0,0 +1,80 @@
+From e2c23ef578b911c1fe91b582c5c26a2b1e6fcaca Mon Sep 17 00:00:00 2001
+From: Timothy Pearson <tpearson@raptorengineeringinc.com>
+Date: Sat, 5 Sep 2015 18:26:30 -0500
+Subject: [PATCH 018/143] superio/nuvoton/nct5572d: Enable power state after
+ power failure support
+
+Change-Id: Ia0313b9ecd64c9e6f99a140772ebb35abe0175fd
+Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
+---
+ src/superio/nuvoton/nct5572d/superio.c | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+diff --git a/src/superio/nuvoton/nct5572d/superio.c b/src/superio/nuvoton/nct5572d/superio.c
+index c5278d6..3b71c6b 100644
+--- a/src/superio/nuvoton/nct5572d/superio.c
++++ b/src/superio/nuvoton/nct5572d/superio.c
+@@ -3,6 +3,7 @@
+ *
+ * Copyright (C) 2014 Felix Held <felix-coreboot@felixheld.de>
+ * Copyright (C) 2014 Edward O'Callaghan <eocallaghan@alterapraxis.com>
++ * Copyright (C) 2015 Timothy Pearson <tpearson@raptorengineeringinc.com>, Raptor Engineering
+ *
+ * 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
+@@ -19,17 +20,29 @@
+ * Foundation, Inc.
+ */
+
++#include <console/console.h>
+ #include <arch/io.h>
+ #include <device/device.h>
+ #include <device/pnp.h>
+ #include <pc80/keyboard.h>
++#include <pc80/mc146818rtc.h>
+ #include <stdlib.h>
+ #include <superio/conf_mode.h>
+
+ #include "nct5572d.h"
+
++#define MAINBOARD_POWER_OFF 0
++#define MAINBOARD_POWER_ON 1
++
++#ifndef CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL
++#define CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL MAINBOARD_POWER_ON
++#endif
++
+ static void nct5572d_init(struct device *dev)
+ {
++ uint8_t byte;
++ uint8_t power_status;
++
+ if (!dev->enabled)
+ return;
+
+@@ -38,6 +51,22 @@ static void nct5572d_init(struct device *dev)
+ case NCT5572D_KBC:
+ pc_keyboard_init();
+ break;
++ case NCT5572D_ACPI:
++ /* Set power state after power fail */
++ power_status = CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL;
++ get_option(&power_status, "power_on_after_fail");
++ pnp_enter_conf_mode_8787(dev);
++ pnp_set_logical_device(dev);
++ byte = pnp_read_config(dev, 0xe4);
++ byte &= ~0x60;
++ if (power_status == 1)
++ byte |= (0x1 << 5); /* Force power on */
++ else if (power_status == 2)
++ byte |= (0x2 << 5); /* Use last power state */
++ pnp_write_config(dev, 0xe4, byte);
++ pnp_exit_conf_mode_aa(dev);
++ printk(BIOS_INFO, "set power %s after power fail\n", power_status ? "on" : "off");
++ break;
+ }
+ }
+
+--
+1.7.9.5
+