summaryrefslogtreecommitdiff
path: root/src/superio/nuvoton/nct5572d
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2015-10-27 18:00:57 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2015-11-02 03:25:23 +0100
commit3b01cf17d28d895ed2eed52213ed2f590f976567 (patch)
treec28850a2117f0554949ce66f9082441be7da6589 /src/superio/nuvoton/nct5572d
parent70460249fd9b4c35d4f844aa6491e7f6def31c42 (diff)
downloadcoreboot-3b01cf17d28d895ed2eed52213ed2f590f976567.tar.xz
superio/nuvoton/nct5572d: Add missing logical devices
While the actual pins behind these devices are not exposed on the chip, the enable registers are implemented in hardware. Allow to turn these LDNs off, like the vendor bios for asrock/e350m1 does. Change-Id: I4d6d5a8de12b09095138cacbad62b2dfbbe54028 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/12213 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/superio/nuvoton/nct5572d')
-rw-r--r--src/superio/nuvoton/nct5572d/nct5572d.h4
-rw-r--r--src/superio/nuvoton/nct5572d/superio.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/superio/nuvoton/nct5572d/nct5572d.h b/src/superio/nuvoton/nct5572d/nct5572d.h
index c0623e0398..e04abf3cbc 100644
--- a/src/superio/nuvoton/nct5572d/nct5572d.h
+++ b/src/superio/nuvoton/nct5572d/nct5572d.h
@@ -18,6 +18,8 @@
#define SUPERIO_NUVOTON_NCT5572D
/* Logical Device Numbers (LDN). */
+#define NCT5572D_FDC 0x00
+#define NCT5572D_PP 0x01
#define NCT5572D_SP1 0x02 /* Com1 */
#define NCT5572D_IR 0x03
#define NCT5572D_KBC 0x05
@@ -35,8 +37,10 @@
/* virtual LDN for GPIO */
#define NCT5572D_GPIO2 ((0 << 8) | NCT5572D_GPIO235_V)
#define NCT5572D_GPIO3 ((1 << 8) | NCT5572D_GPIO235_V)
+#define NCT5572D_GPIO4 ((2 << 8) | NCT5572D_GPIO235_V)
#define NCT5572D_GPIO5 ((3 << 8) | NCT5572D_GPIO235_V)
#define NCT5572D_GPIO6 ((1 << 8) | NCT5572D_GPIO689_V)
+#define NCT5572D_GPIO7 ((2 << 8) | NCT5572D_GPIO689_V)
#define NCT5572D_GPIO8 ((3 << 8) | NCT5572D_GPIO689_V)
#define NCT5572D_GPIO9 ((4 << 8) | NCT5572D_GPIO689_V)
diff --git a/src/superio/nuvoton/nct5572d/superio.c b/src/superio/nuvoton/nct5572d/superio.c
index 688333dfe8..81a83266d0 100644
--- a/src/superio/nuvoton/nct5572d/superio.c
+++ b/src/superio/nuvoton/nct5572d/superio.c
@@ -76,6 +76,8 @@ static struct device_operations ops = {
};
static struct pnp_info pnp_dev_info[] = {
+ { &ops, NCT5572D_FDC}, /* no pins, removed from datasheet */
+ { &ops, NCT5572D_PP}, /* no pins, removed from datasheet */
{ &ops, NCT5572D_SP1, PNP_IO0 | PNP_IRQ0, {0x0FF8, 0}, },
{ &ops, NCT5572D_IR, PNP_IO0 | PNP_IRQ0, {0x0FF8, 0}, },
{ &ops, NCT5572D_KBC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_IRQ1, {0x0FFF, 0}, {0x0FFF, 4}, },
@@ -89,8 +91,10 @@ static struct pnp_info pnp_dev_info[] = {
{ &ops, NCT5572D_GPIO_PP_OD},
{ &ops, NCT5572D_GPIO2},
{ &ops, NCT5572D_GPIO3},
+ { &ops, NCT5572D_GPIO4}, /* no pins, removed from datasheet */
{ &ops, NCT5572D_GPIO5},
{ &ops, NCT5572D_GPIO6},
+ { &ops, NCT5572D_GPIO7}, /* no pins, removed from datasheet */
{ &ops, NCT5572D_GPIO8},
{ &ops, NCT5572D_GPIO9},
};