Em Wed, 2 Oct 2024 11:21:57 +0200 Hans Verkuil <hverkuil@xxxxxxxxx> escreveu: > Hi Robert, > > On 10/1/24 15:35, Robert Tiemann wrote: > > Hi! > > > > We'd like to use the Silicon Labs Si4688 FM/HD/DAB/DAB+ radio receiver > > chip in a product, but there is no kernel support for it yet. We have > > the full datasheet and Si468x Programming Guide available, so it > > should be possible to write a driver for that chip. The kernel > > supports the Si4768 already (which can do AM/FM/HD radio, but not > > DAB/DAB+), so I figured it should not be to hard to get the Si4688 > > supported... > > > > Then I checked the kernel sources for how DAB+ radio tuners are > > supposed to be handled by V4L2, but found nothing. Seems like V4L2 is > > restricted to abstraction of analog radio tuners, and there is > > currently no way to support DAB+ receivers. Is this correct or did I > > miss something? The same seems to be true about FM HD (the > > radio-si476x driver doesn't seem to support FM HD, only AM and FM). > > > > Now, my question is, how should the FM HD/DAB/DAB+ parts of a > > hypothetical radio-si468x driver be implemented? Since DAB is quite > > different from FM, do we need a new tuner type in addition to > > V4L2_TUNER_RADIO? Or just new V4L2_BAND_MODULATION_FM_HD and > > V4L2_BAND_MODULATION_DAB definitions? Or is V4L2 sufficient the way > > it is and I am simply failing to understand how it should work? > > First of all, I don't think we have any drivers that support DAB(+) today > in the mainline kernel. My limited understanding of DAB is that it is actually > something you would implement as part of the DVB API (digital video broadcasting). > > I see a SYS_DAB in include/uapi/linux/dvb/frontend.h, suggesting that it is > indeed something that should be part of dvb, but that's where my knowledge > ends. > > I CCed Mauro, he is the DVB expert, and he might know more about this. Yeah, the best is to implement DAB support using DVB API. There are some media drivers that support both V4L2 and DVB API, but, as we don't have currently any driver using SYS_DAB, we'll probably need to add some properties to handle it at the DVB frontend API. > > Regards, > > Hans Thanks, Mauro