NXP i.MX93處理器有兩個以太網控制器,其中eqos是TSN網絡控制器。另外一個Fec以太網外圍設備使設備能夠在以太網上傳輸和接收符合IEEE 802.3-2002標準的數據,提供了一個可配置的、靈活的外設,以滿足各種應用程序和客戶的需求。一般情況CPU集成MAC,PHY采用獨立芯片;CPU不集成MAC,MAC和PHY采用集成芯片。MAC和PHY工作在OSI模型的數據鏈路層和物理層。i.MX93的MAC集成在cpu內部,所以還需要外接phy芯片。
MYD-LMX9X開發板(米爾基于NXP i.MX93開發板)外接了兩個YT8531SH千兆PHY芯片,ENET1原理圖如圖4-7:

圖4-7. ENET1原理圖
查看原理圖與《MYD-LMX9X-PinList-V1.0.pdf》得出 ENET1數據管腳與i.MX93的對應關系如表4-6:
表4-6. ENET1引腳對應關系

原理圖引腳 對應PinList管腳 管腳功能 管腳功能碼
ENET2原理圖如圖4-8:

圖4-8. ENET2原理圖
查看原理圖與《MYD-LMX9X-PinList-V1.0.pdf》得出 ENET2數據管腳與MYD-LMX9X的對應關系如表4-7:
表4-7. ENET2引腳對應關系

1)查看內核設備樹引腳定義
在內核中,有對i.MX93芯片的網口設備樹資源做了定義,此部分由芯片產商提供,屬于公共資源,實際上我們不需要修改這部分,只需要引用即可,如下:



上述只是對網口做了基本的初始化,并沒有對具體的硬件設備進行適配,在實際的情況下需要對具體的網口設備進行硬件引腳資源的適配。
2)添加網卡設備樹節點
根據原理圖的定義添加網口的設備樹配置,修改myir-imx93-11x11.dts文件,如下:


3)網卡設備樹配置
添加網卡設備樹節點的eth1_pins和eth2_pins引腳定義:


4)配置內核
PHY驅動位于drivers/net/phy/motorcomm.c,我們只需要把這個驅動打開,編譯進內核即可,內核已默認配置網卡驅動,這里我們不再描述。最后編譯內核源碼,把新生成的設備樹dtb文件更新到板子即可。
5)網絡測試
測試ENET1

測試ENET2

