Add a simple sysfs interface to the generic PWM framework.
  /sys/class/pwm/
  `-- pwmchipN/           for each PWM chip
      |-- export          (w/o) ask the kernel to export a PWM channel
      |-- npwm            (r/o) number of PWM channels in this PWM chip
      |-- pwmX/           for each exported PWM channel
      |   |-- duty_cycle  (r/w) duty cycle (in nanoseconds)
      |   |-- enable      (r/w) enable/disable PWM
      |   |-- period      (r/w) period (in nanoseconds)
      |   `-- polarity    (r/w) polarity of PWM (normal/inversed)
      `-- unexport        (w/o) return a PWM channel to the kernel
Based on work by Lars Poeschel.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Lars Poeschel <poeschel@lemonage.de>
Cc: Ryan Mallon <rmallon@gmail.com>
Cc: Rob Landley <rob@landley.net>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
		
	
			
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			2.2 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			2.2 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
What:		/sys/class/pwm/
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		The pwm/ class sub-directory belongs to the Generic PWM
 | 
						|
		Framework and provides a sysfs interface for using PWM
 | 
						|
		channels.
 | 
						|
 | 
						|
What:		/sys/class/pwm/pwmchipN/
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		A /sys/class/pwm/pwmchipN directory is created for each
 | 
						|
		probed PWM controller/chip where N is the base of the
 | 
						|
		PWM chip.
 | 
						|
 | 
						|
What:		/sys/class/pwm/pwmchipN/npwm
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		The number of PWM channels supported by the PWM chip.
 | 
						|
 | 
						|
What:		/sys/class/pwm/pwmchipN/export
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		Exports a PWM channel from the PWM chip for sysfs control.
 | 
						|
		Value is between 0 and /sys/class/pwm/pwmchipN/npwm - 1.
 | 
						|
 | 
						|
What:		/sys/class/pwm/pwmchipN/unexport
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		Unexports a PWM channel.
 | 
						|
 | 
						|
What:		/sys/class/pwm/pwmchipN/pwmX
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		A /sys/class/pwm/pwmchipN/pwmX directory is created for
 | 
						|
		each exported PWM channel where X is the exported PWM
 | 
						|
		channel number.
 | 
						|
 | 
						|
What:		/sys/class/pwm/pwmchipN/pwmX/period
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		Sets the PWM signal period in nanoseconds.
 | 
						|
 | 
						|
What:		/sys/class/pwm/pwmchipN/pwmX/duty_cycle
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		Sets the PWM signal duty cycle in nanoseconds.
 | 
						|
 | 
						|
What:		/sys/class/pwm/pwmchipN/pwmX/polarity
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		Sets the output polarity of the PWM signal to "normal" or
 | 
						|
		"inversed".
 | 
						|
 | 
						|
What:		/sys/class/pwm/pwmchipN/pwmX/enable
 | 
						|
Date:		May 2013
 | 
						|
KernelVersion:	3.11
 | 
						|
Contact:	H Hartley Sweeten <hsweeten@visionengravers.com>
 | 
						|
Description:
 | 
						|
		Enable/disable the PWM signal.
 | 
						|
		0 is disabled
 | 
						|
		1 is enabled
 |