Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i2c-nforce2: Add support for MCP67, MCP73, MCP78S and MCP79

The MCP78S and MCP79 appear to be compatible with the previous nForce
chips as far as the SMBus controller is concerned. The MCP67 and MCP73
were not tested yet but I'd be very surprised if they weren't
compatible too.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Oleg Ryjkov <olegr@olegr.ca>
Cc: Malcolm Lalkaka <mlalkaka@gmail.com>
Cc: Zbigniew Luszpinski <zbiggy@o2.pl>

+22 -6
+8 -4
Documentation/i2c/busses/i2c-nforce2
··· 7 7 * nForce3 250Gb MCP 10de:00E4 8 8 * nForce4 MCP 10de:0052 9 9 * nForce4 MCP-04 10de:0034 10 - * nForce4 MCP51 10de:0264 11 - * nForce4 MCP55 10de:0368 12 - * nForce4 MCP61 10de:03EB 13 - * nForce4 MCP65 10de:0446 10 + * nForce MCP51 10de:0264 11 + * nForce MCP55 10de:0368 12 + * nForce MCP61 10de:03EB 13 + * nForce MCP65 10de:0446 14 + * nForce MCP67 10de:0542 15 + * nForce MCP73 10de:07D8 16 + * nForce MCP78S 10de:0752 17 + * nForce MCP79 10de:0AA2 14 18 15 19 Datasheet: not publicly available, but seems to be similar to the 16 20 AMD-8111 SMBus 2.0 adapter.
+10 -2
drivers/i2c/busses/i2c-nforce2.c
··· 31 31 nForce3 250Gb MCP 00E4 32 32 nForce4 MCP 0052 33 33 nForce4 MCP-04 0034 34 - nForce4 MCP51 0264 35 - nForce4 MCP55 0368 34 + nForce MCP51 0264 35 + nForce MCP55 0368 36 36 nForce MCP61 03EB 37 37 nForce MCP65 0446 38 + nForce MCP67 0542 39 + nForce MCP73 07D8 40 + nForce MCP78S 0752 41 + nForce MCP79 0AA2 38 42 39 43 This driver supports the 2 SMBuses that are included in the MCP of the 40 44 nForce2/3/4/5xx chipsets. ··· 319 315 { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SMBUS) }, 320 316 { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SMBUS) }, 321 317 { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP65_SMBUS) }, 318 + { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP67_SMBUS) }, 319 + { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_SMBUS) }, 320 + { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP78S_SMBUS) }, 321 + { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP79_SMBUS) }, 322 322 { 0 } 323 323 }; 324 324
+4
include/linux/pci_ids.h
··· 1237 1237 #define PCI_DEVICE_ID_NVIDIA_NVENET_21 0x0451 1238 1238 #define PCI_DEVICE_ID_NVIDIA_NVENET_22 0x0452 1239 1239 #define PCI_DEVICE_ID_NVIDIA_NVENET_23 0x0453 1240 + #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP67_SMBUS 0x0542 1240 1241 #define PCI_DEVICE_ID_NVIDIA_NVENET_24 0x054C 1241 1242 #define PCI_DEVICE_ID_NVIDIA_NVENET_25 0x054D 1242 1243 #define PCI_DEVICE_ID_NVIDIA_NVENET_26 0x054E ··· 1248 1247 #define PCI_DEVICE_ID_NVIDIA_NVENET_31 0x07DF 1249 1248 #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP67_IDE 0x0560 1250 1249 #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_IDE 0x056C 1250 + #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP78S_SMBUS 0x0752 1251 1251 #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE 0x0759 1252 1252 #define PCI_DEVICE_ID_NVIDIA_NVENET_32 0x0760 1253 1253 #define PCI_DEVICE_ID_NVIDIA_NVENET_33 0x0761 1254 1254 #define PCI_DEVICE_ID_NVIDIA_NVENET_34 0x0762 1255 1255 #define PCI_DEVICE_ID_NVIDIA_NVENET_35 0x0763 1256 + #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_SMBUS 0x07D8 1257 + #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP79_SMBUS 0x0AA2 1256 1258 #define PCI_DEVICE_ID_NVIDIA_NVENET_36 0x0AB0 1257 1259 #define PCI_DEVICE_ID_NVIDIA_NVENET_37 0x0AB1 1258 1260 #define PCI_DEVICE_ID_NVIDIA_NVENET_38 0x0AB2