ADRV9009-Custom profile

Hello, 

Considering the fact that there is no profile generator (Same as what we had for ad9371) we need to change the sampling rate, etc manually within the GUI. The point is that if you look at 9371 profile generator there is a long list of constraints that you need to follow to be able to have a working profile (https://wiki.analog.com/resources/eval/user-guides/mykonos/software/filters  ---> bottom of the page). 
However, now we do not know anything about those limitations for the adrv9009. So changing the values freely in the GUI is not possible since it generates error output. Using TES I can generate the profile that I want (Tx-rate of 491.52 Mhz and Rx rate of 245.76 MhZ). Here is the screenshot of TES software which I could program the board for. 
Now I want to have the same thing but via the iio-oscilloscope. However, when I manually change the rates at the oscilloscope software it generates some errors. 

I wonder if there is any possibility to export the profile from TES and use it in iio-oscilloscope. 

Thanks a lot in advance. 
Parents
    •  Analog Employees 
    on Sep 3, 2018 9:51 AM

    There will be a profile generator for the ADRV9009 family of products, very similar to the AD9371 profile generator.

    It should release soon - feel free to ask for the schedule on the ADRV9009 design support forum.

    https://ez.analog.com/wide-band-rf-transceivers/design-support-adrv9008-1-adrv9008-2-adrv9009/

    -Michael

    •  Analog Employees 
    on Sep 3, 2018 9:57 AM in reply to mhennerich

    I moved this thread for you.

    -Michael

    •  Analog Employees 
    on Sep 11, 2018 8:28 AM in reply to mhennerich

    Just some follow up -

    In order to load this profile you can workaround the issue by changing following settings on the OSC plugin ADRV9009 advanced tab prior in loading the 491MSPS Tx profile:

    • ORX Settings -> set OSB RX Channel Enable > ORX1
    • JESD Framer -> B -> M -> 2
    • JESD Framer -> B -> F -> 2

    Then "Save Settings" and wait 

    On the ADRV9009 tab now load the profile.

    Alternatively you can apply this device tree patch, which does the same.  

    diff --git a/arch/arm64/boot/dts/xilinx/adi-adrv9009.dtsi b/arch/arm64/boot/dts/xilinx/adi-adrv9009.dtsi
    index 2cceae6..0635ed6 100644
    --- a/arch/arm64/boot/dts/xilinx/adi-adrv9009.dtsi
    +++ b/arch/arm64/boot/dts/xilinx/adi-adrv9009.dtsi
    @@ -145,9 +145,9 @@
                    adi,jesd204-framer-b-bank-id = <0>;
                    adi,jesd204-framer-b-device-id = <0>;
                    adi,jesd204-framer-b-lane0-id = <0>;
    -               adi,jesd204-framer-b-m = <4>;
    +               adi,jesd204-framer-b-m = <2>;
                    adi,jesd204-framer-b-k = <32>;
    -               adi,jesd204-framer-b-f = <4>;
    +               adi,jesd204-framer-b-f = <2>;
                    adi,jesd204-framer-b-np = <16>;
                    adi,jesd204-framer-b-scramble = <1>;
                    adi,jesd204-framer-b-external-sysref = <1>;
    @@ -249,7 +249,7 @@
                    adi,orx-gain-control-orx2-min-gain-index = <195>;
     
                    adi,obs-settings-framer-sel = <1>;
    -               adi,obs-settings-obs-rx-channels-enable = <3>;
    +               adi,obs-settings-obs-rx-channels-enable = <1>;
                    adi,obs-settings-obs-rx-lo-source = <0>;
     
                    /* TX */
    diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev10-adrv9009.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev10-adrv9009.dts
    index 036af22..8b5fe56 100644
    --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev10-adrv9009.dts
    +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev10-adrv9009.dts
    @@ -189,7 +189,7 @@
                            #clock-cells = <0>;
                            clock-output-names = "jesd_rx_os_lane_clk";
     
    -                       adi,octets-per-frame = <4>;
    +                       adi,octets-per-frame = <2>;
                            adi,frames-per-multiframe = <32>;
                    };
    

    -Michael

  • Thanks for the assistance!

    But i still have problems to set it up. Previous errors are gone. I get the following print from my serial port:

    [ 8469.118330] axi_adxcvr 84a80000.axi-adxcvr-tx: qpll: fb_div=40, qpll: refclk_div=1
    [ 8469.134846] axi_adxcvr 84a50000.axi-adxcvr-rx-os: cpll: fb_div_N1=5
    [ 8469.134846] cpll: fb_div_N2=4
    [ 8469.134846] cpll: refclk_div=1
    [ 8469.147023] adrv9009 spi32766.1: ADIHAL_resetHw at index

    I have made the settings like you described:

        

    I have pressed the save settings.

    And then I load: Tx_BW400_IR491p52_Rx_BW200_OR245p76_ORx_BW400_OR491p52_DC245p76.txt

    If I check my spectrum analyzer, I see the LO leakage (-70 dBm) on the desired frequency. But the DDS or the DAC buffer output buffer didn't produce anything. The largest tone on my spectrum analyzer is -40dBm@10,765GHz.

    When I start the calibration sequence for CAL TX QEC and CAL TX LOL a stronger signal appears during the calibration. But when it finishes only the LO leakage is visible.

    Maybe I need to set this somewhere in the ADRV9009 Advanced tab?

         -                       adi,octets-per-frame = <4>;
        +                       adi,octets-p

    •  Analog Employees 
    on Sep 11, 2018 12:26 PM in reply to JV-IE

    The counterpart of the link can't be set in the advanced tab. You would need to do this in the device tree.

    However in my testing I also didn't do it, the TX link came up. Samples coming out of the observation channel are not right in this setup, but this is expected.   

    Can you read the jesd status files like in the example below?

    [ 87.280306] adrv9009 spi32766.1: ADIHAL_resetHw at index
    [ 87.289626] axi_adxcvr 84a80000.axi-adxcvr-tx: qpll: fb_div=40, qpll: refclk_div=1
    [ 87.306135] axi_adxcvr 84a50000.axi-adxcvr-rx-os: cpll: fb_div_N1=5
    [ 87.306135] cpll: fb_div_N2=4
    [ 87.306135] cpll: refclk_div=1
    [ 87.318306] adrv9009 spi32766.1: ADIHAL_resetHw at index

    root@analog:~# grep "" /sys/bus/platform/devices/*jesd*/status
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Link is enabled
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Measured Link Clock: 245.784 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Reported Link Clock: 245.760 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Lane rate: 9830.400 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Lane rate / 40: 245.760 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:SYNC~: deasserted
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Link status: DATA
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:SYSREF captured: Yes
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:SYSREF alignment error: No
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Link is enabled
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Measured Link Clock: 245.782 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Reported Link Clock: 245.760 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Lane rate: 9830.400 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Lane rate / 40: 245.760 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Link status: DATA
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:SYSREF captured: Yes
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:SYSREF alignment error: No
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Link is enabled
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Measured Link Clock: 245.782 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Reported Link Clock: 245.760 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Lane rate: 9830.400 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Lane rate / 40: 245.760 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Link status: DATA
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:SYSREF captured: Yes
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:SYSREF alignment error: No
    root@analog:~#

     

    -Michael

  • analog@analog:~$ grep "" /sys/bus/platform/devices/*jesd*/status
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Link is enabled
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Measured Link Clock: 245.786 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Reported Link Clock: 245.760 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Lane rate: 9830.400 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Lane rate / 40: 245.760 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:SYNC~: asserted
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Link status: CGS
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:SYSREF captured: Yes
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:SYSREF alignment error: No
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Link is enabled
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Measured Link Clock: 122.893 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Reported Link Clock: 122.880 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Lane rate: 4915.200 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Lane rate / 40: 122.880 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Link status: DATA
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:SYSREF captured: Yes
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:SYSREF alignment error: No
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Link is enabled
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Measured Link Clock: 245.786 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Reported Link Clock: 245.760 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Lane rate: 9830.400 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Lane rate / 40: 245.760 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Link status: DATA
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:SYSREF captured: Yes
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:SYSREF alignment error: No

Reply
  • analog@analog:~$ grep "" /sys/bus/platform/devices/*jesd*/status
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Link is enabled
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Measured Link Clock: 245.786 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Reported Link Clock: 245.760 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Lane rate: 9830.400 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Lane rate / 40: 245.760 MHz
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:SYNC~: asserted
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:Link status: CGS
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:SYSREF captured: Yes
    /sys/bus/platform/devices/84a90000.axi-jesd204-tx/status:SYSREF alignment error: No
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Link is enabled
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Measured Link Clock: 122.893 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Reported Link Clock: 122.880 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Lane rate: 4915.200 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Lane rate / 40: 122.880 MHz
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:Link status: DATA
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:SYSREF captured: Yes
    /sys/bus/platform/devices/84aa0000.axi-jesd204-rx/status:SYSREF alignment error: No
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Link is enabled
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Measured Link Clock: 245.786 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Reported Link Clock: 245.760 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Lane rate: 9830.400 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Lane rate / 40: 245.760 MHz
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:Link status: DATA
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:SYSREF captured: Yes
    /sys/bus/platform/devices/84ab0000.axi-jesd204-rx/status:SYSREF alignment error: No

Children