This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于am335x中使用cdce913,如果配置为50MHz输出

Other Parts Discussed in Thread: CDCE913, CDCE925

我现在am335x的板子上使用的是cdce913,因为我用的网络一个是rgmii一个是rmii,rmii输出需要50MHz,我将这个时钟连接到cdce913的Y2上面了,但是无论我怎么配置,Y2最小的输出都是80MHz,我知道他的pll最小是80MHz,但是后面还有分频器啊,应该可以输出50MHz的时钟,这个我在设备树中应该如何设置呢!我的期望是Y1\25MHz,Y2\50MHz,Y3\25MHz或者50MHz也行。

  • 看一下board.c里的配置
    /**
    * RMII mode on ICEv2 board needs 50MHz clock. Given the clock
    * synthesizer With a capacitor of 18pF, and 25MHz input clock cycle
    * PLL1 gives an output of 100MHz. So, configuring the div2/3 as 2 to
    * give 50MHz output for Eth0 and 1.
    */
    static struct clk_synth cdce913_data = {
    .id = 0x81,
    .capacitor = 0x90,
    .mux = 0x6d,
    .pdiv2 = 0x2,
    .pdiv3 = 0x2,
    };
    #endif
  • 你好,非常感谢,这个是uboot里面的,但是如果在linux中,用设备树控制,那么设备树里面应该怎么设置呢!我看了,cdce913的设备树,也试过就是配置不出来50MHz
  • 看了\Documentation\devicetree\bindings\clock\ti,cdce925.txt文档吗?里面有在设备树里如何配置cdce913。
    另外,请参考下面帖子里的配置。
    e2e.ti.com/.../3199353
  • 再次感谢,我如果在uboot中写寄存器是可以实现913的输出50MHz的功能的,但是现在我想在linux的设备树中配置一下,达到这个要求,上面的文档我都查看过,我是先查看的文档和搜索相关的问题,没有得到答案,然后来提问的,非常感谢您的热心解答!
    CDCE913我的配置是这样的:
    cdce913: cdce913@65 { //地址为0x65
    compatible = "ti,cdce913";
    reg = <0x65>;
    clocks = <&xtal25mhz>; //输入时钟选择,这里为25mhz
    #clock-cells = <1>; /* 提供多个输出 */
    /* xtal-load-pf = <18>; */
    /* PLL options to get SSC 1% centered */
    PLL1 {
    spread-spectrum = <4>; //时钟精度,看数据手册,这里选1%
    spread-spectrum-center;
    // clock-frequency = <50000000>;
    };

    /* cdce913的输入时钟配置 */
    xtal25mhz: xtal25mhz {
    compatible = "fixed-clock";
    #clock-cells = <0>; /* 提供一个输出 */
    clock-frequency = <25000000>;
    };
    };

    因为在说明文档中提到过,cdce913系列,默认Y1直连晶振,Y2、Y3连PLL1,所以Y1不用设置,直接就是输入时钟的频率,然后我在PLL1中加入到下面的语句
    // clock-frequency = <50000000>;
    设置时钟的频率,但是得到的时钟频率最小都是80MHz,大于80MHz没问题,可以得到,我知道这个芯片的PLL1的最小倍频就是80MHz,但是他后面还有分频器啊,在设备树中如果设置这个分频器的值,我并没有找到!
    还是说ti提供的驱动,不支持80MHz一下的频率输出呢?
    这个我非常想知道!万分感谢!因为我不想将这个频率配置死,我如果切换到pru的mii模式,频率还是要调回到25MHz的。
  • 还有,上面你提到的帖子,我都查看了,没有得到想要的答案!
  • 建议您到e2e时钟论坛上咨询一下怎么配置 cdce913输出50MHz。
    e2e.ti.com/.../48