Re: [PATCH] staging: Documentation: dds: replace frequencyY with frequency
From: Abinash Singh
Date: Tue May 12 2026 - 12:51:50 EST
Hi Jonathan
On Tue, May 12, 2026 at 7:38 PM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
>
> On Mon, 11 May 2026 22:42:55 +0530
> Abinash Singh <abinashsinghlalotra@xxxxxxxxx> wrote:
>
> > From: Abinash Singh <abinashlalotra@xxxxxxxxx>
> >
> > The documented frequencyY attribute naming is implementation
> > specific and differs from common IIO sysfs attribute
> > conventions.
> >
> > Replace the non-standard frequencyY attribute documentation with
> > out_altvoltageX_frequency and document tuning word selection
> > through out_altvoltageX_frequencysymbol
> >
> > This makes the documented ABI naming consistent with standard
> > IIO sysfs attribute conventions and clarifies how tuning word
> > registers are selected and programmed.
> >
>
> Hmm. So some history on why it was done like this (long time back
> but I think I recall the basic argument).
>
> Consider the programming you need to set up FSK on a channel and
> the fact that someone is recieving the result.
>
> When you set the symbol to program it that channel will begin
> outputting the voltage. That means someone at the other end starts
> decoding it.
>
> Hence we normally expect to set a frequency 'before' changing the
> symbol. Hence the per symbol files.
>
> There might be a valid way to set them up using your proposed
> interface but I'm not currently understanding what it is.
I think I misunderstood the purpose of
out_altvoltageX_frequencysymbol.
I initially thought it was used to select which tuning word register
to write into, whereas it actually selects the active output tuning
word. That explains why my proposed interface was confusing.
The ordering requirement you described for FSK setup makes sense now.
With separate frequency0/frequency1 files, userspace can configure both
tuning words before switching the active symbol.
>
> We went through the same dance with the more complex DDS that
> Rodrigo is working on. Take a look at the multichannel approach
> he is using. It may apply here - I'm not sure.
>
With my approach we can have a new entry /out_altvoltageX_frequencySelect
which can act as a mux to write into FREQ0 and FREQ1 register
via /out_altvoltage_frequency.
I will take a look at Rodrigo's multichannel DDS approach before
proposing any ABI changes further. It would be helpful if you could
share links to the relevant discussion or patches.
>
> >
> > Signed-off-by: Abinash Singh <abinashlalotra@xxxxxxxxx>
> > ---
> >
> > The out_altvoltageX_frequencysymbol and
> > out_altvoltageX_frequency_scale attributes can be added
> > through extended channel attributes (.ext_info in channel_spec struct of IIO)
> >
> > Feedback on this approach would be appreciated, and if
> > there is some other way in your mind. I would like to
> > work on that.
> >
> > I am also interested in working on the sysfs-bus-iio-dds
> > documentation and the ad9834 driver. I recently bought an
> > AD9833 IC for experimentation and testing.
> >
> Excellent!
>
> Thanks,
>
> Jonathan
>
> > Thanks
And do we need to really work on this documentation in order to work on ad9834.c
What else can be done in ad9834.c apart from this naming.??
Thanks
Abinash Singh