On 27/08/2013 05:55, Stephen Warren wrote:On 08/26/2013 11:01 AM, boris brezillon wrote:Hello Stephen,If the value is hard-coded in HW, why not use non-zero (or 1) to enable
On 26/08/2013 18:50, Stephen Warren wrote:On 08/24/2013 03:35 PM, Boris BREZILLON wrote:That's one of the question I asked in my cover letter :-)Add a new parameter to support deglitch filter configuration.Why not use the existing debounce property, just with a small delay
A deglitch filter works like a debounce filter but with a smaller
delay (nanoseconds).
specified. It seems like that's exactly what the property is for?
Indeed the at91 deglitch filter delay is not configurable and is statically
assigned to half a master clk cycle (if master clk = 133MHz -> 8 ns).
The debounce property argument is currently expressed in usecs.
This will result in always selecting the debounce filter (which is also
available on at91 SoCs) over the deglitch filter.
Could we add a flag in the deglitch argument to specify the delay unit
(nsecs or usecs) ?
and zero to disable?
Indeed at91 pins support both deglitch and debounce filter and I have to
choose
between the two given the argument value (in usec).
Here's what I can do:
if (arg >= 1/2 * slowclock) /* debounce case */
/* choose debounce filter and configure the delay
according to the given argument value */
else /* deglitch case */
/* choose deglitch filter */
Slow clock is running at 32KHz which gives a 30 usec clock cycle.
(this kind of thing is why I'm not convinced that generic pinconf works
so well... What if we need psecs in the future?)
Should I keep the at91 native pinconf binding and add the missing flags
to this binding
(OUTPUT configuration flags) ?
This was another question I asked in my cover letter: wether or not the
generic pinconf
binding should be used.