MT7620A - 如何启用RGMII端口

时间:2016-09-09 02:20:03

标签: openwrt mt

funcctional Block Diagram

您好,   我有一个MT7620主板,并且想要使用RGMII端口,在数据表自带的主板上,它显示了我发布的图表。红圈区。显示RGMII以某种方式进入交换机端口,根据我的理解,它是板上的LAN端口。

我的问题是如何启用RGMII,并将其连接到我的设备(我应连接的主板上的哪个端口)。它是一个自动配置还是我需要为它做一些事情(例如,DTS)。

我是新手,所以请回答更多细节。如果我做不清楚的事,请问。谢谢

2 个答案:

答案 0 :(得分:0)

已经过了几天,但没有人来回答,只是发布了我的问题。

我从实验室借一些机器,以便我可以检查船上的信号。我将电路板连接到互联网,将笔记本电脑连接到另一侧。并在浏览器上打开视频页面。所以在主板和我的笔记本电脑之间会有一些数据流。

我用机器检查电路板上显示的电路图上的引脚属于RGMII。但没有任何东西,没有信号出现。这意味着RGMII引脚默认不起作用。

所以我假设我需要编辑一些DTS来启用RGMII信号。但我现在不知道该怎么做。如果有人知道的话。请写下来。谢谢。

答案 1 :(得分:0)

我不确定您使用的是哪个板,但是是的,必须配置RGMII引脚。如果将PHY连接到微控制器,则需要指定TX和RX时钟以及其他数据引脚的协商速度。与此类似-

const IfxGeth_Eth_RgmiiPins Rgmiipins = {
        //Set the reference clock
        .txClk = &IfxGeth_TXCLK_P11_4_OUT , 
        .txd0 = &IfxGeth_TXD0_P11_3_OUT ,
        .txd1 = &IfxGeth_TXD1_P11_2_OUT ,
        .txd2 = &IfxGeth_TXD2_P11_1_OUT ,
        .txd3 = &IfxGeth_TXD3_P11_0_OUT ,
        .txCtl = &IfxGeth_TXCTL_P11_6_OUT , 
        .rxClk = &IfxGeth_RXCLKA_P11_12_IN ,
        .rxd0 = &IfxGeth_RXD0A_P11_10_IN ,
        .rxd1 = &IfxGeth_RXD1A_P11_9_IN ,
        .rxd2 = &IfxGeth_RXD2A_P11_8_IN ,
        .rxd3 = &IfxGeth_RXD3A_P11_7_IN ,
        .rxCtl = &IfxGeth_RXCTLA_P11_11_IN ,    
        .mdc = &IfxGeth_MDC_P12_0_OUT ,     
        .mdio = &IfxGeth_MDIO_P12_1_INOUT , 
        .grefClk = &IfxGeth_GREFCLK_P11_5_IN ,  
};

现在,您说您正在将其连接到笔记本电脑。我没有完全理解您的问题,但是如果某个地方涉及Linux内核,那么您需要修改设备树。 Here是您可以开始的链接。这是一个示例,取自同一来源-

 ethernet@e000b000 {
            compatible = "cdns,zynq-gem", "cdns,gem";
            reg = <0xe000b000 0x1000>;
            status = "okay";
            interrupts = <0x0 0x16 0x4>;
            clocks = <0x1 0x1e 0x1 0x1e 0x1 0xd>;
            clock-names = "pclk", "hclk", "tx_clk";
            #address-cells = <0x1>;
            #size-cells = <0x0>;
            local-mac-address = [00 0a 35 00 00 00];
            phy-mode = "rgmii-id";
            xlnx,ptp-enet-clock = <0x6750918>;
            phy-handle = <0x4>;

            mdio {
                #address-cells = <0x1>;
                #size-cells = <0x0>;

                phy@1 {
                    compatible = "realtek,RTL8211E";
                    device_type = "ethernet-phy";
                    reg = <0x1>;
                    linux,phandle = <0x4>;
                    phandle = <0x4>;
                };
            };
        };

希望这会帮助您入门。