Kyösti Mälkki (kyosti.malkki@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/12213
-gerrit
commit d5c0090eea36597e44eb085f7b6f58a6348d6204 Author: Kyösti Mälkki kyosti.malkki@gmail.com Date: Tue Oct 27 18:00:57 2015 +0200
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 --- 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 c0623e0..e04abf3 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 688333d..81a8326 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}, };