Dear lm-sensors mailing list members,
I'm an engineer currently working on the design of a small FPGA board
that will be hosted in a PCIe slot. For our previous products we've
rolled our own temperature monitoring software. For a new project, I'd
like to try designing our board such that lm-sensors can query the
temperature of the board. I'm very shaky on my understanding of how
lm-sensors queries the temperature of a PCIe card, f.ex. a graphics
card. Here is my mental model, which needs filling in:
lm-sensors ---> ????? --- (iic bus) --> iic temp sensor
My first impulse was to host the temperature sensor on the SMBus pins
on the PCIe slot directly, ADM1033 comes to mind. However, it looks
like I need to use a sensor that implements ARP, which is not very
common. Also it looks like lm-sensors does not really support ARP so
this seems like it would be an uphill fight.
For graphics cards and other PCIe subsystems, is the iic temp sensor
hosted on the card's PCIe controller chip and queried through the main
PCIe data interface then? And the "dedicated" SMbus lines on the PCIe
interface are unused? If so, is the model then something like this?
lm-sensors ---> vendor-provided driver for PCIe product ---> PCIe
data interface ---> PCIe controller on daughter card --- (iic bus)
---> temp sensor
If so, it seems like I'd have to provide some (standard?) hooks in my
PCIe driver for the temperature sensor, that allow me to communicate to
the IIC bus on the card. And I need to have corresponding registers on
my card's controller that can be used to talk to the IIC lines there.
I'd also appreciate it if you could refer
me
to any documentation that would be useful for understanding the general
field of this inquiry, the PCI Express specification wasn't very useful
in this regard.
Thanks in advance. I apologize for my lack of understanding in this
area.
--
Sincerely,
Ivan Yulaev