Re: GSoC IIO project: Mugil

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

 



On 3/11/21 2:59 PM, Enrico Weigelt, metux IT consult wrote:
On 11.03.21 08:01, Mugil Raj wrote:

Hi,

[ CC'ing Utkarsh, who's got a similar question ]

This is Mugilraj, an undergrad at NIT Trichy, India. I'm applying to
GSoC'21 for the project IIO driver. So, I need help from you guys with
the application process and finding the device to develop a driver.

Since you're not very experienced, I suggest starting with some
simple device like plain ADCs. Several vendors like TI or AD offer
a huge range of ADCs where we no drivers for >
I'd start w/ the simple SPI based devices. It seems they've got quite
some overlap (quite simiar protocols), so parts of that maybe could be
consolidated into some common library code.

They are sometimes similar, but then have subtle differences. Sometimes hardware designers like to move bits around, just because they can.

For one family (100+ devices) we already have such a library, see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/adc/ad_sigma_delta.c.

What can make a good target for shared code is single channels converters (both ADCs and DACs),since there is really only that many ways how to implement that in hardware.



For simple ADCs, I've also got yet another(more complex) idea:

Create some 'simple-ADC' subsys, which gives a *simple* API for the
*simple* cases that's bridged to iio and hwmon (maybe even other
subsys's). The idea is getting actual hw drivers for those devices very
simple and small, make them usable in IIO as well as hwmon.

Not to forget ALSA. Some ADCs are multi-purpose so that they can be used for monitoring, but also audio applications.

I did propose such a ADC subsystem maybe 10 years ago. The conclusions back then was that we shouldn't create a subsystem for every sensor type and instead use IIO.


An interesting question here, that needs some deeper thoughs, is the
driver instantiation into the actual subsystems.

For example, if some DT says, there's some "ti,adcXYZABC" on the board,
what does that actually mean for us ? Where (eg. in which subsys) shall
it appear ? Is it an IIO or hwmon device ? Shall that decision even be
made only by DT, or do we rely on some other configuration layer ?

Yes, that is a really complicated question. DT is not supposed to describe the software (sub-)systems that are used.



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux