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. Regards, Hans