summaryrefslogtreecommitdiff
path: root/drivers/misc/smsc_lpc47m.c
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2015-08-21 00:18:51 -0700
committerSimon Glass <sjg@chromium.org>2015-08-26 07:54:12 -0700
commitc78dfb4fd2cc8dbcd0baa3d180aeef1a06b1f062 (patch)
tree506c24345fd8e1c57e55361ddaf1164c85c2ead1 /drivers/misc/smsc_lpc47m.c
parent348b744b7c6528c0509e2a0b0740be3ce949497f (diff)
downloadu-boot-imx-c78dfb4fd2cc8dbcd0baa3d180aeef1a06b1f062.zip
u-boot-imx-c78dfb4fd2cc8dbcd0baa3d180aeef1a06b1f062.tar.gz
u-boot-imx-c78dfb4fd2cc8dbcd0baa3d180aeef1a06b1f062.tar.bz2
x86: superio: Add keyboard controller support to smsc_lpc47m driver
Add an api to enable and configure the integrated keyboard controller on SMSC LPC47m superio chipset. It also adds several macros to help future extension. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/misc/smsc_lpc47m.c')
-rw-r--r--drivers/misc/smsc_lpc47m.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/misc/smsc_lpc47m.c b/drivers/misc/smsc_lpc47m.c
index 1e50d5b..fcce3a4 100644
--- a/drivers/misc/smsc_lpc47m.c
+++ b/drivers/misc/smsc_lpc47m.c
@@ -22,7 +22,7 @@ static void pnp_exit_conf_state(u16 dev)
outb(0xaa, port);
}
-void lpc47m_enable_serial(u16 dev, u16 iobase, u8 irq)
+void lpc47m_enable_serial(uint dev, uint iobase, uint irq)
{
pnp_enter_conf_state(dev);
pnp_set_logical_device(dev);
@@ -32,3 +32,14 @@ void lpc47m_enable_serial(u16 dev, u16 iobase, u8 irq)
pnp_set_enable(dev, 1);
pnp_exit_conf_state(dev);
}
+
+void lpc47m_enable_kbc(uint dev, uint irq0, uint irq1)
+{
+ pnp_enter_conf_state(dev);
+ pnp_set_logical_device(dev);
+ pnp_set_enable(dev, 0);
+ pnp_set_irq(dev, PNP_IDX_IRQ0, irq0);
+ pnp_set_irq(dev, PNP_IDX_IRQ1, irq1);
+ pnp_set_enable(dev, 1);
+ pnp_exit_conf_state(dev);
+}