1d702b353SJaghathiswari Rankappagounder NatarajanASPEED AST2400/AST2500 PWM and Fan Tacho controller device driver 2d702b353SJaghathiswari Rankappagounder Natarajan 3d702b353SJaghathiswari Rankappagounder NatarajanThe ASPEED PWM controller can support upto 8 PWM outputs. The ASPEED Fan Tacho 4d702b353SJaghathiswari Rankappagounder Natarajancontroller can support upto 16 Fan tachometer inputs. 5d702b353SJaghathiswari Rankappagounder Natarajan 6d702b353SJaghathiswari Rankappagounder NatarajanThere can be upto 8 fans supported. Each fan can have one PWM output and 7d702b353SJaghathiswari Rankappagounder Natarajanone/two Fan tach inputs. 8d702b353SJaghathiswari Rankappagounder Natarajan 9d702b353SJaghathiswari Rankappagounder NatarajanRequired properties for pwm-tacho node: 10d702b353SJaghathiswari Rankappagounder Natarajan- #address-cells : should be 1. 11d702b353SJaghathiswari Rankappagounder Natarajan 12d702b353SJaghathiswari Rankappagounder Natarajan- #size-cells : should be 1. 13d702b353SJaghathiswari Rankappagounder Natarajan 145e047541SMykola Kostenok- #cooling-cells: should be 2. 155e047541SMykola Kostenok 16d702b353SJaghathiswari Rankappagounder Natarajan- reg : address and length of the register set for the device. 17d702b353SJaghathiswari Rankappagounder Natarajan 18d702b353SJaghathiswari Rankappagounder Natarajan- pinctrl-names : a pinctrl state named "default" must be defined. 19d702b353SJaghathiswari Rankappagounder Natarajan 20d702b353SJaghathiswari Rankappagounder Natarajan- pinctrl-0 : phandle referencing pin configuration of the PWM ports. 21d702b353SJaghathiswari Rankappagounder Natarajan 22d702b353SJaghathiswari Rankappagounder Natarajan- compatible : should be "aspeed,ast2400-pwm-tacho" for AST2400 and 23d702b353SJaghathiswari Rankappagounder Natarajan "aspeed,ast2500-pwm-tacho" for AST2500. 24d702b353SJaghathiswari Rankappagounder Natarajan 25*8c9e5270SJoel- clocks : phandle to clock provider with the clock number in the second cell 26*8c9e5270SJoel 27*8c9e5270SJoel- resets : phandle to reset controller with the reset number in the second cell 28d702b353SJaghathiswari Rankappagounder Natarajan 29d702b353SJaghathiswari Rankappagounder Natarajanfan subnode format: 30d702b353SJaghathiswari Rankappagounder Natarajan=================== 31d702b353SJaghathiswari Rankappagounder NatarajanUnder fan subnode there can upto 8 child nodes, with each child node 32d702b353SJaghathiswari Rankappagounder Natarajanrepresenting a fan. If there are 8 fans each fan can have one PWM port and 33d702b353SJaghathiswari Rankappagounder Natarajanone/two Fan tach inputs. 345e047541SMykola KostenokFor PWM port can be configured cooling-levels to create cooling device. 355e047541SMykola KostenokCooling device could be bound to a thermal zone for the thermal control. 36d702b353SJaghathiswari Rankappagounder Natarajan 37d702b353SJaghathiswari Rankappagounder NatarajanRequired properties for each child node: 38d702b353SJaghathiswari Rankappagounder Natarajan- reg : should specify PWM source port. 39d702b353SJaghathiswari Rankappagounder Natarajan integer value in the range 0 to 7 with 0 indicating PWM port A and 40d702b353SJaghathiswari Rankappagounder Natarajan 7 indicating PWM port H. 41d702b353SJaghathiswari Rankappagounder Natarajan 425e047541SMykola Kostenok- cooling-levels: PWM duty cycle values in a range from 0 to 255 435e047541SMykola Kostenok which correspond to thermal cooling states. 445e047541SMykola Kostenok 45d702b353SJaghathiswari Rankappagounder Natarajan- aspeed,fan-tach-ch : should specify the Fan tach input channel. 46d702b353SJaghathiswari Rankappagounder Natarajan integer value in the range 0 through 15, with 0 indicating 47d702b353SJaghathiswari Rankappagounder Natarajan Fan tach channel 0 and 15 indicating Fan tach channel 15. 48d702b353SJaghathiswari Rankappagounder Natarajan At least one Fan tach input channel is required. 49d702b353SJaghathiswari Rankappagounder Natarajan 50d702b353SJaghathiswari Rankappagounder NatarajanExamples: 51d702b353SJaghathiswari Rankappagounder Natarajan 52d702b353SJaghathiswari Rankappagounder Natarajanpwm_tacho: pwmtachocontroller@1e786000 { 53d702b353SJaghathiswari Rankappagounder Natarajan #address-cells = <1>; 54d702b353SJaghathiswari Rankappagounder Natarajan #size-cells = <1>; 555e047541SMykola Kostenok #cooling-cells = <2>; 56d702b353SJaghathiswari Rankappagounder Natarajan reg = <0x1E786000 0x1000>; 57d702b353SJaghathiswari Rankappagounder Natarajan compatible = "aspeed,ast2500-pwm-tacho"; 58*8c9e5270SJoel clocks = <&syscon ASPEED_CLK_APB>; 59*8c9e5270SJoel resets = <&syscon ASPEED_RESET_PWM>; 60d702b353SJaghathiswari Rankappagounder Natarajan pinctrl-names = "default"; 61d702b353SJaghathiswari Rankappagounder Natarajan pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>; 62d702b353SJaghathiswari Rankappagounder Natarajan 63d702b353SJaghathiswari Rankappagounder Natarajan fan@0 { 64d702b353SJaghathiswari Rankappagounder Natarajan reg = <0x00>; 655e047541SMykola Kostenok cooling-levels = /bits/ 8 <125 151 177 203 229 255>; 66d702b353SJaghathiswari Rankappagounder Natarajan aspeed,fan-tach-ch = /bits/ 8 <0x00>; 67d702b353SJaghathiswari Rankappagounder Natarajan }; 68d702b353SJaghathiswari Rankappagounder Natarajan 69d702b353SJaghathiswari Rankappagounder Natarajan fan@1 { 70d702b353SJaghathiswari Rankappagounder Natarajan reg = <0x01>; 71d702b353SJaghathiswari Rankappagounder Natarajan aspeed,fan-tach-ch = /bits/ 8 <0x01 0x02>; 72d702b353SJaghathiswari Rankappagounder Natarajan }; 73d702b353SJaghathiswari Rankappagounder Natarajan}; 74