[Yocto][mickledore-6.1.55][iMX8MN]Marvell MV88E63930 交换机设备树 Hi Forum, 我提出 Marvell MV88E63930 交换机是为了激发以下讨论: https://lore.kernel.org/all/
[email protected]/ 到目前为止,eth0 处于启动状态: [ 2.147362] mdio_bus 30be0000.ethernet-1:00: Fixed dependency cycle(s) with /soc@0/bus@30800000/ethernet@30be0000/mdio/switch@0/vddio-regulator
[ 2.160971] fec 30be0000.ethernet eth0: registered PHC device 0
[ 6.601525] mv88e6085 30be0000.ethernet-1:00: <- addr: 0x00 reg: 0x03 val: 0xffff
[ 7.005821] fec 30be0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[ 7.005866] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready 但是,我无法与交换机 CPU 通信来对其进行配置: [ 6.601525] mv88e6085 30be0000.ethernet-1:00: <- addr: 0x00 reg: 0x03 val: 0xffff 在我之前的问题中,尽管发生了内核崩溃,我仍然能够读取交换机中的某些寄存器: https://community.nxp.com/t5/i-MX-Processors/Yocto-mickledore-6-1-55-iMX8MN-Marvell-MV88E63930-driver-crash/mp/1998417 您能帮忙验证我的设备树吗? 设备树和示意图在附件中。 提前感谢! Khang i.MX 8M | i.MX 8M Mini | i.MX 8M Nano 回复:[Yocto][mickledore-6.1.55][iMX8MN]Marvell MV88E63930 交换机设备树 嗨@Zhiming_Liu , 感谢您的支持,但您分享的链接是我之前测试过的,MDIO bitbang 是关于以软件方式使用通用 GPIO 作为 MDC/MDIO。 此外,我能够从硬件方面解决问题,因此我关闭了此票。 问候, K. 回复:[Yocto][mickledore-6.1.55][iMX8MN]Marvell MV88E63930 交换机设备树 Hello,
我在i.MX8MQ平台上找到了关于marvell,mv88exxxxx的其他dts节点。此 dts 节点未注释 mdio 中的时钟频率和抑制前导码。
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec1>;
phy-handle = <&phy0>;
phy-mode = "rmii";
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <12500000>;
suppress-preamble;
status = "okay";
switch: switch@0 {
compatible = "marvell,mv88e6085";
pinctrl-0 = <&pinctrl_switch_irq>;
pinctrl-names = "default";
reg = <0>;
dsa,member = <0 0>;
eeprom-length = <512>;
interrupt-parent = <&gpio1>;
interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
#interrupt-cells = <2>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "gigabit_proc";
phy-handle = <&switchphy0>;
};
port@1 {
reg = <1>;
label = "netaux";
phy-handle = <&switchphy1>;
};
port@2 {
reg = <2>;
phy-mode = "rev-rmii";
ethernet = <&fec1>;
fixed-link {
speed = <100>;
full-duplex;
};
};
port@3 {
reg = <3>;
label = "netright";
phy-handle = <&switchphy3>;
};
port@4 {
reg = <4>;
label = "netleft";
phy-handle = <&switchphy4>;
};
};
mdio {
#address-cells = <1>;
#size-cells = <0>;
switchphy0: switchphy@0 {
reg = <0>;
interrupt-parent = <&switch>;
interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
};
switchphy1: switchphy@1 {
reg = <1>;
interrupt-parent = <&switch>;
interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
};
switchphy2: switchphy@2 {
reg = <2>;
interrupt-parent = <&switch>;
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
};
switchphy3: switchphy@3 {
reg = <3>;
interrupt-parent = <&switch>;
interrupts = ❤️ IRQ_TYPE_LEVEL_HIGH>;
};
switchphy4: switchphy@4 {
reg = <4>;
interrupt-parent = <&switch>;
interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
};
};
};
};
};
更重要的是,这个 dts : arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi正在使用 MDIO bitbang,你可以尝试 MDIO bitbang 此致, 志明