0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

米爾基于NXP iMX.93開發(fā)板的網(wǎng)卡驅(qū)動移植指南

米爾電子 ? 2024-07-20 08:01 ? 次閱讀

1.概述

NXP i.MX93處理器有兩個以太網(wǎng)控制器,其中eqos是TSN網(wǎng)絡(luò)控制器。另外一個Fec以太網(wǎng)外圍設(shè)備使設(shè)備能夠在以太網(wǎng)上傳輸和接收符合IEEE 802.3-2002標(biāo)準(zhǔn)的數(shù)據(jù),提供了一個可配置的、靈活的外設(shè),以滿足各種應(yīng)用程序和客戶的需求。一般情況CPU集成MAC,PHY采用獨(dú)立芯片;CPU不集成MAC,MAC和PHY采用集成芯片。MAC和PHY工作在OSI模型的數(shù)據(jù)鏈路層和物理層。i.MX93的MAC集成在CPU內(nèi)部,所以還需要外接PHY芯片。

MYD-LMX9X開發(fā)板外接了兩個YT8531SH千兆PHY芯片,ENET1原理圖如圖1-1:

43824cd6-462b-11ef-817b-92fbcf53809c.png

圖1-1. ENET1原理圖

查看原理圖與《MYD-LMX9X-PinList-V1.0.pdf》得出 ENET1數(shù)據(jù)管腳與i.MX93的對應(yīng)關(guān)系如表1-2:

表1-2. ENET1引腳對應(yīng)關(guān)系

原理圖引腳

對應(yīng)PinList管腳

管腳功能

管腳功能碼

ENET1_MDC

B31

ENET1_MDC

0

ENET1_MDIO

B32

ENET1_MDIO

0

ENET1_TXC

B22

ENET1_TXC

0

ENET1_TX_CTL

B23

ENET1_TX_CTL

0

ENET1_TD0

B3

ENET1_TD0

0

ENET1_TD1

B21

ENET1_TD1

0

ENET1_TD2

B2

ENET1_TD2

0

ENET1_TD3

B1

ENET1_TD3

0

ENET1_RXC

B30

ENET1_RXC

0

ENET1_RX_CTL

B29

ENET1_RX_CTL

0

ENET1_RD0

B28

ENET1_RD0

0

ENET1_RD1

B27

ENET1_RD1

0

ENET1_RD2

B26

ENET1_RD2

0

ENET1_RD3

B25

ENET1_RD3

0

ENET2原理圖如圖1-3:

43969ea2-462b-11ef-817b-92fbcf53809c.png

圖1-3. ENET2原理圖查看原理圖與《MYD-LMX9X-PinList-V1.0.pdf》得出 ENET2數(shù)據(jù)管腳與MYD-LMX9X的對應(yīng)關(guān)系如表1-4:

表1-4. ENET2引腳對應(yīng)關(guān)系

原理圖引腳

對應(yīng)PinList管腳

管腳功能

復(fù)用功能

ENET2_MDC

B5

ENET2_MDC

0

ENET2_MDIO

B6

ENET2_MDIO

0

ENET2_TXC

B19

ENET2_TXC

0

ENET2_TX_CTL

B14

ENET2_TX_CTL

0

ENET2_TD0

B17

ENET2_TD0

0

ENET2_TD1

B16

ENET2_TD1

0

ENET2_TD2

B15

ENET2_TD2

0

ENET2_TD3

B18

ENET2_TD3

0

ENET2_RXC

B12

ENET2_RXC

0

ENET2_RX_CTL

B10

ENET2_RX_CTL

0

ENET2_RD0

B11

ENET2_RD0

0

ENET2_RD1

B8

ENET2_RD1

0

ENET2_RD2

B9

ENET2_RD2

0

ENET2_RD3

B7

ENET2_RD3

0


2.網(wǎng)卡驅(qū)動移植2-1.查看內(nèi)核設(shè)備引腳定義在內(nèi)核中,有對i.MX93芯片的網(wǎng)口設(shè)備樹資源做了定義,此部分由芯片產(chǎn)商提供,屬于公共資源,實際上我們不需要修改這部分,只需要引用即可,如下:

