MT7620A--如何开启RGMII口
MT7620A--How to enable RGMII port
你好,
我有一个 MT7620 板,想使用 RGMII 端口,数据表上有板,它显示了一个像我一样的图表 post。红圈区域。显示 RGMII 以某种方式进入交换机端口,据我所知,这是板上的 LAN 端口。
我的问题是如何启用 RGMII,并将其连接到我的设备(我应该连接板上的哪个端口)。它是自动配置还是我需要为它做些什么(例如,DTS)。
我是新手,请详细回答。如果我有任何不清楚的地方,请询问。谢谢
已经好几天了,没人来回答,只是post我找到的问题。
我从实验室借了一些机器,以便我可以检查船上的信号。我将电路板连接到互联网,另一侧连接到我的笔记本电脑。并在浏览器上打开一个视频页面。这样板子和我的笔记本电脑之间就会有一些数据流。
我用机器检查电路图显示的电路板上的引脚属于RGMII。但是什么也没有,没有信号出现。这意味着 RGMII 引脚默认不工作。
所以我假设我需要编辑一些 DTS 以启用 RGMII 信号。但我现在不知道该怎么做。如果有人知道的话。请写下来。谢谢。
我不确定您使用的具体电路板是什么,但是是的,必须配置 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 是一个 link 你可以开始。这是一个示例,取自同一来源-
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>;
};
};
};
希望这能让您入门。
你好, 我有一个 MT7620 板,想使用 RGMII 端口,数据表上有板,它显示了一个像我一样的图表 post。红圈区域。显示 RGMII 以某种方式进入交换机端口,据我所知,这是板上的 LAN 端口。
我的问题是如何启用 RGMII,并将其连接到我的设备(我应该连接板上的哪个端口)。它是自动配置还是我需要为它做些什么(例如,DTS)。
我是新手,请详细回答。如果我有任何不清楚的地方,请询问。谢谢
已经好几天了,没人来回答,只是post我找到的问题。
我从实验室借了一些机器,以便我可以检查船上的信号。我将电路板连接到互联网,另一侧连接到我的笔记本电脑。并在浏览器上打开一个视频页面。这样板子和我的笔记本电脑之间就会有一些数据流。
我用机器检查电路图显示的电路板上的引脚属于RGMII。但是什么也没有,没有信号出现。这意味着 RGMII 引脚默认不工作。
所以我假设我需要编辑一些 DTS 以启用 RGMII 信号。但我现在不知道该怎么做。如果有人知道的话。请写下来。谢谢。
我不确定您使用的具体电路板是什么,但是是的,必须配置 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 是一个 link 你可以开始。这是一个示例,取自同一来源-
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>;
};
};
};
希望这能让您入门。