lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 21 Sep 2015 22:24:56 +0300
From:	Constantine Shulyupin <const@...elinux.com>
To:	Rob Herring <robh@...nel.org>
Cc:	open list <linux-kernel@...r.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
	<devicetree@...r.kernel.org>, lm-sensors@...sensors.org,
	Jean Delvare <jdelvare@...e.com>,
	Guenter Roeck <linux@...ck-us.net>,
	Rob Herring <robh+dt@...nel.org>,
	Pawel Moll <pawel.moll@....com>,
	Mark Rutland <mark.rutland@....com>,
	Ian Campbell <ijc+devicetree@...lion.org.uk>,
	Kumar Gala <galak@...eaurora.org>
Subject: Re: Please suggest proper format for DT properties.

On Mon, Sep 21, 2015 at 4:51 AM, Rob Herring <robh@...nel.org> wrote:
> On Fri, Sep 18, 2015 at 5:36 PM, Constantine Shulyupin
> <const@...elinux.com> wrote:
>> Hi,
>>
>> I am designing DT support for a hwmon chip.
>> It has some sensors, each of them can be:
>>  - "disabled"
>>  - "thermal diode"
>>  - "thermistor"
>>  - "voltage"
>>
>> Four possible options for DT properties format.
>>
>> Option 1: Separated property for each sensor.
>>
>> Example nct7802 node:
>>
>> nct7802 {
>>         compatible = "nuvoton,nct7802";
>>         reg = <0x2a>;
>>         nuvoton,sensor1-type = "thermistor";
>>         nuvoton,sensor2-type = "disabled";
>>         nuvoton,sensor3-type = "voltage";
>> };
>>
>> Option 2: Array of strings for all sensors.
>>
>> nct7802 {
>>         compatible = "nuvoton,nct7802";
>>         reg = <0x2a>;
>>         nuvoton,sensors-types = "thermistor", "disabled", "voltage";
>> };
>
> It seems you are just listing out all possible modes. Why do you need
> this in the DT at all? This can be inferred by the compatible string.

There are tree sensor, each of one can be one of three type ("thermal
diode", "thermistor", "voltage") or be disabled.
Also there are at least five platform depended registers, most of them
are enable/disable.
You can find full datasheet here
https://www.nuvoton.com/hq/products/cloud-computing/hardware-monitors/desktop-server-series/nct7802y/

The question is how to describe configuration of this registers in dts.
The second option is array of types for tree registers.

>> Option 3: Sets of 4 cells.
>>
>>   Borrowed from marvell,reg-init and broadcom,c45-reg-init.
>>
>>   The first cell is the page address,
>>   the second a register address within the page,
>>   the third cell contains a mask to be ANDed with the existing register
>>   value, and the fourth cell is ORed with the result to yield the
>>   new register value. If the third cell has a value of zero,
>>   no read of the existing value is performed.
>
> I don't see how this relates to the first 2 options. The register you
> write selects the mode? In general, we don't want bindings of just
> random register writes.
>
> Rob
Option 3 allows arbitrary registers configuration.

To see the full picture you can refer to datasheet mentioned above to
function nct7802_init_chip via
http://lxr.free-electrons.com/source/drivers/hwmon/nct7802.c#L789
and proposed patch for option #2: https://lkml.org/lkml/2015/9/13/204

-- 
Thanks
Constantine
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