Message ID | 20240108074348.735014-2-billy_tsai@aspeedtech.com |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | Support pwm/tach driver for aspeed ast26xx | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success | |
robh/patch-applied | success | |
robh/dtbs-check | warning | build log |
robh/dt-meta-schema | success |
On Mon, 08 Jan 2024 15:43:46 +0800, Billy Tsai wrote: > From: Naresh Solanki <naresh.solanki@9elements.com> > > Add common fan properties bindings to a schema. > > Bindings for fan controllers can reference the common schema for the > fan > > child nodes: > > patternProperties: > "^fan@[0-2]": > type: object > $ref: fan-common.yaml# > unevaluatedProperties: false > > Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com> > Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com> > --- > .../devicetree/bindings/hwmon/fan-common.yaml | 79 +++++++++++++++++++ > 1 file changed, 79 insertions(+) > create mode 100644 Documentation/devicetree/bindings/hwmon/fan-common.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
On 08/01/2024 08:43, Billy Tsai wrote: > + pwms: > + description: > + PWM provider. > + maxItems: 1 > + > + "#cooling-cells": > + const: 2 > + > + cooling-levels: > + description: > + The control value which correspond to thermal cooling states. > + $ref: /schemas/types.yaml#/definitions/uint32-array > + > + tach-ch: > + description: > + The tach channel used for the fan. > + $ref: /schemas/types.yaml#/definitions/uint8-array What is the tach-channel and why is it different from pwm specifier? Best regards, Krzysztof
> > + pwms: > > + description: > > + PWM provider. > > + maxItems: 1 > > + > > + "#cooling-cells": > > + const: 2 > > + > > + cooling-levels: > > + description: > > + The control value which correspond to thermal cooling states. > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + > > + tach-ch: > > + description: > > + The tach channel used for the fan. > > + $ref: /schemas/types.yaml#/definitions/uint8-array > What is the tach-channel and why is it different from pwm specifier? Hi Krzysztof, Using the Aspeed SoC as an example, our SoC features 16 PWMs and 16 tachometer channels that can be employed to control and monitor fans. The "tach-ch" parameter is utilized to specify which tachometer channel is being used to monitor a specific fan. The "pwms" parameter is utilized to specify which pwm channel is being used to control a specific fan. Thanks Best regards, Billy Tsai
diff --git a/Documentation/devicetree/bindings/hwmon/fan-common.yaml b/Documentation/devicetree/bindings/hwmon/fan-common.yaml new file mode 100644 index 000000000000..0fb738081699 --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/fan-common.yaml @@ -0,0 +1,79 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/hwmon/fan-common.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Common Fan Properties + +maintainers: + - Naresh Solanki <naresh.solanki@9elements.com> + - Billy Tsai <billy_tsai@aspeedtech.com> + +properties: + max-rpm: + description: + Max RPM supported by fan. + $ref: /schemas/types.yaml#/definitions/uint32 + maximum: 100000 + + min-rpm: + description: + Min RPM supported by fan. + $ref: /schemas/types.yaml#/definitions/uint32 + maximum: 1000 + + pulses-per-revolution: + description: + The number of pulse from fan sensor per revolution. + $ref: /schemas/types.yaml#/definitions/uint32 + maximum: 4 + + tach-div: + description: + Divisor for the tach sampling clock, which determines the sensitivity of the tach pin. + $ref: /schemas/types.yaml#/definitions/uint32 + + target-rpm: + description: + The default desired fan speed in RPM. + $ref: /schemas/types.yaml#/definitions/uint32 + + fan-driving-mode: + description: + Select the driving mode of the fan.(DC, PWM and so on) + $ref: /schemas/types.yaml#/definitions/string + enum: [ dc, pwm ] + + pwms: + description: + PWM provider. + maxItems: 1 + + "#cooling-cells": + const: 2 + + cooling-levels: + description: + The control value which correspond to thermal cooling states. + $ref: /schemas/types.yaml#/definitions/uint32-array + + tach-ch: + description: + The tach channel used for the fan. + $ref: /schemas/types.yaml#/definitions/uint8-array + + label: + description: + Optional fan label + + fan-supply: + description: + Power supply for fan. + + reg: + maxItems: 1 + +additionalProperties: true + +...