好的,针对您的问题,我可以为您提供一些指导。
在使用Linux下的i.MX6ULL处理器与ksz9477芯片进行SPI通信时,并且以太网交换机和以太网接口作为设备被连接到SPI总线上时,需要在设备树中添加相应的节点。以下是一个可能的示例:
&ecspi3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi3>;
status = "okay";
ksz9477: ethernet-switch@0 {
compatible = "microchip,ksz9477";
reg = <0>;
spi-max-frequency = <10000000>;
interrupt-parent = <&gpio2>;
interrupts = <6 IRQ_TYPE_EDGE_FALLING>; //GPIO2_IO06
ethphy1: ethernet-phy@0 {
reg=<0>;
phy-mode="rgmii-id";
interrupt-parent=<&gpio5>;
interrupts=<4 IRQ_TYPE_LEVEL_LOW>; // GPIO5_IO04
fixed-link {
speed=1000;
full-duplex;
};
};
// ... Other Ethernet PHYs ...
ethmac1: ethernet@01 {
compatible ="fsl,imx6ull-fec";
reg =<1>; // MAC address of this interface will be incremented by one
interrupts =<51 IRQ_TYPE_LEVEL_HIGH>,<17 IRQ_TYPE_LEVEL_HIGH>;
phy-handle =<ðphy1>;
phy-mode ="rgmii-id";
max-speed =<1000>;
full-duplex;
local-mac-address =[00 19 B8 00 00 01]; // MAC address of this interface
status ="okay";
};
// ... Other Ethernet interfaces ...
};
};
在这个示例中,ecspi3
指定了使用哪个SPI总线,并且定义了引脚控制器。 ksz9477
节点定义了一个以太网交换机,并指定了驱动程序和设备类型。 reg
属性指定该节点在总线上的地址。 interrupts
属性指定用于中断处理程序的引脚和类型。
另外,在该节点下定义了多个以太网PHY(物理层)和以太网接口的子节点。 ethphy1
是其中一个示例,它配置了该PHY的速度和双工模式,并配置其中断引脚和类型。
ethmac1
是一个以太网接口示例,它指定与之关联的PHY、速度、双工模式和MAC地址等信息。
希望这些信息能对您有所帮助!如果您需要更多的帮助,请随时提出问题。