RE: [PATCH v4 1/3] dt-bindings: hwmon: Add Microchip emc2305 support

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

 



>> +  '#size-cells':
>> +    const: 0
>> +
>> +  '#pwm-cells':
>> +    const: 2
>> +
>> +patternProperties:
>> +  "^fan@[0-4]$":
> 
> Keep consistent quotes, either ' or "
>

Thank you! I will correct that.

>> +    $ref: fan-common.yaml#
>> +    unevaluatedProperties: false
>> +    properties:
>> +      reg:
>> +        description:
>> +          The fan number.
>> +
>> +    required:
>> +      - reg
>> +      - pwms
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    i2c {
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +
>> +        fan_controller: fan-controller@2f {
>> +            compatible = "microchip,emc2305";
>> +            reg = <0x2f>;
>> +            #address-cells = <1>;
>> +            #size-cells = <0>;
>> +            #pwm-cells = <2>;
>> +
>> +            fan@0 {
>> +                #cooling-cells = <2>;
>> +                reg = <0x0>;
>
> Please follow DTS coding style, so reg is here the first property.
>

Ok, I will correct it. Thanks!

>> +                pwms = <&fan_controller 1 1>;
>
> It's the same PWM for all fans? So isn't it basically one fan? How do you exactly control them independently, if the same PWM channel is used?
>

It is the same PWM controller, but each fan has a different PWM channel. According to datasheet, the EMC2305 could control up to five programmable fan control circuits.
The driver will parse all fan child nodes during probe and use reg to differentiate the channels, similar as it is done on max6639 hwmon driver. 
The 'pwms' arguments in the example are used to select the polarity and pwm output, which will be parsed in the driver to generate the bits for the registers used to select pwm output and pwm polarity. 
(... <&fan_controller [pwm_polarity] [pwm_output]> ...).  Now, I realized that I should use: <&fan_controller [pwm_channel] [pwm_frequency] [pwm_polarity] [pwm_output]>. I will also document the arguments in #pwm-cells description. 
Thanks!

>> +            };
>> +
>> +            fan@1 {
>> +                #cooling-cells = <2>;
>> +                reg = <0x1>;
>> +                pwms = <&fan_controller 1 1>;

Best regards,
Florin




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux