i2c: piix4: Fix SMBus port selection for AMD Family 17h chips
authorGuenter Roeck <linux@roeck-us.net>
Sat, 15 Jul 2017 23:51:26 +0000 (16:51 -0700)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 13 Oct 2017 19:05:55 +0000 (21:05 +0200)
commit0fe16195f89173652cf111d7b384941b00c5aabd
tree8c867d9c6003a6e67fd2cf7c72d861ea0c7abe0a
parenteba523b468a1e30384b6e8c1a9419163f325086e
i2c: piix4: Fix SMBus port selection for AMD Family 17h chips

AMD Family 17h uses the KERNCZ SMBus controller. While its documentation
is not publicly available, it is documented in the BIOS and Kernel
Developer’s Guide for AMD Family 15h Models 60h-6Fh Processors.

On this SMBus controller, the port select register is at PMx register
0x02, bit 4:3 (PMx00 register bit 20:19).

Without this patch, the 4 SMBus channels on AMD Family 17h chips are
mirrored and report the same chips on all channels.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Cc: stable@kernel.org
drivers/i2c/busses/i2c-piix4.c