AnsweredAssumed Answered

What does cf_axi_dds 74204000.axi_ad9122: DRP unlocked mean?

Question asked by EdwardK on Mar 8, 2016
Latest reply on Mar 8, 2016 by EdwardK

I have a transmitter only design based on fmcomms1:

 

analogdevicesinc/hdl branch hdl_2015_r1 Vivado 2014.4.1

kernel xcomm_zynq 2eebbcd6c1f2461fb1aedcd52e6c03ecfa3c4746

 

What does "[0.915698] cf_axi_dds 74204000.axi_ad9122: DRP unlocked." mean?

 

A) dmesg

   [0.714754] bus: 'spi': add driver ad9523

   [0.714779] bus: 'spi': driver_probe_device: matched device spi1.3 with driver ad9523

   [0.714788] bus: 'spi': really_probe: probing driver ad9523 with device spi1.3

   [0.714837] ad9523 spi1.3: no default pinctrl state

   [0.714991] ad9523 spi1.3: Looking up vcc-supply from device tree

   [0.715005] ad9523 spi1.3: Looking up vcc-supply property in node /amba_pl/axi_quad_spi@41e00000/ad9523-lpc@3 faild

   [0.715012] spi1.3 supply vcc not found, using dummy regulator

   [0.750746] device: 'iio:device1': device_add

   [0.750947] bus: 'iio': add device iio:device1

   [0.751119] ad9523 spi1.3: probed ad9523-lpc

   [0.754022] driver: 'ad9523': driver_bound: bound to device 'spi1.3'

 

 

   [0.813384] bus: 'platform': driver_probe_device: matched device 74204000.axi_ad9122 with driver cf_axi_dds

   [0.813393] bus: 'platform': really_probe: probing driver cf_axi_dds with device 74204000.axi_ad9122

   [0.813415] cf_axi_dds 74204000.axi_ad9122: no default pinctrl state

   [0.915698] cf_axi_dds 74204000.axi_ad9122: DRP unlocked.

 

 

 

 

B) sysfs @ boot

   name:ad9523-lpc

   out_altvoltage0_ZD_OUTPUT_frequency:122880000

   out_altvoltage0_ZD_OUTPUT_phase:0.000000

   out_altvoltage0_ZD_OUTPUT_raw:1

   out_altvoltage11_NB_LO_REF_CLK_frequency:122880000

   out_altvoltage11_NB_LO_REF_CLK_phase:0.000000

   out_altvoltage11_NB_LO_REF_CLK_raw:1

   out_altvoltage12_DAC_CLK_frequency:491520000

   out_altvoltage12_DAC_CLK_phase:0.000000

   out_altvoltage12_DAC_CLK_raw:1

   out_altvoltage13_DAC_DCO_CLK_frequency:245760000

   out_altvoltage13_DAC_DCO_CLK_phase:0.000000

   out_altvoltage13_DAC_DCO_CLK_raw:1

   out_altvoltage5_WB_LO_REF_CLK_frequency:122880000

   out_altvoltage5_WB_LO_REF_CLK_phase:0.000000

   out_altvoltage5_WB_LO_REF_CLK_raw:1

   out_altvoltage9_DAC_REF_CLK_frequency:30720000

   out_altvoltage9_DAC_REF_CLK_phase:0.000000

   out_altvoltage9_DAC_REF_CLK_raw:1

   pll1_locked:1

   pll1_reference_clk_a_present:0

   pll1_reference_clk_b_present:1

   pll1_reference_clk_test_present:0

   pll2_feedback_clk_present:1

   pll2_locked:1

   pll2_reference_clk_present:1

 

 

C) sysfs manual corrections and status

   out_altvoltage13_DAC_DCO_CLK_frequency:491520000

   out_altvoltage9_DAC_REF_CLK_frequency:61440000

   pll1_locked:1

   pll2_locked:1

 

 

D) cd /sys/bus/platform/drivers/cf_axi_dds && echo 74204000.axi_ad9122 > bind

   [232.643226] cf_axi_dds 74204000.axi_ad9122: no default pinctrl state

   [232.739430] cf_axi_dds 74204000.axi_ad9122: DRP unlocked.

   [232.739468] cf_axi_dds: probe of 74204000.axi_ad9122 failed with error -110

 

 

E) Device tree

 

 

   &axi_ad9122_dma {

    compatible = "adi,axi-dmac-1.00.a";

    #dma-cells = <1>;

    clocks = <&clkc 16>;

 

 

    dma-channel {

    adi,buswidth = <64>;

    adi,type = <1>;

    adi,cyclic;

    };

   };

 

 

   &axi_ad9122 {

    compatible = "adi,axi-ad9122-6.00.a";

    reg = <0x74204000 0x10000>;

    spibus-connected = <&dac_ad9122>;

    dmas = <&axi_ad9122_dma 0>;

    dma-names = "tx";

    dac-sample-frequency = <400000000>;

    xlnx,dphase-timeout = <0x8>;

    xlnx,num-mem = <0x1>;

    xlnx,num-reg = <0x1>;

    xlnx,s-axi-min-size = <0x1ff>;

    xlnx,slv-awidth = <0x20>;

    xlnx,slv-dwidth = <0x20>;

    xlnx,use-wstrb = <0x0>;

   };

 

 

   &axi_quad_spi_0 {

    #address-cells = <1>;

    #size-cells = <0>;

 

 

    clk0_ad9523: ad9523-lpc@3 {

    #address-cells = <1>;

    #size-cells = <0>;

    #clock-cells = <1>;

    compatible = "ad9523-1";

    reg = <0x3>;

    spi-max-frequency = <10000000>;

    /*spi-3wire;*/

    clock-output-names = "ad9523-lpc_out0", "ad9523-lpc_out1", "ad9523-lpc_out2", "ad9523-lpc_out3", "ad9523-lpc_out4", "ad9523-lpc_out5", "ad9523-lpc_out6", "ad9523-lpc_out7", "ad9523-lpc_out8", "ad9523-lpc_out9", "ad9523-lpc_out10", "ad9523-lpc_out11", "ad9523-lpc_out12", "ad9523-lpc_out13";

    adi,vcxo-freq = <122880000>;

    adi,refb-diff-rcv-enable;

    adi,zd-in-diff-enable;

    adi,osc-in-cmos-neg-inp-enable;

    adi,refa-r-div = <0>;

    adi,refb-r-div = <0>;

    adi,pll1-feedback-div = <4>;

    adi,pll1-charge-pump-current-nA = <2000>;

    adi,refa-cmos-neg-inp-enable;

    adi,pll1-loop-filter-rzero = <3>;

    adi,ref-mode = <3>;

    adi,pll2-charge-pump-current-nA = <420000>;

    adi,pll2-ndiv-a-cnt = <0>;

    adi,pll2-ndiv-b-cnt = <3>;

    adi,pll2-freq-doubler-enable;

    adi,pll2-r2-div = <1>;

    adi,pll2-vco-diff-m1 = <3>;

    adi,pll2-vco-diff-m2 = <3>;

    adi,rpole2 = <0>;

    adi,rzero = <2>;

    adi,cpole1 = <2>;

 

 

    ad9523_0_c0:channel@0 {

    reg = <0>;

    adi,extended-name = "ZD_OUTPUT";

    adi,driver-mode = <2>;

    adi,divider-phase = <0>;

    adi,channel-divider = <8>;

    };

 

 

    ad9523_0_c12:channel@12 {

    reg = <12>;

    adi,extended-name = "DAC_CLK";

    adi,driver-mode = <1>;

    adi,divider-phase = <0>;

    adi,channel-divider = <2>;

    };

 

 

    ad9523_0_c9:channel@9 {

    reg = <9>;

    adi,extended-name = "DAC_REF_CLK";

    adi,driver-mode = <2>;

    adi,divider-phase = <0>;

    adi,channel-divider = <16>;

    };

 

 

    ad9523_0_c13:channel@13 {

    reg = <13>;

    adi,extended-name = "DAC_DCO_CLK";

    adi,driver-mode = <3>;

    adi,divider-phase = <0>;

    adi,channel-divider = <2>;

    };

 

 

    ad9523_0_c5:channel@5 {

    reg = <5>;

    adi,extended-name = "WB_LO_REF_CLK";

    adi,driver-mode = <8>;

    adi,divider-phase = <0>;

    adi,channel-divider = <8>;

    adi,sync-ignore-enable;

    };

 

 

    ad9523_0_c11:channel@11 {

    reg = <11>;

    adi,extended-name = "NB_LO_REF_CLK";

    adi,driver-mode = <8>;

    adi,divider-phase = <0>;

    adi,channel-divider = <8>;

    adi,sync-ignore-enable;

    };

    };

 

 

    dac_ad9122: dac-ad9122@0 {

    #address-cells = <1>;

    #size-cells = <0>;

    compatible = "ad9122";

    reg = <0x0>;

    spi-max-frequency = <10000000>;

    clocks = <&clk0_ad9523 13>, <&clk0_ad9523 12>, <&clk0_ad9523 9>;

    clock-names = "data_clk", "dac_clk", "ref_clk";

    dac-fcenter-shift = <0>;

    dac-interp-factor = <2>;

    /*dac-data-rate = <491520000>;*/

    dac-data-rate = <245760000>;

    temp-sensor-calibration-temperature-mdeg = <25000>;

    };

 

 

    fixed_lo_adf4350: fixed-lo-adf4350-tx@1 {

    #address-cells = <1>;

    #size-cells = <0>;

    compatible = "adf4350";

    reg = <0x1>;

    spi-max-frequency = <10000000>;

    clocks = <&clk0_ad9523 11>;

    clock-names = "clkin";

    vcc-supply = <&fixed_3v_reg>;

    regulator-name = "vcc";

    adi,channel-spacing = <100000>;

    adi,power-up-frequency = <3030000000>;

    adi,gpio-lock-detect = <&axi_gpio_tx_ic 1 0>;

    adi,phase-detector-polarity-positive-enable;

    adi,charge-pump-current = <2500>;

    adi,muxout-select = <6>;

    adi,output-power = <3>;

    adi,mute-till-lock-enable;

    };

 

 

    wb_lo_adf5355: wb-lo-adf5355-tx@2 {

    #clock-cells = <0>;

    gpios = <&axi_gpio_tx_ic 0 0>;

    compatible = "adf5355";

    reg = <0x2>;

    spi-max-frequency = <10000000>;

    clocks = <&clk0_ad9523 5>;

    clock-names = "clkin";

    clock-output-names = "ADF5355";

    vcc-supply = <&fixed_3v_reg>;

    regulator-name = "vcc";

    adi,charge-pump-current = <900>;

    adi,muxout-select = <6>;

    adi,mute-till-lock-enable;

    adi,output-a-power = <3>;

    adi,output-b-power = <0>;

    adi,charge-pump-negative-bleed-enable;

    adi,reference-differential-input-enable;

    adi,power-up-frequency = /bits/ 64 <464000000>;

    adi,clock-shift = <2>;

    adi,reference-doubler-enable;

    };

   };

Outcomes