Devicetree binding for ASPEED PWM/Fan Tach
v3 cover Devicetree binding for ASPEED PWM/Fan Tach
I received comments regarding devicetree documentation for ASPEED AST2400/AST2500 PWM/Fan Tach controller driver.
I have addressed the comments in this patch. I want to work towards a common devicetree structure and then proceed with implementation of the corresponding hwmon driver.
Jaghathiswari Rankappagounder Natarajan (1):
Documentation: dt-bindings: Document bindings for ASPEED
AST2400/AST2500 PWM and Fan tach controller device driver
.../devicetree/bindings/hwmon/aspeed-pwm-tacho.txt | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt
--
2.11.0.483.g087da7b7c-goog
PATCH v3 1/1 Documentation: dt-bindings: Document bindings for ASPEED AST2400/AST2500 PWM and Fan tach controller device driver
This binding provides interface for adding values related to ASPEED AST2400/2500 PWM and Fan tach controller support.
The PWM controller can support upto 8 PWM output ports. The Fan tach controller can support upto 16 tachometer inputs.
---
v3:
Made the structure more common
.../devicetree/bindings/hwmon/aspeed-pwm-tacho.txt | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt
Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt new file +73 -0
@@ -0,0 +1,73 @@ +ASPEED AST2400/AST2500 PWM and Fan Tacho controller device driver + +The ASPEED PWM controller can support upto 8 PWM outputs. The ASPEED Fan Tacho +controller can support upto 16 Fan tachometer inputs. + +There can be upto 8 fans supported. Each fan can have one PWM output and +one/two Fan tach inputs. + +Required properties for pwm-tacho node: +- #address-cells : should be 1. + +- #size-cells : should be 1. + +- reg : address and length of the register set for the device. + +- pinctrl-names : a pinctrl state named "default" must be defined. + +- pinctrl-0 : phandle referencing pin configuration of the PWM ports. + +- compatible : should be "aspeed,aspeed2400-pwm-tacho" for AST2400 or + "aspeed,aspeed2500-pwm-tacho" for AST2500. + +- clocks : a fixed clock providing input clock frequency(PWM + and Fan Tach clock) + +fan subnode format: +======================== +Under fan subnode there can upto 8 child nodes, with each child node +representing a fan. If there are 8 fans each fan can have one PWM port and +one/two Fan tach inputs. + +Required properties for each child node(starting from PWM A through PWM H): +- pwm-port : should specify PWM source port. + integer value in the range 0 to 7 with 0 indicating PWM port + A and 7 indicating PWM port H. + +- fan-ctrl-gpios : should specify the tachometer input GPIO pin on the hardware. + Fan Tachometer function can only work when GPIO is in + ”input mode”. + +- fan-tach-ch : should specify the Fan tach input channel. + integer value in the range 0 through 15, with 0 indicating + Fan tach channel 0 and 15 indicating Fan tach channel 15. + +Examples: + +pwm-tacho-fixed-clk: fixedclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; +} + +pwm-tacho: pwm-tacho-controller@1e786000 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0x1E786000 0x1000>; + compatible = "aspeed,aspeed2500-pwm-tacho"; + clocks = <&pwm-tacho-fixed-clk>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>; + + fan0 { + pwm-port = /bits/ 8 <0x00>; + fan-ctrl-gpios = <&gpio ASPEED_GPIO(O, 0) GPIO_ACTIVE_HIGH>; + fan-tach-ch = /bits/ 8 <0x00>; + }; + + fan1 { + pwm-port = /bits/ 8 <0x01>; + fan-ctrl-gpios = <&gpio ASPEED_GPIO(O, 1) GPIO_ACTIVE_HIGH>; + fan-tach-ch = /bits/ 8 <0x01>; + }; +};
--
2.11.0.483.g087da7b7c-goog
Rob Herring
maintainerRe: [PATCH linux v3 1/1] Documentation: dt-bindings: Document bindings for ASPEED AST2400/AST2500 PWM and Fan tach controller device driver
Quoted 49 lines · Jaghathiswari Rankappagounder Natarajan
This binding provides interface for adding values related to ASPEED AST2400/2500 PWM and Fan tach controller support.
The PWM controller can support upto 8 PWM output ports. The Fan tach controller can support upto 16 tachometer inputs.---
v3:
Made the structure more common.../devicetree/bindings/hwmon/aspeed-pwm-tacho.txt | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txtDocumentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt new file +29
-0@@ -0,0 +1,73 @@ +ASPEED AST2400/AST2500 PWM and Fan Tacho controller device driver + +The ASPEED PWM controller can support upto 8 PWM outputs. The ASPEED Fan Tacho +controller can support upto 16 Fan tachometer inputs. + +There can be upto 8 fans supported. Each fan can have one PWM output and +one/two Fan tach inputs. + +Required properties for pwm-tacho node: +- #address-cells : should be 1. + +- #size-cells : should be 1. + +- reg : address and length of the register set for the device. + +- pinctrl-names : a pinctrl state named "default" must be defined. + +- pinctrl-0 : phandle referencing pin configuration of the PWM ports. + +- compatible : should be "aspeed,aspeed2400-pwm-tacho" for AST2400 or + "aspeed,aspeed2500-pwm-tacho" for AST2500. + +- clocks : a fixed clock providing input clock frequency(PWM + and Fan Tach clock) + +fan subnode format: +======================== +Under fan subnode there can upto 8 child nodes, with each child node +representing a fan. If there are 8 fans each fan can have one PWM port and
Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt line 39
Quoted 10 lines
Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt new file +10
-0+one/two Fan tach inputs. + +Required properties for each child node(starting from PWM A through PWM H): +- pwm-port : should specify PWM source port. + integer value in the range 0 to 7 with 0 indicating PWM port + A and 7 indicating PWM port H. + +- fan-ctrl-gpios : should specify the tachometer input GPIO pin on the hardware. + Fan Tachometer function can only work when GPIO is in + ”input mode”.
This still sounds like pin muxing, not actual GPIO usage.
Quoted 14 lines
Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt new file +14
-0+ +- fan-tach-ch : should specify the Fan tach input channel. + integer value in the range 0 through 15, with 0 indicating + Fan tach channel 0 and 15 indicating Fan tach channel 15. + +Examples: + +pwm-tacho-fixed-clk: fixedclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; +} + +pwm-tacho: pwm-tacho-controller@1e786000 {
Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt line 63
Quoted 10 lines
Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt new file +10
-0+ #address-cells = <1>; + #size-cells = <1>; + reg = <0x1E786000 0x1000>; + compatible = "aspeed,aspeed2500-pwm-tacho"; + clocks = <&pwm-tacho-fixed-clk>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>; + + fan0 { + pwm-port = /bits/ 8 <0x00>;
Since fans and pwms are 1-1, I'd just use reg here.
I still think this should probably use PWM binding, but given this is all self contained it is okay.
Quoted 13 lines
Documentation/devicetree/bindings/hwmon/aspeed-pwm-tacho.txt new file +10
-1+ fan-ctrl-gpios = <&gpio ASPEED_GPIO(O, 0) GPIO_ACTIVE_HIGH>; + fan-tach-ch = /bits/ 8 <0x00>; + }; + + fan1 { + pwm-port = /bits/ 8 <0x01>; + fan-ctrl-gpios = <&gpio ASPEED_GPIO(O, 1) GPIO_ACTIVE_HIGH>; + fan-tach-ch = /bits/ 8 <0x01>; + }; +}; --2.11.0.483.g087da7b7c-goog