how to set mii speed in fec driver

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

how to set mii speed in fec driver

ソリューションへジャンプ
956件の閲覧回数
ankitpanchal167
Contributor III

Hi 

i want to set mii speed of fec as 1 Mhz on imx8mp.

how to i set mii speed 1 Mhz? 

Right now it's 2.5 Mhz.

we are try to set using fec_main.c file but not able to set some time its very high frequncy. 

here added fec mii speed snap 

mii_speed = DIV_ROUND_UP(clk_get_rate(fep->clk_ipg), 5000000);
if (fep->quirks & FEC_QUIRK_ENET_MAC)
mii_speed--;
if (mii_speed > 63) {
dev_err(&pdev->dev,
"fec clock (%lu) too fast to get right mii speed\n",
clk_get_rate(fep->clk_ipg));
err = -EINVAL;
goto err_out;
}

holdtime = DIV_ROUND_UP(clk_get_rate(fep->clk_ipg), 100000000) - 1;

fep->phy_speed = mii_speed << 1 | holdtime << 8;

writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);

As per code we are below value are geting for 2.5 Mhz  

mii_speed = 54

clk_get_rate(fep->clk_ipg) = 266666666

holdtime = 2 

 How to set  1 Mhz  instead of 2.5 Mhz ? 

which value i want  to change ?

we are using imx8mp 5.4 kernel 

 

 

0 件の賞賛
1 解決策
944件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Ankit

 

in general one can try to decrease value of parent clock using const imx8mp_enet_ref_sels[] 

in clock driver

https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/clk/imx/clk-imx8mp.c?h=lf-5.10.y

https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp.dtsi?...

However setting such low frequency seems out of ENET specification as i.MX8M Plus supports

only RMII and RGMII as described in sect.3.8.3 Ethernet controller (ENET) AC electrical specifications

i.MX 8M Plus Applications Processor Datasheet for Consumer Products

 

Best regards
igor

元の投稿で解決策を見る

0 件の賞賛
1 返信
945件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Ankit

 

in general one can try to decrease value of parent clock using const imx8mp_enet_ref_sels[] 

in clock driver

https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/clk/imx/clk-imx8mp.c?h=lf-5.10.y

https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp.dtsi?...

However setting such low frequency seems out of ENET specification as i.MX8M Plus supports

only RMII and RGMII as described in sect.3.8.3 Ethernet controller (ENET) AC electrical specifications

i.MX 8M Plus Applications Processor Datasheet for Consumer Products

 

Best regards
igor

0 件の賞賛