summaryrefslogtreecommitdiff
path: root/src/superio/smsc/lpc47b397/lpc47b397_early_gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/superio/smsc/lpc47b397/lpc47b397_early_gpio.c')
-rw-r--r--src/superio/smsc/lpc47b397/lpc47b397_early_gpio.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/superio/smsc/lpc47b397/lpc47b397_early_gpio.c b/src/superio/smsc/lpc47b397/lpc47b397_early_gpio.c
new file mode 100644
index 0000000000..6f27c74db1
--- /dev/null
+++ b/src/superio/smsc/lpc47b397/lpc47b397_early_gpio.c
@@ -0,0 +1,25 @@
+static void lpc47b397_gpio_offset_out(unsigned iobase, unsigned offset, unsigned value)
+{
+ outb(value,iobase+offset);
+}
+static unsigned lpc47b397_gpio_offset_in(unsigned iobase, unsigned offset)
+{
+ return inb(iobase+offset);
+}
+
+//for GP60-GP64, GP66-GP85
+#define LPC47B397_GPIO_CNTL_INDEX 0x70
+#define LPC47B397_GPIO_CNTL_DATA 0x71
+
+static void lpc47b397_gpio_index_out(unsigned iobase, unsigned index, unsigned value)
+{
+ outb(index,iobase+LPC47B397_GPIO_CNTL_INDEX);
+ outb(value, iobase+LPC47B397_GPIO_CNTL_DATA);
+}
+static unsigned lpc47b397_gpio_index_in(unsigned iobase, unsigned index)
+{
+ outb(index,iobase+LPC47B397_GPIO_CNTL_INDEX);
+ return inb(iobase+LPC47B397_GPIO_CNTL_DATA);
+}
+
+