Re: Parallella board temperature sensing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6 June 2015 at 23:05, Guenter Roeck <linux@xxxxxxxxxxxx> 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 = <&reg_3p3v>;
>                         vref-supply = <&reg_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?

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>;
};

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)

Cheers,
Greg

[1]: https://github.com/parallella/parallella-linux/blob/7a0dc647b9b1c0010ff83fc117e29b408d5693bb/arch/arm/boot/dts/zynq-parallella1.dtsi#L236-L242
[2]: http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/iio/iio-bindings.txt

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors




[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux