From 3b01cf17d28d895ed2eed52213ed2f590f976567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Tue, 27 Oct 2015 18:00:57 +0200 Subject: superio/nuvoton/nct5572d: Add missing logical devices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: http://review.coreboot.org/12213 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Felix Held --- src/superio/nuvoton/nct5572d/nct5572d.h | 4 ++++ src/superio/nuvoton/nct5572d/superio.c | 4 ++++ 2 files changed, 8 insertions(+) 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}, }; -- cgit v1.2.3