On Sun, Mar 26, 2017 at 11:05:58PM +0200, Ralph Sennhauser wrote:
On Fri, 24 Mar 2017 15:35:05 +0100
Andrew Lunn [off-list ref] wrote:
quoted
quoted
+ pwm_fan {
/* SUNON HA4010V4-0000-C99 */
- compatible = "gpio-fan";
- gpios = <&gpio0 24 0>;
- gpio-fan,speed-map = <0 0
- 4500 1>;
+ compatible = "pwm-fan";
+ pwms = <&gpio0 24 4000 0>;
Hi Ralph
I believe this last 0 is the flags parameter. Now that we have
#pwm-cells = 1, i think this last 0 should be dropped.
Andrew
Hi Andrew,
isn't the 4000 (period?) pwm-cell #2 and 0 (flags?) pwm-cell #3? I
actually expect "pwms = <&gpio0 24>;" here or "#pwm-cells = <2>;"
Hi Ralph
From Documentation/devicetree/bindings/pwm/pwm.txt:
pwm-list ::= <single-pwm> [pwm-list]
single-pwm ::= <pwm-phandle> <pwm-specifier>
pwm-phandle : phandle to PWM controller node
pwm-specifier : array of #pwm-cells specifying the given PWM
(controller specific)
Our pwm-list has a single single-pwm.
phandle is &gpio0.
The remaining parts are the specifier, or which there should be #pwm-calls.
From Documentation/devicetree/bindings/pwm/pwm.txt again:
pwm-specifier typically encodes the chip-relative PWM number and the PWM
period in nanoseconds.
Optionally, the pwm-specifier can encode a number of flags (defined in
<dt-bindings/pwm/pwm.h>) in a third cell:
- PWM_POLARITY_INVERTED: invert the PWM signal polarity
So we are using the 24th PWM and 4000 nanosecod period. We don't want
any flags.
So
pwms = <&gpio0 24 4000>;
has a phandle, and then 2 cells.
Andrew