smb driver for Nvidia ION (intel ATOM) chipset
Constantine A. Murenin
mureninc at gmail.com
Mon Jan 18 02:55:10 UTC 2010
2010/1/7 Oliver Lehmann <lehmann at ans-netz.de>:
> Jeremy Chadwick wrote:
>
>> If you'd like, I can code up something that uses LPC/ISA to communicate
>> with this IC via port 0x290 based on the datasheet.
>
> I now was able to "hack up" mbmon to communicate with my it8720 sensor.
> I've attached the patch for sens_it87.c
> I also added to Makefile to the DEFS = line "-DIT8720" of course. This
> made mbmon working with ISA-IO mode working. I'm now getting the
> following outputs:
>
> Temp.= 32.0, 34.0, 22.0; Rot.= 4591, 1298, 0
> Vcore = 1.10, 1.81; Volt. = 3.39, 4.95, 11.93, -11.93, -4.99
>
> I can nearly verify all values with the BIOS and they are matching. I
> XXed in the following output (same as above) all values out I was not
> able to verify because the BIOS-HWM does not show their values:
>
> Temp.= 32.0, XXX, XXX; Rot.= 4591, 1298, 0
> Vcore = 1.10, XXXX; Volt. = 3.39, 4.95, 11.93, -11.93, XXXXX
>
> For the remaining values I'm pretty sure they are correct.
> I enabled the 16Bit RPM mode for the 8720. In this case no devisor is
> needed for calculating the RPM. I was not able to get the 2nd FAN-RPM
> right in the 8Bit mode. The 1st one was correct even in the 8Bit mode.
> About the voltage multipliers... I'm not sure about the last one because
> I'm not able to verify this (I could with a multimeter of course but this
> would create other deviations).
> I'm also not sure why the multipliers (for my board?) are different. I
> wonder why they are hardcoded there anyway. I can imagine that they are
> depending the board layout or am I mistaken? I mean the IT spec says only
> that the input of the pins need to be in the range between 0 and VCC. So
> I can choose whatever multiplier I like as long as the resulting voltage
> keeps within this range. Keeping the measured voltage somewhere in the
> middle of 0 and VCC with the multiplier for the expected value makes
> sense but this is no "must be" I guess
>
> Now - since ISA-IO is working I want to get smbus working too ;)
> First I patched src/sys/pci/nfsmb.c to detect the known remaning nforce
> SMB controllers including mine.
> I then added the device-id of this controller to the pci_pm.h file of
> mbmon to make it detect my controller.
> But now it still fails to find the it87 sensor on the bus. I guess the
> bus can have many "slaves" and mbmon just needs to test all to find out
> which identifies itself as it87? (reading from Adress 0x58 should return
> 0x90 - at least in ISA mode)
>
> root at nudel xmbmon205> ./mbmon -S -D -p it87
> Probe Request: it87
>>>> Testing Reg's at SMBus <<<
> SMBus slave 0xA0(0x50) found...
> SMBus slave 0xA2(0x51) found...
> SMBus slave 0xA4(0x52) found...
> SMBus slave 0xA6(0x53) found...
> SMBus slave 0xA8(0x54) found...
> SMBus slave 0xAA(0x55) found...
> SMBus slave 0xAC(0x56) found...
> SMBus slave 0xAE(0x57) found...
> SMBus[NVidia nForce2] found, but No HWM available on it!!
> InitMBInfo: Device not configured
> Exit 1
> root at nudel xmbmon205> ./mbmon -S -s1 -D -p it87
> Probe Request: it87
>>>> Testing Reg's at SMBus <<<
> SMBus slave 0xA0(0x50) found...
> SMBus slave 0xA2(0x51) found...
> SMBus slave 0xE0(0x70) found...
> SMBus[NVidia nForce2] found, but No HWM available on it!!
> InitMBInfo: Device not configured
> Exit 1
> root at nudel xmbmon205>
>
> But it looks like at least the smb detection code for it87 is not working
> for mine...
>
> Any ideas how to proceed here?
>From my experience, you can hardly ever find these ITE Super I/O chips
through the SMBus — perhaps no motherboard manufacturer ever bothered
to connect the two?
(For what it's worth, the situation is somewhat similar with Winbond
Super I/O LPC solutions; however, discovering Winbond chips on both
ISA and I2C ports is not nearly as uncommon.)
C.
More information about the freebsd-hardware
mailing list