linux/drivers/hwmon
Kun Yi e7bb1a2ab8 hwmon: (sbtsi) Add basic support for SB-TSI sensors
SB Temperature Sensor Interface (SB-TSI) is an SMBus compatible
interface that reports AMD SoC's Ttcl (normalized temperature),
and resembles a typical 8-pin remote temperature sensor's I2C interface
to BMC.

This commit adds basic support using this interface to read CPU
temperature, and read/write high/low CPU temp thresholds.

To instantiate this driver on an AMD CPU with SB-TSI
support, the i2c bus number would be the bus connected from the board
management controller (BMC) to the CPU. The i2c address is specified in
Section 6.3.1 of the spec [1]: The SB-TSI address is normally 98h for
socket 0 and 90h for socket 1, but it could vary based on hardware address
select pins.

[1]: https://www.amd.com/system/files/TechDocs/56255_OSRR.pdf

Test status: tested reading temp1_input, and reading/writing
temp1_max/min.

Signed-off-by: Kun Yi <kunyi@google.com>
Link: https://lore.kernel.org/r/20201211215427.3281681-2-kunyi@google.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2020-12-12 08:32:35 -08:00
..
occ hwmon: (occ) Add new temperature sensor type 2020-12-11 07:42:27 -08:00
pmbus hwmon: (pmbus) Driver for Delta power supplies Q54SJ108A2 2020-12-11 07:41:20 -08:00
ab8500.c hwmon: ab8500: Convert to IIO ADC 2019-10-18 19:37:08 +01:00
abituguru.c hwmon: abituguru: make array probe_order static, makes object smaller 2019-11-06 14:37:19 -08:00
abituguru3.c
abx500.c hwmon: (abx500) Switch to using the new API kobj_to_dev() 2020-12-02 17:42:24 -08:00
abx500.h
acpi_power_meter.c hwmon: (acpi_power_meter) clean up freeing code 2020-12-02 17:42:22 -08:00
ad7314.c
ad7414.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ad7418.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
adc128d818.c hwmon: use simple i2c probe function (take 2) 2020-09-23 09:42:40 -07:00
adcxx.c
adm1021.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
adm1025.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
adm1026.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
adm1029.c hwmon: (adm1029) use simple i2c probe 2020-09-23 09:42:39 -07:00
adm1031.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
adm1177.c hwmon: (adm1177) Fix kerneldoc attribute formatting 2020-12-02 17:42:23 -08:00
adm9240.c hwmon: (adm9240) Convert to regmap 2020-09-24 07:44:51 -07:00
ads7828.c hwmon: use simple i2c probe function (take 2) 2020-09-23 09:42:40 -07:00
ads7871.c
adt7x10.c
adt7x10.h
adt7310.c
adt7410.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
adt7411.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
adt7462.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
adt7470.c hwmon: (adt7470) Create functions for updating readings and limits 2020-12-02 17:42:23 -08:00
adt7475.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
amc6821.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
amd_energy.c hwmon: (amd_energy) Add AMD family 19h model 01h x86 match 2020-12-02 17:42:23 -08:00
applesmc.c hwmon: (applesmc) Add DMI product matches for Intel-based Xserves (non-RackMac*) 2020-12-02 17:42:24 -08:00
as370-hwmon.c
asb100.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
asc7621.c hwmon: (asc7621) use simple i2c probe 2020-09-23 09:42:40 -07:00
aspeed-pwm-tacho.c hwmon: (aspeed-pwm-tacho) Avoid possible buffer overflow 2020-07-05 20:45:45 -07:00
asus_atk0110.c
atxp1.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
axi-fan-control.c hwmon: (axi-fan-control) remove duplicate macros 2020-08-04 14:27:20 -07:00
bt1-pvt.c hwmon: (bt1-pvt) Wait for the completion with timeout 2020-10-04 08:40:10 -07:00
bt1-pvt.h hwmon: (bt1-pvt) Cache current update timeout 2020-10-04 08:40:10 -07:00
coretemp.c hwmon: Convert to new X86 CPU match macros 2020-03-24 21:33:36 +01:00
corsair-cpro.c hwmon: (corsair-cpro) add reading pwm values 2020-07-24 07:44:57 -07:00
corsair-psu.c hwmon: (corsair-psu) Fix fan rpm calculation 2020-12-02 17:42:23 -08:00
da9052-hwmon.c hwmon: (da9052) Synchronize access with mfd 2020-05-13 10:06:09 -07:00
da9055-hwmon.c
dell-smm-hwmon.c hwmon: (dell-smm) Add Latitude 5480 to fan control whitelist 2020-07-19 16:25:20 -07:00
dme1737.c hwmon: (dme1737) use simple i2c probe 2020-09-23 09:42:40 -07:00
drivetemp.c hwmon: drivetemp: fix typo temperatire => temperature 2020-12-02 17:42:23 -08:00
ds620.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ds1621.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
emc6w201.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
emc1403.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
emc2103.c hwmon: (emc2103) use simple i2c probe 2020-09-23 09:42:40 -07:00
f71805f.c
f71882fg.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
f75375s.c hwmon: (f75375s) use simple i2c probe 2020-09-23 09:42:40 -07:00
fam15h_power.c x86/msr: Lift AMD family 0x15 power-specific MSRs 2020-06-15 19:25:53 +02:00
fschmd.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ftsteutates.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
g760a.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
g762.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
gl518sm.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
gl520sm.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
gpio-fan.c
gsc-hwmon.c hwmon: (gsc-hwmon) add fan sensor 2020-09-23 09:42:41 -07:00
hih6130.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
hwmon-vid.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
hwmon.c hwmon: (core) Add support for rated attributes 2020-09-23 09:42:39 -07:00
i5k_amb.c hwmon: (i5k_amb, vt8231) Drop uses of pci_read_config_*() return value 2020-08-04 14:24:39 -07:00
i5500_temp.c
ibmaem.c hwmon: (ibmaem) Replace zero-length array with flexible-array member 2020-03-08 20:35:46 -07:00
ibmpex.c
ibmpowernv.c hwmon: (ibmpowernv) Silence strncpy() warning 2020-12-02 17:42:23 -08:00
iio_hwmon.c hwmon: (iio_hwmon) Drop bogus __refdata annotation 2020-12-11 07:42:27 -08:00
ina2xx.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ina209.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ina3221.c hwmon: (ina3221) Demote seemingly unintentional kerneldoc header 2020-12-02 17:42:23 -08:00
intel-m10-bmc-hwmon.c hwmon: Add hwmon driver for Intel MAX 10 BMC 2020-10-04 08:40:10 -07:00
it87.c
jc42.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
k8temp.c
k10temp.c hwmon: (k10temp) Add support for Zen3 CPUs 2020-09-23 09:42:41 -07:00
Kconfig hwmon: (sbtsi) Add basic support for SB-TSI sensors 2020-12-12 08:32:35 -08:00
lineage-pem.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm63.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm70.c hwmon: (lm70) Add support for ACPI 2020-05-22 06:28:38 -07:00
lm73.c hwmon: (lm73) use simple i2c probe 2020-09-23 09:42:40 -07:00
lm75.c hwmon: (lm75) Add regulator support 2020-10-04 08:40:10 -07:00
lm75.h hwmon: (lm75) Fix all coding-style warnings on lm75 driver 2020-05-22 06:28:38 -07:00
lm77.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm78.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm80.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm83.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm85.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm87.c hwmon: use simple i2c probe function (take 2) 2020-09-23 09:42:40 -07:00
lm90.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm92.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm93.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm95234.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm95241.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lm95245.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
lochnagar-hwmon.c
ltc2945.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ltc2947-core.c hwmon: Add support for ltc2947 2019-11-06 14:37:19 -08:00
ltc2947-i2c.c hwmon: (ltc2947) use simple i2c probe 2020-09-23 09:42:40 -07:00
ltc2947-spi.c hwmon: Add support for ltc2947 2019-11-06 14:37:19 -08:00
ltc2947.h hwmon: Add support for ltc2947 2019-11-06 14:37:19 -08:00
ltc2990.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ltc2992.c hwmon: (ltc2992) Fix less than zero comparisons with an unsigned integer 2020-12-11 07:42:27 -08:00
ltc4151.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ltc4215.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ltc4222.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ltc4245.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ltc4260.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ltc4261.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
ltq-cputemp.c
Makefile hwmon: (sbtsi) Add basic support for SB-TSI sensors 2020-12-12 08:32:35 -08:00
max127.c hwmon: (max127) Add Maxim MAX127 hardware monitoring driver 2020-12-02 17:42:24 -08:00
max197.c
max1111.c
max1619.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
max1668.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
max6621.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
max6639.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
max6642.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
max6650.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
max6697.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
max16065.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
max31722.c
max31730.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
max31790.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
mc13783-adc.c
mcp3021.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
menf21bmc_hwmon.c
mlxreg-fan.c
mr75203.c hwmon: Add hardware monitoring driver for Moortec MR75203 PVT controller 2020-10-06 14:51:18 -07:00
nct6683.c hwmon: (nct6683) Support NCT6687D. 2020-12-02 17:42:24 -08:00
nct6775.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
nct7802.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
nct7904.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
npcm750-pwm-fan.c
nsa320-hwmon.c
ntc_thermistor.c
pc87360.c
pc87427.c
pcf8591.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
powr1220.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
pwm-fan.c hwmon: (pwm-fan) Convert to hwmon_device_register_with_info API 2020-12-02 17:42:24 -08:00
raspberrypi-hwmon.c
s3c-hwmon.c ARM: s3c: adc: move header to linux/soc/samsung 2020-08-19 21:44:11 +02:00
sbtsi_temp.c hwmon: (sbtsi) Add basic support for SB-TSI sensors 2020-12-12 08:32:35 -08:00
sch56xx-common.c
sch56xx-common.h
sch5627.c
sch5636.c
scmi-hwmon.c hwmon: (scmi-hwmon) Avoid comma separated statements 2020-09-23 09:42:41 -07:00
scpi-hwmon.c
sht3x.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
sht15.c
sht21.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
shtc1.c hwmon: shtc1: add support for device tree bindings 2020-09-23 09:42:40 -07:00
sis5595.c
sl28cpld-hwmon.c hwmon: Add support for the sl28cpld hardware monitoring controller 2020-09-17 16:02:42 +01:00
smm665.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
smsc47b397.c
smsc47m1.c
smsc47m192.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
sparx5-temp.c hwmon: (sparx5) Fix initial reading of temperature 2020-09-23 09:39:40 -07:00
stts751.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
tc74.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
tc654.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
thmc50.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
tmp102.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
tmp103.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
tmp108.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
tmp401.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
tmp421.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
tmp513.c hwmon: (tmp513) fix spelling typo in comments 2020-10-04 08:40:10 -07:00
ultra45_env.c
vexpress-hwmon.c
via-cputemp.c hwmon: Convert to new X86 CPU match macros 2020-03-24 21:33:36 +01:00
via686a.c
vt1211.c
vt8231.c hwmon: (i5k_amb, vt8231) Drop uses of pci_read_config_*() return value 2020-08-04 14:24:39 -07:00
w83l785ts.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
w83l786ng.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
w83627ehf.c hwmon: (w83627ehf) Fix a resource leak in probe 2020-09-23 09:40:33 -07:00
w83627hf.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
w83773g.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
w83781d.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
w83791d.c hwmon: (w83791d) use simple i2c probe 2020-09-23 09:42:40 -07:00
w83792d.c hwmon: use simple i2c probe function 2020-09-23 09:42:39 -07:00
w83793.c hwmon: (w83793) use simple i2c probe 2020-09-23 09:42:39 -07:00
w83795.c hwmon: use simple i2c probe function (take 2) 2020-09-23 09:42:40 -07:00
wm831x-hwmon.c
wm8350-hwmon.c
xgene-hwmon.c hwmon: (xgene) Drop bogus __refdata annotation 2020-12-11 07:42:27 -08:00