Re: [PATCH v4 3/3] counter: capture-tiecap: capture driver support for ECAP

From: William Breathitt Gray
Date: Mon Aug 15 2022 - 07:20:49 EST


On Sun, Aug 14, 2022 at 01:03:48PM -0400, William Breathitt Gray wrote:
> On Wed, Aug 10, 2022 at 04:07:24PM +0200, Julien Panis wrote:
> > +static int ecap_cnt_function_read(struct counter_device *counter,
> > + struct counter_count *count,
> > + enum counter_function *function)
> > +{
> > + *function = COUNTER_FUNCTION_INCREASE;
> > +
> > + return 0;
> > +}
> > +
> > +static int ecap_cnt_action_read(struct counter_device *counter,
> > + struct counter_count *count,
> > + struct counter_synapse *synapse,
> > + enum counter_synapse_action *action)
> > +{
> > + *action = COUNTER_SYNAPSE_ACTION_BOTH_EDGES;
> > +
> > + return 0;
> > +}
>
> Right now you have a Signal defined for the ECAPSIG line, but there is
> at least one more relevant Signal to define: the clock updating ECAPCNT.
> The Synapse action of COUNTER_SYNAPSE_ACTION_BOTH_EDGES is for that
> clock Signal, but for the ECAPSIG Signal you will need to report a
> Synapse action based on the polarity of the next capture (i.e. whether
> high or low).

I need to make a correction here. IIUC, the ECAPSIG signal doesn't
affect the count value of ECAPCNT (ECAPSIG only triggers the captures),
so the Synapse action for ECAPSIG should always be
COUNTER_SYNAPSE_ACTION_NONE. You don't need to account for the capture
polarities because they're not relevant in this particular situation:
ECAPSIG doesn't trigger the ECAPCNT count function.

William Breathitt Gray

Attachment: signature.asc
Description: PGP signature