Linux平台Wiznet w5500移植

本文档详细介绍了在NXPI.MX8MM平台上,基于Linux内核4.14进行设备树配置,特别是针对ECSPI2和W5500的SPI接口设置。在配置中,引脚和ESSPI的详细配置被展示,并指出在使用系统默认CS引脚时遇到的问题,以及通过将CS引脚切换为GPIO口来解决。在编译和加载部分,说明了如何重新编译设备树,加载驱动模块,最终实现新网口的出现。
摘要由CSDN通过智能技术生成

一、平台及系统说明

NXP I.MX8MM平台,Linux内核版本4.14

二、内核配置

 

三、设备树配置

1.引脚配置

pinctrl_ecspi2: ecspi2grp {

fsl,pins = <

MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x1c2

MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82

MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82

// MX8MM_IOMUXC_ECSPI2_SS0_ECSPI2_SS0 0x82

MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x19

>;

};

pinctrl_w5500_irq: w5500irq {

fsl,pins = <

MX8MM_IOMUXC_ECSPI1_SCLK_GPIO5_IO6 0x19

>;

};

2.ESSPI配置

&ecspi2 {

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_ecspi2>;

cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;

status = "okay";

spi-eth@0x00{

reg = <0>;

// #spi-cpha = <0>;

// #spi-cpol = <0>;

mode=<0>;

spi-max-frequency = <80000000>;

status = "okay";

pinctrl-names = "default";

compatible = "w5500";

pinctrl-0 = <&pinctrl_w5500_irq>;

interrupt-parent = <&gpio5>;

interrupts = <6 IRQ_TYPE_LEVEL_LOW>;// gpio5 6 irq   low level

};

};

    修改设备树时需要注意spi接口的CS引脚,使用系统配置MX8MM_IOMUXC_ECSPI2_SS0_ECSPI2_SS0时,示波器可抓取到完整的波形,CS引脚也有信号,但是无法读取正确的寄存器信息。只有将片选信号改成IO口操作时,才能正确读取寄存器信息!

四、编译及加载

    需改完成后重新编译,将设备树拷贝到目标板卡,板卡上电启动后,将w5100-spi.ko和w5100.ko两个文件传输到板卡指定目录,依次加载驱动,insmod w5100.ko && insmod w5100-spi.ko,移植成功后,将会有新的网口出现。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值