[coreboot-gerrit] New patch to review for coreboot: 707d642 superio/fintek: Changes required so it can be used
Dave Frodin (dave.frodin@se-eng.com)
gerrit at coreboot.org
Wed Jan 21 19:25:30 CET 2015
Dave Frodin (dave.frodin at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8255
-gerrit
commit 707d642d72e840bfad54f47f6967cc940923473c
Author: Dave Frodin <dave.frodin at se-eng.com>
Date: Mon Jan 19 13:33:12 2015 -0700
superio/fintek: Changes required so it can be used
The amd/lamar mainboard is the first mainboard to use the f81216h.
These changes were needed to get it to build and function.
- Wrong #include name
- Removed global variable in romstage
- Missing "case" in switch()
- Changed function parameters to pass the unlock key
Change-Id: I1b2058a915b776664fba14e4341e8a410b50330f
Signed-off-by: Dave Frodin <dave.frodin at se-eng.com>
---
src/superio/fintek/f81216h/early_serial.c | 21 +++++++++++----------
src/superio/fintek/f81216h/f81216h.h | 13 ++++++-------
2 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/src/superio/fintek/f81216h/early_serial.c b/src/superio/fintek/f81216h/early_serial.c
index 6b667df..5978474 100644
--- a/src/superio/fintek/f81216h/early_serial.c
+++ b/src/superio/fintek/f81216h/early_serial.c
@@ -21,12 +21,11 @@
#include <arch/io.h>
#include <device/pnp.h>
#include <stdint.h>
-#include "fintek.h"
+#include "f81216h.h"
-static u8 f81216h_entry_key;
#define FINTEK_EXIT_KEY 0xAA
-static void pnp_enter_conf_state(pnp_devfn_t dev)
+static void pnp_enter_conf_state(pnp_devfn_t dev, u8 f81216h_entry_key)
{
u16 port = dev >> 8;
outb(f81216h_entry_key, port);
@@ -40,26 +39,28 @@ static void pnp_exit_conf_state(pnp_devfn_t dev)
}
/* Bring up early serial debugging output before the RAM is initialized. */
-void f81216h_enable_serial(pnp_devfn_t dev, u16 iobase, enum mode_key k)
+void f81216h_enable_serial(pnp_devfn_t dev, u16 iobase, u8 key)
{
- switch(k) {
- MODE_6767:
+ u8 f81216h_entry_key;
+
+ switch(key) {
+ case MODE_6767:
f81216h_entry_key = 0x67;
break;
- MODE_7777:
+ case MODE_7777:
f81216h_entry_key = 0x77;
break;
- MODE_8787:
+ case MODE_8787:
f81216h_entry_key = 0x87;
break;
- MODE_A0A0:
+ case MODE_A0A0:
f81216h_entry_key = 0xa0;
break;
default:
f81216h_entry_key = 0x77; /* (safe to be hw default) */
}
- pnp_enter_conf_state(dev);
+ pnp_enter_conf_state(dev, f81216h_entry_key);
pnp_set_logical_device(dev);
pnp_set_enable(dev, 0);
pnp_set_iobase(dev, PNP_IDX_IO0, iobase);
diff --git a/src/superio/fintek/f81216h/f81216h.h b/src/superio/fintek/f81216h/f81216h.h
index 37e7753..944c348 100644
--- a/src/superio/fintek/f81216h/f81216h.h
+++ b/src/superio/fintek/f81216h/f81216h.h
@@ -34,13 +34,12 @@
* the default key.
* See page 17 of data sheet for details.
*/
-enum {
- MODE_6767,
- MODE_7777,
- MODE_8787,
- MODE_A0A0,
-} mode_key;
-void f81216h_enable_serial(pnp_devfn_t dev, u16 iobase, enum mode_key k);
+#define MODE_6767 0
+#define MODE_7777 1
+#define MODE_8787 2
+#define MODE_A0A0 3
+
+void f81216h_enable_serial(pnp_devfn_t dev, u16 iobase, u8 key);
#endif /* SUPERIO_FINTEK_F81216H_H */
More information about the coreboot-gerrit
mailing list