RE: [PWM 01/10] API to consolidate PWM devices behind a common user and kernel interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 07, 2010 at 00:20:25, Bill Gatliff wrote:
> On Tue, Oct 5, 2010 at 5:35 AM, sugumar <sugumar.embedded@xxxxxxxxx> wrote:
> >   I have been working on writing generic PWM driver that provides 
> > common interface to all the PWM devices. I hadn't come across this 
> > thread until kevin pointed out. It looks like a very good 
> > implementation and i would like to make my eHRPWM driver to fit into 
> > this framework. eHRPWM (enhanced high resolution
> > pwm) module has other features such as Dead Band, PWM chopper and Trip 
> > Zone and i am not sure how to incorporate these in the generic 
> > framework. I really need you help here.
> 
> Ok.  Can you point me to a datasheet for the part?
> 
> >    I am sure the generic framework should support all the features 
> > provided by the PWM devices. For eg, eHRPWM has Trip-Zone feature 
> > where an asynchronous input (incase of short circuit .) can be configured to generate an interrupt.
> > I am interested in finding a way to handle this. Kindly give your comments.
> 
> Well, we could handle it in the generic framework by adding to the synchronization callback mechanism.  Or we could leave it as a
feature unique to the eHRPWM device, and a device-specific solution.
> 
> Maybe I will have a better idea once I look at the hardware.

Bill,
  Thanks for your comments. Also, I am not particularly clear about the pwm_set_handler function. 
  As far my understanding goes, in order to defer the work,

1. Set the "set_callback" variable in the pwm_device structure to the callback function.

2. Call the "pwm_set_handler" function to set the bottom halve handler and the data.

3. "pwm_set_handler" inturn invokes the call back function  defined in step 1 .The latter
   would set the PWM channel call back to "pwm_handler" function which is local to the PWM 
   framework.

4.Call the pwm_channel callback in the interrupt handler to queue the work for later processing.

1. Is my above understanding correct?

2. Single channel may support multiple interrupts.
   For eg., 
    pwm_set_handler(handler_1)
    pwm_set_handler(handler_2)

 	How to handle multiple interrupts with the above framework?

3. pwm_set_handler() -- Defines an end-of-period callback.
    
	Is the pwm_set_handler only used for the end-of-period interrupt.
	Can't it be used for other events ?


4. Various applications may require different actions to be handled in the interrupt
   handler (Eg. Motor Control, Backlight control ..). so, we cannot have a generic 
   interrupt handler in the pwm device driver. How to handle this? 

Regards,
N.Sugumar.
      








> b.g.
> --
> Bill Gatliff
> bgat@xxxxxxxxxxxxxxx
> --
> To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Gstreamer Embedded]     [Linux MMC Devel]     [U-Boot V2]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux ARM Kernel]     [Linux OMAP]     [Linux SCSI]

  Powered by Linux