LMS7002M initialization sequance

I am developing custom FPGA load for LimeSDR MiniV2.
General project idea is to create standalone handheld SDR radio based on LMS7002M and STM32 micro controller (like portapack for HackRF).
I am using GPIO pins of LimeSDR MiniV2 for QSPI and interrupts between FPGA and STM32.
What i have now is ability to r/w LMS registers from MCU and ‘null’ base-band in FPGA (directly forwarding IQ samples to MCU).
I would like to start testing with LMS7002M in the loop, but i can’t find documentation of LMS7002M initialization sequence.
What i need is :

  • minimal LMS7002M initialization (power, clock ?)
  • LimeLight initialization (TEST pattern on RX, TX → RX loopback)

Any ideas about where to look for documentation or example code ?

Very cool project!

You can find all the documentation in:

I would have thought there would be initialisation code as part of Lime Suite. I’m not certain, but @ricardas could likely point to this.

Hi, do you need just the LMS7002M registers values for the initialization, or something more? To configure clocks some values need to be tuned dynamically. Can you use C++ on your MCU, or are you limited to C?
The current C++ LMS7002M control logic is in progres of being ported to C for embedded use.

In the end i need register values.
My current MCU code is in Rust, C library could be integrated into it.

On the other hand i would like to understand reasoning behind those values and order of initialization.
I already taken deep look at the documentation of LMS7002M.
Datasheet gives good overview of the chip.
On the other hand Programming and Calibration manual describe configuration registers but not their relation to chip behaviour.

It look like LimeSuiteNG/embedded/lms7002m/lms7002m.c at develop · myriadrf/LimeSuiteNG · GitHub is what i am looking for.