From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Date: Sat, 06 Jun 2015 16:55:27 +0000 Subject: Re: [lm-sensors] Parallella board temperature sensing Message-Id: <557325FF.8040501@roeck-us.net> List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lm-sensors@vger.kernel.org On 06/06/2015 08:28 AM, Gergely Imreh wrote: > On 6 June 2015 at 23:05, Guenter Roeck wrote: >> On 06/06/2015 08:01 AM, Guenter Roeck wrote: >>> >>> On 06/06/2015 07:51 AM, Gergely Imreh wrote: >>>> >>>> Hi, >>>> >>>> I was checking out what would it take to support lm-sensors on the >>>> Parallella board[1]. It's an interesting little board with a dual core >>>> Xilinx ARM Cortex-A9, an FPGA, and a 16-core Epiphany co-processor. >>>> It's Xilinx XADC sensor used for temperature/voltage sensing does not >>>> seem to be anywhere on the lm-sensors supported device list. Currently >>>> users seem to monitor it through reading the device data directly from >>>> the /sys entries and doing the necessary scaling and conversion (as it >>>> was discussed on the Parallella forums, bash script included[2]) >>>> >>>> In a nutshell, the data is accessible through >>>> /sys/bus/iio/devices/iio:device0/in_temp0_{raw,offset,scale} files. >>>> There are also 8 voltage readings there that could be extracted. >>>> >>> >>> If it is supported through iio, it should be possible use the iio->hwmon >>> bridge. >>> >> >> Here is an example devicetree entry, used to configure a max1139 as >> hwmon device. >> >> max1139: voltage-sensor@35 { >> compatible = "maxim,max1139"; >> reg = <0x35>; >> vcc-supply = <®_3p3v>; >> vref-supply = <®_3p3v>; >> #io-channel-cells = <1>; >> }; >> >> ... >> >> max1139@35 { >> compatible = "iio-hwmon"; >> >> io-channels = <&max1139 0>, <&max1139 1>, <&max1139 2>, >> <&max1139 3>, <&max1139 4>, <&max1139 5>, >> <&max1139 6>, <&max1139 7>, <&max1139 8>, >> <&max1139 9>, <&max1139 10>, <&max1139 11>; >> }; >> >> Guenter >> > > So if I get it right, all the support can be enabled through iio-hwmon > by modifying the Parallella device tree? > > If so, the relevant entry is I think this (from the repo[1]) > > xadc@f8007100 { > compatible = "xlnx,zynq-xadc-1.00.a", "xlnx,ps7-xadc-1.00.a"; > reg = <0xf8007100 0x20>; > interrupts = <0 7 4>; > interrupt-parent = <&gic>; > clocks = <&clkc 12>; > }; > > I guess in the above example "voltage-sensor" is just a descriptive > label, can be anything else too, right? > Yes. > Looking at the iio-hwmon binding docs[2], would a version like this be usable? > > adc: xadc@f8007100 { > compatible = "xlnx,zynq-xadc-1.00.a", "xlnx,ps7-xadc-1.00.a"; > reg = <0xf8007100 0x20>; > interrupts = <0 7 4>; > interrupt-parent = <&gic>; > clocks = <&clkc 12>; > #io-channel-cells = <1>; > }; > > iio_hwmon { > compatible = "iio-hwmon"; > io-channels = <&adc 0>, <&adc 1>, <&adc 2>, > <&adc 3>, <&adc 4>, <&adc 5>, > <&adc 6>, <&adc 7>, <&adc 8>, > <&adc 9>; <&adc 10>; <&adc 11>; > <&adc 12>; <&adc 13>; <&adc 14>; > <&adc 15>; <&adc 16>; <&adc 17>; > <&adc 18>; > }; Something like that, correct. > > How would this be able to tell which adc channels belong to what? (eg. > 0-1-2 are needed for the temperature sensing, the rest are voltage > sensors in pairs, raw and scale values) > iio-hwmon checks the sensor type and instantiates it accordingly. Guenter _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors