diff options
author | David Bartley <andareed@gmail.com> | 2020-12-02 03:50:57 +0100 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2020-12-03 02:42:24 +0100 |
commit | daf4fedde6177941b55ba3c3293a8585d5280b94 (patch) | |
tree | b17d9490774785f5e3e17ae2b74f37dd7813f7d9 | |
parent | hwmon: (applesmc) Add DMI product matches for Intel-based Xserves (non-RackMac*) (diff) | |
download | linux-daf4fedde6177941b55ba3c3293a8585d5280b94.tar.xz linux-daf4fedde6177941b55ba3c3293a8585d5280b94.zip |
hwmon: (nct6683) Support NCT6687D.
This is found on many MSI motherboards.
Signed-off-by: David Bartley <andareed@gmail.com>
Link: https://lore.kernel.org/r/20201202025057.5492-1-andareed@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
-rw-r--r-- | Documentation/hwmon/nct6683.rst | 3 | ||||
-rw-r--r-- | drivers/hwmon/nct6683.c | 14 |
2 files changed, 14 insertions, 3 deletions
diff --git a/Documentation/hwmon/nct6683.rst b/Documentation/hwmon/nct6683.rst index efbf7e9703ec..8646ad519fcd 100644 --- a/Documentation/hwmon/nct6683.rst +++ b/Documentation/hwmon/nct6683.rst @@ -3,7 +3,7 @@ Kernel driver nct6683 Supported chips: - * Nuvoton NCT6683D + * Nuvoton NCT6683D/NCT6687D Prefix: 'nct6683' @@ -61,4 +61,5 @@ Board Firmware version Intel DH87RL NCT6683D EC firmware version 1.0 build 04/03/13 Intel DH87MC NCT6683D EC firmware version 1.0 build 04/03/13 Intel DB85FL NCT6683D EC firmware version 1.0 build 04/03/13 +MSI B550 NCT6687D EC firmware version 1.0 build 05/07/20 =============== =============================================== diff --git a/drivers/hwmon/nct6683.c b/drivers/hwmon/nct6683.c index 2d299149f4d2..7f7e30f0de7b 100644 --- a/drivers/hwmon/nct6683.c +++ b/drivers/hwmon/nct6683.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later /* * nct6683 - Driver for the hardware monitoring functionality of - * Nuvoton NCT6683D eSIO + * Nuvoton NCT6683D/NCT6687D eSIO * * Copyright (C) 2013 Guenter Roeck <linux@roeck-us.net> * @@ -12,6 +12,7 @@ * * Chip #vin #fan #pwm #temp chip ID * nct6683d 21(1) 16 8 32(1) 0xc730 + * nct6687d 21(1) 16 8 32(1) 0xd590 * * Notes: * (1) Total number of vin and temp inputs is 32. @@ -32,7 +33,7 @@ #include <linux/platform_device.h> #include <linux/slab.h> -enum kinds { nct6683 }; +enum kinds { nct6683, nct6687 }; static bool force; module_param(force, bool, 0); @@ -40,10 +41,12 @@ MODULE_PARM_DESC(force, "Set to one to enable support for unknown vendors"); static const char * const nct6683_device_names[] = { "nct6683", + "nct6687", }; static const char * const nct6683_chip_names[] = { "NCT6683D", + "NCT6687D", }; #define DRVNAME "nct6683" @@ -63,6 +66,7 @@ static const char * const nct6683_chip_names[] = { #define SIO_NCT6681_ID 0xb270 /* for later */ #define SIO_NCT6683_ID 0xc730 +#define SIO_NCT6687_ID 0xd590 #define SIO_ID_MASK 0xFFF0 static inline void @@ -164,6 +168,7 @@ superio_exit(int ioreg) #define NCT6683_REG_CUSTOMER_ID 0x602 #define NCT6683_CUSTOMER_ID_INTEL 0x805 #define NCT6683_CUSTOMER_ID_MITAC 0xa0e +#define NCT6683_CUSTOMER_ID_MSI 0x201 #define NCT6683_REG_BUILD_YEAR 0x604 #define NCT6683_REG_BUILD_MONTH 0x605 @@ -1218,6 +1223,8 @@ static int nct6683_probe(struct platform_device *pdev) break; case NCT6683_CUSTOMER_ID_MITAC: break; + case NCT6683_CUSTOMER_ID_MSI: + break; default: if (!force) return -ENODEV; @@ -1352,6 +1359,9 @@ static int __init nct6683_find(int sioaddr, struct nct6683_sio_data *sio_data) case SIO_NCT6683_ID: sio_data->kind = nct6683; break; + case SIO_NCT6687_ID: + sio_data->kind = nct6687; + break; default: if (val != 0xffff) pr_debug("unsupported chip ID: 0x%04x\n", val); |