This patch add support to multiplexed smbus for proliant microserver
N36L and may be applicable to other configuration based on sb8xx
southbus.

root@proliant:/usr/src/lm-sensors/eddi# i2cdetect -l
i2c-0   smbus           SMBus piix4 adapter (SDA0)              SMBus adapter
i2c-1   smbus           SMBus piix4 adapter (SDA2)              SMBus adapter
i2c-2   smbus           SMBus piix4 adapter (SDA3)              SMBus adapter
i2c-3   smbus           SMBus piix4 adapter (SDA4)              SMBus adapter
root@proliant:/usr/src/lm-sensors/eddi#

yes SDA1 is reserved... so i can't multiplex it

root@proliant:/usr/src/lm-sensors/eddi# sensors
k10temp-pci-00c3
Adapter: PCI adapter
temp1:       +24.5°C  (high = +70.0°C, crit = +100.0°C)

w83795adg-i2c-1-2f
Adapter: SMBus piix4 adapter (SDA2)
in0:         +1.02 V  (min =  +0.00 V, max =  +2.05 V)
in1:         +1.52 V  (min =  +0.00 V, max =  +2.05 V)
in2:         +1.10 V  (min =  +0.00 V, max =  +2.05 V)
in3:         +0.89 V  (min =  +0.00 V, max =  +2.05 V)
in12:        +3.35 V  (min =  +0.00 V, max =  +6.14 V)
in13:        +3.28 V  (min =  +0.00 V, max =  +6.14 V)
fan1:        703 RPM  (min =  329 RPM)
temp1:       +23.0°C  (high = +109.0°C, hyst = +109.0°C)
                      (crit = +109.0°C, hyst = +109.0°C)  sensor = thermal diode
temp2:       +33.2°C  (high = +105.0°C, hyst = +105.0°C)
                      (crit = +105.0°C, hyst = +105.0°C)  sensor = thermal diode
temp5:       +14.0°C  (high = +39.0°C, hyst = +39.0°C)
                      (crit = +44.0°C, hyst = +44.0°C)  sensor = thermistor
beep_enable:disabled

jc42-i2c-0-18
Adapter: SMBus piix4 adapter (SDA0)
temp1:       +20.5°C  (low  =  +0.0°C, high =  +0.0°C)  ALARM
                      (crit =  +0.0°C, hyst =  +0.0°C)  ALARM


root@proliant:/usr/src/lm-sensors/eddi# i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

root@proliant:/usr/src/lm-sensors/eddi# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- UU
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- 61 -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

root@proliant:/usr/src/lm-sensors/eddi# i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- 4c -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

root@proliant:/usr/src/lm-sensors/eddi# i2cdetect -y 3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

pay attention that the msleep seems to be really needed...

Signed-off-by: Eddi De Pieri <e...@depieri.net>

Regards,

Eddi

Attachment: proliant-microserver-n36l.diff
Description: Binary data

Reply via email to