PC:~/myd-lmx9x-bsp/myir-imx-linux$ cat arch/arm64/boot/dts/myir/imx93.dtsi...... fec: ethernet@42890000 { compatible = "fsl,imx93-fec", "fsl,imx8mp-fec", "fsl,imx8mq-fec"; reg = <0x42890000 0x10000>; interrupts = , , , ; clocks = <&clk IMX93_CLK_ENET1_GATE>, <&clk IMX93_CLK_ENET1_GATE>, <&clk IMX93_CLK_ENET_TIMER1>, <&clk IMX93_CLK_ENET_REF>, <&clk IMX93_CLK_ENET_REF_PHY>; clock-names = "ipg", "ahb", "ptp", "enet_clk_ref", "enet_out"; assigned-clocks = <&clk IMX93_CLK_ENET_TIMER1>, <&clk IMX93_CLK_ENET_REF>, <&clk IMX93_CLK_ENET_REF_PHY>; assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>, <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>, <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>; assigned-clock-rates = <100000000>, <250000000>, <50000000>; fsl,num-tx-queues = <3>; fsl,num-rx-queues = <3>; fsl,stop-mode = <&wakeupmix_gpr 0x0c 1>; status = "disabled"; };
eqos: ethernet@428a0000 { compatible = "nxp,imx93-dwmac-eqos", "snps,dwmac-5.10a"; reg = <0x428a0000 0x10000>; interrupts = , ; interrupt-names = "eth_wake_irq", "macirq"; clocks = <&clk IMX93_CLK_ENET_QOS_GATE>, <&clk IMX93_CLK_ENET_QOS_GATE>, <&clk IMX93_CLK_ENET_TIMER2>, <&clk IMX93_CLK_ENET>, <&clk IMX93_CLK_ENET_QOS_GATE>; clock-names = "stmmaceth", "pclk", "ptp_ref", "tx", "mem"; assigned-clocks = <&clk IMX93_CLK_ENET_TIMER2>, <&clk IMX93_CLK_ENET>; assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>, <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>; assigned-clock-rates = <100000000>, <250000000>; intf_mode = <&wakeupmix_gpr 0x28>; clk_csr = <0>; nvmem-cells = ; nvmem-cell-names = "mac-address"; status = "disabled"; };

上述只是對網(wǎng)口做了基本的初始化,并沒有對具體的硬件設(shè)備進(jìn)行適配,在實際的情況下需要對具體的網(wǎng)口設(shè)備進(jìn)行硬件引腳資源的適配。

2-2. 添加網(wǎng)卡設(shè)備樹節(jié)點根據(jù)原理圖的定義添加網(wǎng)口的設(shè)備樹配置,修改myir-imx93-11x11.dts文件,如下:

PC:~/myd-lmx9x-bsp/myir-imx-linux$ cat arch/arm64/boot/dts/myir/myir-imx93-11x11.dts......&eqos { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_eqos>; phy-mode = "rgmii-id"; phy-handle = ; status = "okay";
mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; clock-frequency = <5000000>;
ethphy1: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <4>; eee-broken-1000t; }; };};
&fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_fec>; phy-mode = "rgmii-id"; phy-handle = ; fsl,magic-packet; status = "okay";
mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; clock-frequency = <5000000>;
ethphy2: ethernet-phy@2 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <6>; eee-broken-1000t; }; };};

2-3. 網(wǎng)卡設(shè)備數(shù)配置添加網(wǎng)卡設(shè)備樹節(jié)點的eth1_pins和eth2_pins引腳定義:

pinctrl_eqos: eqosgrp { fsl,pins = < MX93_PAD_ENET1_MDC__ENET_QOS_MDC 0x57e MX93_PAD_ENET1_MDIO__ENET_QOS_MDIO 0x57e MX93_PAD_ENET1_RD0__ENET_QOS_RGMII_RD0 0x57e MX93_PAD_ENET1_RD1__ENET_QOS_RGMII_RD1 0x57e MX93_PAD_ENET1_RD2__ENET_QOS_RGMII_RD2 0x57e MX93_PAD_ENET1_RD3__ENET_QOS_RGMII_RD3 0x57e MX93_PAD_ENET1_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x5fe MX93_PAD_ENET1_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x57e MX93_PAD_ENET1_TD0__ENET_QOS_RGMII_TD0 0x57e MX93_PAD_ENET1_TD1__ENET_QOS_RGMII_TD1 0x57e MX93_PAD_ENET1_TD2__ENET_QOS_RGMII_TD2 0x57e MX93_PAD_ENET1_TD3__ENET_QOS_RGMII_TD3 0x57e MX93_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x5fe MX93_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x57e >; };
pinctrl_fec: fecgrp { fsl,pins = < MX93_PAD_ENET2_MDC__ENET1_MDC 0x57e MX93_PAD_ENET2_MDIO__ENET1_MDIO 0x57e MX93_PAD_ENET2_RD0__ENET1_RGMII_RD0 0x57e MX93_PAD_ENET2_RD1__ENET1_RGMII_RD1 0x57e MX93_PAD_ENET2_RD2__ENET1_RGMII_RD2 0x57e MX93_PAD_ENET2_RD3__ENET1_RGMII_RD3 0x57e MX93_PAD_ENET2_RXC__ENET1_RGMII_RXC 0x5fe MX93_PAD_ENET2_RX_CTL__ENET1_RGMII_RX_CTL 0x57e MX93_PAD_ENET2_TD0__ENET1_RGMII_TD0 0x57e MX93_PAD_ENET2_TD1__ENET1_RGMII_TD1 0x57e MX93_PAD_ENET2_TD2__ENET1_RGMII_TD2 0x57e MX93_PAD_ENET2_TD3__ENET1_RGMII_TD3 0x57e MX93_PAD_ENET2_TXC__ENET1_RGMII_TXC 0x5fe MX93_PAD_ENET2_TX_CTL__ENET1_RGMII_TX_CTL 0x57e >; };

