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