summaryrefslogtreecommitdiff
path: root/util/superiotool/superiotool.h
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2007-09-16 18:17:44 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2007-09-16 18:17:44 +0000
commit4cb7e717327add9165e30cca537225044bdc0fdd (patch)
treee5cba99eae57db68ab303b761a0e42a85c8a78ca /util/superiotool/superiotool.h
parent0120e1a3d8ebb450aed5016b4653ce4a7524295e (diff)
downloadcoreboot-4cb7e717327add9165e30cca537225044bdc0fdd.tar.xz
Make 'struct superio_registers' globally available, pretty much
all Super I/Os can (and should!) use this (trivial). Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2778 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/superiotool/superiotool.h')
-rw-r--r--util/superiotool/superiotool.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/util/superiotool/superiotool.h b/util/superiotool/superiotool.h
index c973b9e118..f7c715eb66 100644
--- a/util/superiotool/superiotool.h
+++ b/util/superiotool/superiotool.h
@@ -1,6 +1,7 @@
/*
* This file is part of the LinuxBIOS project.
*
+ * Copyright (C) 2007 Carl-Daniel Hailfinger
* Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
*
* This program is free software; you can redistribute it and/or modify
@@ -25,6 +26,27 @@
#include <stdlib.h>
#include <sys/io.h>
+#define EOT -1 /* End Of Table */
+#define NOLDN -2 /* NO LDN needed */
+#define NANA -3 /* Not Available */
+#define MAXNAMELEN 20 /* Maximum Name Length */
+#define MAXLDN 0xa /* Biggest LDN */
+#define LDNSIZE (MAXLDN + 3) /* Biggest LDN + 0 + NOLDN + EOT */
+#define MAXNUMIDX 70 /* Maximum number of indexes */
+#define IDXSIZE (MAXNUMIDX + 1)
+
+struct superio_registers {
+ /* Yes, superio_id should be unsigned, but EOT has to be negative. */
+ signed short superio_id;
+ const char name[MAXNAMELEN];
+ struct ite_ldnidx {
+ signed short ldn;
+ signed short idx[IDXSIZE];
+ signed short def[IDXSIZE];
+ } ldn[LDNSIZE];
+};
+
+/* superiotool.c */
unsigned char regval(unsigned short port, unsigned char reg);
void regwrite(unsigned short port, unsigned char reg, unsigned char val);
void probe_superio(unsigned short port);