2-4. 配置內(nèi)核PHY驅(qū)動位于drivers/net/phy/motorcomm.c,我們只需要把這個驅(qū)動打開,編譯進(jìn)內(nèi)核即可,內(nèi)核已默認(rèn)配置網(wǎng)卡驅(qū)動,這里我們不再描述。最后編譯內(nèi)核源碼,把新生成的設(shè)備樹dtb文件更新到板子即可。

2-5. 網(wǎng)絡(luò)測試

  • 測試ENET1

root@myd-lmx9x:/# ping www.baidu.com -I eth0PING www.baidu.com (14.215.177.39): 56 data bytes64 bytes from 14.215.177.39: seq=0 ttl=56 time=7.987 ms64 bytes from 14.215.177.39: seq=1 ttl=56 time=8.030 ms64 bytes from 14.215.177.39: seq=2 ttl=56 time=7.250 ms

  • 測試ENET2

root@myd-lmx9x:/# ping www.baidu.com -I eth1PING www.baidu.com (14.215.177.39): 56 data bytes64 bytes from 14.215.177.39: seq=3 ttl=56 time=7.507 ms64 bytes from 14.215.177.39: seq=4 ttl=56 time=7.488 ms64 bytes from 14.215.177.39: seq=5 ttl=56 time=7.151 ms64 bytes from 14.215.177.39: seq=6 ttl=56 time=7.043 ms

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18921

    瀏覽量

    227195
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4769

    瀏覽量

    96150
  • 網(wǎng)卡驅(qū)動
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    17622
  • 米爾電子
    +關(guān)注

    關(guān)注

    0

    文章

    89

    瀏覽量

    414
