[PATCH 00/16 STAGING] Mirics MSi3101 SDR Dongle driver

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

 



It is driver for MSi3101 USB SDR designed by Mirics. I will pull-request
that soon for the Kernel 3.12 staging. It is not ready for mainline as
there is multiple issues. Biggest issues are; missing API controls and
stream format conversions should be implemented by libv4l2.

That driver is MSi3101 design, which consists of two chips: 1) USB ADC
called MSi2500 and RF-tuner called MSi001. So I will split that to the
two parts later...

USB ADC is a state of the art in the reverse-engineering as I was not
able to get documentation or other needed info, gah :-( Anyhow, it was
quite interesting as a point of learn the first USB ADC I have seen.
Biggest challenge was to discover how to calculate ADC sampling rate.
It was a typical Fractional-N PLL as all these are nowadays. First I
calculated sampling rates by the driver, after that brute forced PLL
registers with a different values and look what kind of data rate it is
outputting :) Nice trick - but took a lot of time.
Re-engineering such USB ADC is still a little bit easier than typical
DTV demodulator in my experience.

Another, not so hard, issue to mention was understand different stream
formats. Chip seems to offer multiple formats, best one I found seems to
offer even 14-bit resolution.

Special thanks to University Oulu HAM club, Oulun Teekkarien Radiokerho,
OH8TA, for the support I received. You rule!

Antti Palosaari (16):
  Mirics MSi3101 SDR Dongle driver
  msi3101: sample is correct term for sample
  msi3101: fix sampling rate calculation
  msi3101: add sampling mode control
  msi3101: enhance sampling results
  msi3101: fix stream re-start halt
  msi3101: add 2040:d300 Hauppauge WinTV 133559 LF
  msi3101: add debug dump for unknown stream data
  msi3101: correct ADC sampling rate calc a little
  msi3101: improve tuner synth calc step size
  msi3101: add support for stream format "252" I+Q per frame
  msi3101: init bits 23:20 on PLL register
  msi3101: fix overflow in freq setting
  msi3101: add stream format 336 I+Q pairs per frame
  msi3101: changes for tuner PLL freq limits
  msi3101: a lot of small cleanups

 drivers/staging/media/Kconfig               |    2 +
 drivers/staging/media/Makefile              |    1 +
 drivers/staging/media/msi3101/Kconfig       |    3 +
 drivers/staging/media/msi3101/Makefile      |    1 +
 drivers/staging/media/msi3101/sdr-msi3101.c | 1822 +++++++++++++++++++++++++++
 5 files changed, 1829 insertions(+)
 create mode 100644 drivers/staging/media/msi3101/Kconfig
 create mode 100644 drivers/staging/media/msi3101/Makefile
 create mode 100644 drivers/staging/media/msi3101/sdr-msi3101.c

-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux