AnsweredAssumed Answered

ad9517 fireware cause kernel cut

Question asked by liuyang123123 on Jul 6, 2018
Latest reply on Jul 10, 2018 by liuyang123123

I use AD9265FMC card and Zedboard for develop, I want to use the ad9517-4 to get a 102.4MHz clock in output5, now I use a 100MHz external crystal oscillator, set PFD to 4MHz, and internal VCO 1536MHz, then divider 15 to get the 102.4MHz clock, but now I find a very strange phenomenon, kernel cut when ad9517 probe.

My device and software change is:

1.change the ad9265fmc hardware and promise the 100MHz oscillator connect to ad9517 and ad9517's output5 connect to ad9265.

2.use the ADIsimCLK v1.5 software generate the PLL loop filter parameter(now the PLL is not locked and generate 123MHz clock, when I use ADIsimCLK v1.70.06, it error and display Error 608:  VCO input capacitance too large for this design).

3.use AD9516/17/18 Evaluation software generate the correct .stp fireware and copy it to kernel/fireware, and in the dts, use the fireware like this:

                     clk_ad9517: ad9517@1 {
                           #address-cells = <1>;
                           #size-cells = <0>;
                           #clock-cells = <1>;
                           compatible = "adi,ad9517-4";
                           reg = <1>;
                           spi-max-frequency = <10000000>;
                            clocks = <&ad9517_ref_clk>;
                          clock-names = "refclk";
                           clock-output-names = "out0", "out1", "out2", "out3", "out4", "out5", "out6", "out7";
                           firmware = "ad9517_internalVCO_102.4M.stp";

                            adi,spi-3wire-enable;
                    };

                     clocks {
                              ad9517_ref_clk: clock@0 {
                              #clock-cells = <0>;
                              compatible = "fixed-clock";
                              clock-frequency = <100000000>;
                              clock-output-names = "ad9517_refclk";
                              };
                     };

4.make, get the uImage and devicetree.dtb , then kernel cut. If I annotate "firmware = "ad9517_internalVCO_102.4M.stp";", the kernel can boot correctly.

 

I want to know why kernel cut if I use ad9517_internalVCO_102.4M.stp fireware, and how can I use ad9517 fireware for kernel. And how can I get the 102.4MHz clock from ad9517-4, why the PLL is not lock and generate 123MHz clock?

Thanks a lot, best regards!

by yang.

Outcomes