收藏 人收藏

    評論

    相關(guān)推薦

    入門級i.MX6UL板卡的神經(jīng)網(wǎng)絡(luò)框架ncnn的移植與測試-米爾MYD-Y6ULX-V2開發(fā)板

    米爾 MYD-Y6ULX-V2 開發(fā)板,基于 NXP i.MX6UL/i.MX6UL L處理器,該開發(fā)板米爾稱之為經(jīng)典王牌產(chǎn)品。本次測試目
    的頭像 發(fā)表于 02-18 18:19 ?3063次閱讀
    入門級i.MX6UL板卡的神經(jīng)網(wǎng)絡(luò)框架ncnn的<b class='flag-5'>移植</b>與測試-<b class='flag-5'>米爾</b>MYD-Y6ULX-V2<b class='flag-5'>開發(fā)板</b>

    移植NXP官方linux 5.4內(nèi)核到i.MX6ULL開發(fā)板

    本文描述移植NXP官方 linux 5.4 內(nèi)核到i.MX6ULL開發(fā)板
    發(fā)表于 12-19 11:10 ?1893次閱讀

    米爾NXP i.MX 93開發(fā)板的Qt開發(fā)指南

    1.概述Qt是一個跨平臺的圖形應(yīng)用開發(fā)框架,被應(yīng)用在不同尺寸設(shè)備和平臺上,同時提供不同版權(quán)版本供用戶選擇。米爾NXPi.MX93開發(fā)板(MYD-LMX9X
    的頭像 發(fā)表于 06-07 08:01 ?1427次閱讀
    <b class='flag-5'>米爾</b><b class='flag-5'>NXP</b> i.MX <b class='flag-5'>93</b><b class='flag-5'>開發(fā)板</b>的Qt<b class='flag-5'>開發(fā)指南</b>

    米爾基于NXP iMX.93開發(fā)板的M33處理器應(yīng)用開發(fā)筆記

    資源MYD-LMX9X開發(fā)板米爾基于NXPiMX.93開發(fā)板)3.軟件資源Windows7及以上版本軟件:IAREmbeddedWorkbench4.板載固件調(diào)試
    的頭像 發(fā)表于 06-29 08:01 ?1000次閱讀
    <b class='flag-5'>米爾</b>基于<b class='flag-5'>NXP</b> <b class='flag-5'>iMX.93</b><b class='flag-5'>開發(fā)板</b>的M33處理器應(yīng)用<b class='flag-5'>開發(fā)</b>筆記

    米爾NXP i.MX 93開發(fā)板的Qt開發(fā)指南

    1. 概述Qt 是一個跨平臺的圖形應(yīng)用開發(fā)框架,被應(yīng)用在不同尺寸設(shè)備和平臺上,同時提供不同版權(quán)版本供用戶選擇。米爾 NXP i.MX 93 開發(fā)板
    發(fā)表于 06-07 20:45

    米爾NXP i.MX 93開發(fā)板試用評測】04.OpenWRT的構(gòu)建-開始編譯

    Community。 然后在里面發(fā)現(xiàn)了iMX93竟然也支持了Openwrt,雖然他支持的是NXPiMX93 EVK開發(fā)板,但是這就相同芯片再加上開源的我們完全有可能在
    發(fā)表于 09-19 14:36

    iMX93如何實現(xiàn)交叉編譯?

    搜索 iMX 移植指南,它指示了設(shè)置工具鏈的步驟。 我嘗試了移植指南中的建議,目標(biāo)機(jī)器是 iMX93
    發(fā)表于 05-18 06:24

    S5P4418開發(fā)板GPS模塊驅(qū)動移植開發(fā)指南

    S5P4418開發(fā)板GPS模塊驅(qū)動移植開發(fā)指南
    發(fā)表于 06-21 17:02 ?0次下載

    米爾科技NXP LPC1857 LPC1850 Cortex-M3開發(fā)板概述

    MYD-LPC185X系列開發(fā)板是深圳市米爾科技有限公司推出的基于NXP(恩智浦)LPC185X系列處理器(Cortex-M3內(nèi)核)開發(fā)板
    的頭像 發(fā)表于 11-04 14:46 ?4193次閱讀
     <b class='flag-5'>米爾</b>科技<b class='flag-5'>NXP</b> LPC1857 LPC1850 Cortex-M3<b class='flag-5'>開發(fā)板</b>概述

    NXP iMX8MP開發(fā)板的試用體驗

    NXP iMX8MP開發(fā)板試用體驗
    的頭像 發(fā)表于 06-06 10:42 ?2019次閱讀

    iMX6系列-iMX6Q 開發(fā)板 Python 移植

    本文基于飛凌OKMX6Q/DL開發(fā)板為基礎(chǔ)講解,主要使用平臺是imx6系列,linux3.0.35操作系統(tǒng),其他平臺也可以參考,不同平臺之間會存在差異,需自行修改適應(yīng)自己的使用iMX6 Python
    的頭像 發(fā)表于 10-28 18:24 ?1057次閱讀
    <b class='flag-5'>iMX</b>6系列-<b class='flag-5'>iMX</b>6Q <b class='flag-5'>開發(fā)板</b> Python <b class='flag-5'>移植</b>

    金秋回饋100%中獎,買米爾NXP系列開發(fā)板

    各位筒子們!金秋好時節(jié),米爾NXP系列開發(fā)板搞活動啦~~超多福利優(yōu)惠都給你們妥妥地安排上給你的秋天加點猛料!一直以來,米爾NXP都保持深度
    的頭像 發(fā)表于 09-15 08:01 ?447次閱讀
    金秋回饋100%中獎,買<b class='flag-5'>米爾</b><b class='flag-5'>NXP</b>系列<b class='flag-5'>開發(fā)板</b>

    米爾NXP系列開發(fā)板優(yōu)惠大放送

    一直以來,米爾NXP都保持深度合作。米爾推出基于NXP系列的低、中、高端核心開發(fā)板,為客戶提
    的頭像 發(fā)表于 09-16 14:40 ?527次閱讀
    <b class='flag-5'>米爾</b><b class='flag-5'>NXP</b>系列<b class='flag-5'>開發(fā)板</b>優(yōu)惠大放送

    免費(fèi)!NXP i.MX 93開發(fā)板有獎試用

    米爾NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動來啦~~米爾提供了2塊價值678
    的頭像 發(fā)表于 05-23 08:01 ?484次閱讀
    免費(fèi)!<b class='flag-5'>NXP</b> i.MX <b class='flag-5'>93</b><b class='flag-5'>開發(fā)板</b>有獎試用

    點擊參與米爾NXP i.MX 93開發(fā)板有獎試用

    米爾NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動來啦~~米爾提供了3塊價值678元的MYD-
    的頭像 發(fā)表于 06-13 08:02 ?268次閱讀
    點擊參與<b class='flag-5'>米爾</b><b class='flag-5'>NXP</b> i.MX <b class='flag-5'>93</b><b class='flag-5'>開發(fā)板</b>有獎試用