[External] Re: pinctrl in phosphor-hwmon

Matt Spinler mspinler at linux.ibm.com
Tue Jan 7 05:51:49 AEDT 2020



On 12/19/2019 2:37 AM, Derek Lin23 wrote:
>
> Hi all:
>
>           We’ve met the similar situation, so use this thread to 
> follow-up.
>
>           We have two fan tachs that share the same PWM, and we have a 
> GPIO mux which switches between the two fan tachs.
>
>           We would like to setup two different sensors, e.g. fan_a1 
> and fan_a2, but use the same GPIO mux to identify the fan_input should 
> link to one of the two sensors.
>
>           For example, when the mux is high, then fan_a1 gets RPM 
> readings from fanx_input, and when the mux is low, then fan_a2 gets 
> RPM readings from the same fanx_input.
>
>           Please provide some ideas.
>

Could the driver be updated to handle that, so phosphor-hwmon doesn't 
have to care?


> Thank you,
>
>
> Derek
>
> *From:*openbmc <openbmc-bounces+dlin23=lenovo.com at lists.ozlabs.org> 
> *On Behalf Of *Deng Tyler
> *Sent:* Tuesday, December 17, 2019 8:28 PM
> *To:* Kun Yi <kunyi at google.com>
> *Cc:* OpenBMC Maillist <openbmc at lists.ozlabs.org>; Matt Spinler 
> <mspinler at linux.ibm.com>
> *Subject:* [External] Re: pinctrl in phosphor-hwmon
>
> Hi Kun
>
>     Thank for your response and that's highly appreciated.
>
> I patch the async read support but it still not working, following is 
> my configuration. Anything I missing?
>
> LABEL_fan0=fan1A
> LABEL_fan1=fan1B
> LABEL_fan2=fan2A
> LABEL_fan3=fan2B
> LABEL_fan4=fan3A
> LABEL_fan5=fan3B
> LABEL_fan6=fan4A
> LABEL_fan7=fan4B
> LABEL_fan8=fan5A
> LABEL_fan9=fan5B
> LABEL_fan10=fan6A
> LABEL_fan11=fan6B
> ASYNC_READ_TIMEOUT_fan0 = "3000"
> ASYNC_READ_TIMEOUT_fan1 = "3000"
> ASYNC_READ_TIMEOUT_fan2 = "3000"
> ASYNC_READ_TIMEOUT_fan3 = "3000"
> ASYNC_READ_TIMEOUT_fan4 = "3000"
> ASYNC_READ_TIMEOUT_fan5 = "3000"
> ASYNC_READ_TIMEOUT_fan6 = "3000"
> ASYNC_READ_TIMEOUT_fan7 = "3000"
> ASYNC_READ_TIMEOUT_fan8 = "3000"
> ASYNC_READ_TIMEOUT_fan9 = "3000"
> ASYNC_READ_TIMEOUT_fan10 = "3000"
> ASYNC_READ_TIMEOUT_fan11 = "3000"
>
> INTERVAL=10000000
>
> Tyler
>
> Kun Yi <kunyi at google.com <mailto:kunyi at google.com>> 於2019年12月13日 週五 
> 上午5:15寫道:
>
>     On Thu, Dec 12, 2019 at 12:34 PM Matt Spinler
>     <mspinler at linux.ibm.com <mailto:mspinler at linux.ibm.com>> wrote:
>
>
>
>         On 12/11/2019 12:40 AM, Deng Tyler wrote:
>         > I added gpio control in my fan driver but I still met some
>         problem.
>         > While phosphor-hwmon reading fan0_input, the fan tach driver
>         change 2
>         > gpio pin and sleep 2 seconds to return rpm value for stable.
>         There are
>         > 12 fan sensors in my platform so the phosphor-hwmon need
>         wait 24
>         > senconds at least to get rpm. The waiting time cause dbus
>         hang while
>         > issuing ipmi sensor command. Do you have any suggestions?
>
>         I vaguely remember someone else had this problem before, and
>         it turned
>         out to be a device driver
>         problem as the reason it was so slow.
>
>     Yea the best test is to read from the kernel sysfs interface and
>     post how long it takes. If the device is misbehaving or the
>     physical bus (i2c/fantach) is not working properly, the delay
>     could easily be O(seconds)
>
>
>         Otherwise, the reads could probably be changed to be
>         asynchronous, but
>         that could be a pretty big
>         change to the application.
>
>     There is some work-in-progress patch to add async read support.
>     The patch works, although the code change is not clean enough.
>
>     https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-hwmon/+/24337
>
>
>         >
>         > Tyler
>         >
>         > Matt Spinler <mspinler at linux.ibm.com
>         <mailto:mspinler at linux.ibm.com> <mailto:mspinler at linux.ibm.com
>         <mailto:mspinler at linux.ibm.com>>>
>         > 於2019年12月11日 週三 上午12:29寫道:
>         >
>         >
>         >
>         >     On 12/9/2019 11:08 PM, Deng Tyler wrote:
>         >     > Hi Matt:
>         >     >     Thank for your response that's really helpful. I
>         check the link
>         >     > and it seems allow a gpio set to high before/after
>         reading a
>         >     > correspond sensor. Is it possible change 2 gpio to
>         high/low for
>         >     > reading a correspond sensor?
>         >
>         >     That isn't possible in the current code, but I don't see
>         why someone
>         >     couldn't add that feature.
>         >
>         >     >
>         >     > Regards,
>         >     > Tyler
>         >     >
>         >     > Matt Spinler <mspinler at linux.ibm.com
>         <mailto:mspinler at linux.ibm.com>
>         >     <mailto:mspinler at linux.ibm.com
>         <mailto:mspinler at linux.ibm.com>>
>         <mailto:mspinler at linux.ibm.com <mailto:mspinler at linux.ibm.com>
>         >     <mailto:mspinler at linux.ibm.com
>         <mailto:mspinler at linux.ibm.com>>>>
>         >     > 於2019年12月9日 週一 下午10:58寫道:
>         >     >
>         >     >
>         >     >
>         >     >     On 12/9/2019 6:15 AM, Deng Tyler wrote:
>         >     >     > Hi all:
>         >     >     >     Does phosphor-hwmon support changing gpio
>         pin before read
>         >     >     > /sys/class/hwmon/hwmon0/fan*_input
>         while monitoring fan
>         >     sensor?
>         >     >     In my
>         >     >     > platform, fans gpio are connect to pin-mux and I
>         need
>         >     control gpio
>         >     >     > before get fan tach rpm.
>         >     >
>         >     >     It does have the ability to modify a GPIO
>         before/after a
>         >     reading:
>         >     >
>         >
>         https://github.com/openbmc/phosphor-hwmon/blob/master/mainloop.cpp#L447
>         >     >
>         >     >     configured by some lines in the conf file, like:
>         >     >
>         >
>         https://github.com/openbmc/meta-ibm/blob/master/meta-romulus/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf#L4
>         >     >
>         >     >     >
>         >     >     > Regards,
>         >     >     > Tyler
>         >     >
>         >
>
>
>     -- 
>
>     Regards,
>
>     Kun
>



More information about the openbmc mailing list