Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame^] | 1 | Bindings for fan connected to GPIO lines |
| 2 | |
| 3 | Required properties: |
| 4 | - compatible : "gpio-fan" |
| 5 | |
| 6 | Optional properties: |
| 7 | - gpios: Specifies the pins that map to bits in the control value, |
| 8 | ordered MSB-->LSB. |
| 9 | - gpio-fan,speed-map: A mapping of possible fan RPM speeds and the |
| 10 | control value that should be set to achieve them. This array |
| 11 | must have the RPM values in ascending order. |
| 12 | - alarm-gpios: This pin going active indicates something is wrong with |
| 13 | the fan, and a udev event will be fired. |
| 14 | - #cooling-cells: If used as a cooling device, must be <2> |
| 15 | Also see: |
| 16 | Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml |
| 17 | min and max states are derived from the speed-map of the fan. |
| 18 | |
| 19 | Note: At least one the "gpios" or "alarm-gpios" properties must be set. |
| 20 | |
| 21 | Examples: |
| 22 | |
| 23 | gpio_fan { |
| 24 | compatible = "gpio-fan"; |
| 25 | gpios = <&gpio1 14 1 |
| 26 | &gpio1 13 1>; |
| 27 | gpio-fan,speed-map = <0 0 |
| 28 | 3000 1 |
| 29 | 6000 2>; |
| 30 | alarm-gpios = <&gpio1 15 1>; |
| 31 | }; |
| 32 | gpio_fan_cool: gpio_fan { |
| 33 | compatible = "gpio-fan"; |
| 34 | gpios = <&gpio2 14 1 |
| 35 | &gpio2 13 1>; |
| 36 | gpio-fan,speed-map = <0 0>, |
| 37 | <3000 1>, |
| 38 | <6000 2>; |
| 39 | alarm-gpios = <&gpio2 15 1>; |
| 40 | #cooling-cells = <2>; /* min followed by max */ |
| 41 | }; |