關鍵字:米爾 NXP 開發板 網卡 驅動 移植 i 網卡驅動移植
引用地址:
米爾基于NXP iMX.93開發板的網卡驅動移植指南
推薦閱讀最新更新時間:2025-06-15 21:43
S3C2410網卡CS8900A驅動程序的移植及問題解析
硬件環境:SBC-2410X開發板(CPU:S3C2410X) 內核版本:2.6.11.1 運行環境:Debian2.6.8 交叉編譯環境:gcc-3.3.4-glibc-2.3.3 第一部分 網卡CS8900A驅動程序的移植 一、從網上將Linux內核源代碼下載到本機上,并將其解壓: #tar jxf linux-2.6.11.1.tar.bz2 二、打開內核頂層目錄中的Makefile文件,這個文件中需要修改的內容包括以下兩個方面。 (1)指定目標平臺。 移植前: ARCH?= $(SUBARCH) 移植后: ARCH :=arm (2)指定交叉編譯器。 移植前: CROSS_COMPILE ?= 移植后:
[單片機]
基于s3c2410 2.6.25內核cs8900網卡驅動的移植
因為在驅動中使用的是虛擬地址,因此要首先將網卡的物理地址映射到虛擬地址 ************************************************************** 1 。在include/asm-arm/plat-s3c24xx/common-smdk.h文件中添加 其中必須使用宏__phys_to_pfn 即將物理地址右移12位,跟蹤源碼可知 與struct map_desc中的pfn相關 #define pSMDK2410_ETH_IO __phys_to_pfn(0x19000000) #define vSMDK2410_ETH_IO S3C2410_ADDR(0x04000000) #de
[單片機]
迅為imx6ull開發板Linux I2C驅動實驗-應用程序與I2C通信
本章內容對應視頻講解鏈接(在線觀看): 程序源碼在網盤資料“imx6ull 驅動程序配套資料21-Linux I2C 驅動實驗”路徑下。 我們可以先來體驗一下,在 Linux 上操作 I2C 是多么的容易,我們可以先來看一下系統里面都有哪些 I2C的節點,這里以終結者 imx6ull 開發板為例。如下圖所示: Linux 有一個非常重要的概念叫一切皆文件,那么我們能不能在應用層通過 open 這些節點來操作 I2C 來跟外設 I2C 通信的芯片進行一個數據交流呢?當然是可以的,我們來一起看一下,這里我們以 7 寸 RGB 屏幕上的觸摸芯片 FT5X06 為例,迅為所有開發板都是支持迅為 7 寸 RGB 屏幕屏的,所有都是可以進
[單片機]
想學嵌入式LINUX?米爾基于瑞薩RZ/G2L開發板免費送!
想學嵌入式LINUX?領免費的瑞薩RZ/G2L開發板! 導語: 剛入門嵌入式,選入門級RZ/G2L開發板,采用郵票孔形式封裝了RZ/G2L核心板。 學習嵌入式系統開發是一個漸進的過程,一般我們從51單片機開始,逐步遷移到STM32微控制器,然后學習使用FreeRTOS操作系統,最終進入嵌入式Linux領域。以下是一個典型的學習路線: 51單片機:作為嵌入式系統的入門級平臺,學習51單片機可以幫助我們了解基本的嵌入式開發概念和編程技巧。可以學習使用C語言編寫簡單的驅動程序、控制IO口和外設等。 STM32微控制器:一旦掌握了基本的嵌入式開發概念,可以進一步學習STM32系列微控制器。STM32具有
[嵌入式]
研華NXP i.MX8核心模塊產品助力工業物聯網設備全面升級
全球嵌入式計算廠商研華科技榮幸地宣布推出基于NXP ARM? i.MX 8X SoC的SMARC 2.1核心模塊ROM-5620,完善了研華基于NXP i.MX8全系列處理器的核心模塊產品線。它們分別是基于NXP i.MX 8 Quad Max 處理器的ROM-7720 Qseven 2.1模塊,提供超高性能,適合AI、機器視覺以及大數據處理和分析等應用;基于NXP i.MX 8M 處理器的ROM-5720 SMARC 2.0 模塊,顯示性能出眾,適合大屏顯示、自動化、和醫療成像等各種工業應用;以及近期發布的基于i.MX 8X 處理器的ROM-5620 SMARC 2.1核心模塊,超高能效比及可靠性能,適合要求嚴苛工業自動化及控制
[物聯網]
我將GuiLite移植到了STM32F4開發板上
摘要:最近在做Github找到一個有趣的開源Gui框架:GuiLite,按照說明移植了GuiLite到STM32F4OLED屏幕上,分析一下自己的移植經驗。 一、GuiLite介紹 GuiLite是一個開源的Gui框架,只依賴于一個單一的頭文件庫(GuiLite.h),不需要很復雜的文件管理,代碼量平易近人,GuiLite由4千行C++代碼編寫,單片機上也能流暢運行,其最低的硬件運行要求如下: CPU主頻 ROM大小 RAM大小 24 MHZ 29KB 9KB 同時GuiLite具有很強的跨平臺特性: 支持的操作系統:iOS/macOS/WatchOS,Android,Linux(ARM/x86-64),Windo
[單片機]
基于S3C44B0開發板進行Blob的移植操作和步驟
Bootloader是嵌入式系統軟件開發的第一個環節,它緊密地將軟硬件銜接在一起,對于一個嵌入式設備后續的軟件開發至關重要。Blob是一款功能強大的Bootloader,S3C44B0是三星公司一款基于ARM7TDMI的嵌入式通用處理器。本文詳細介紹Blob在基于S3C44B0的開發板上的運行原理與移植過程。 Bootloader對于嵌入式設備來說至關重要,它涉及到許多硬件相關的知識。對于自制的嵌入式開發板,它又是不可跳過的步驟,所以很多人對于它感到很頭痛。本文將以一款優秀的Bootloader Blob為例,詳細講解它的運行原理以及在S3C44B0通用處理器上的移植過程,為在嵌入式設備上的后續軟件開發打下基礎。 1 Bl
[單片機]
購買開發板后在iTOP4412開發板上移植SDIO接口WIFI方法
近期需要把WiFi無線網絡功能移植到在iTOP4412 開發平臺,查閱了相關資料,經過一段時間的研究、調試,終于成功,將WiFi功能移植到了開發板上面,這里筆者記錄移植過程及注意事項,方便以后工作需要。 iTOP4412開發板的WiFi模塊與板卡之間的連接采用SDIO接口,WiFi硬件模塊使用的是MTK的MT6620芯片,MTK提供了Android4.0及Android4.4的driver, Porting Guid,有了這些就為我們的移植工作做了總體性的指導。 但是僅僅有MTK提供的文檔還是遠遠不夠的,畢竟硬件接口定義不同,kernel版本也不同,Android層與MTK提供的代碼也有差異,這就需要我們在MTK文檔的指導
[單片機]