CPU:IMX8MQ
Kernel:4.14.98
SJA1105 Code:https://source.codeaurora.org/external/autoivnsw/sja1105x_linux_switchdev/
Issue:When Connet to 100Ms network,RX data is 0.But,When Connet to 1000Ms network,SJA1105 working normal.
1:My board SJA1105:
Port0---CPU
Port3---At8031
2.My dts config is below。
dts:
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec1>;
phy-mode = "rgmii-id";
/* phy-handle = <ðphy0>; */
fsl,magic-packet;
status = "okay";
fixed-link {
speed = <1000>;
full-duplex;
};
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
at803x,eee-disabled;
};
};
};
&ecspi2 {
status = "okay";
fsl,spi-num-chipselects = <0x1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi2>;
cs-gpios = <&gpio5 13 0>;
sja1105: ethernet-switch@0 {
compatible = "nxp,sja1105p-switch";
firmware_name = "sja1105p_1-2_cfg.bin";
spi-max-frequency = <0xf4240>;
spi-cpha;
reg = <0x0>;
port-0 {
is-host = <0x1>;
null-phy = <0x1>;
phy-ref = <0x0>;
logical-port-num = <0x0>;
rx-delay = <0x32a>;
tx-delay = <0x32a>;
};
port-1 {
is-host = <0x0>;
null-phy = <0x1>;
phy-ref = <0x0>;
logical-port-num = <0x1>;
};
port-2 {
is-host = <0x0>;
null-phy = <0x1>;
phy-ref = <0x0>;
logical-port-num = <0x2>;
};
port-3 {
is-host = <0x0>;
null-phy = <0x0>;
phy-ref = <ðphy0>;
logical-port-num = <0x3>;
rx-delay = <0x32a>;
tx-delay = <0x32a>;
};
port-4 {
is-host = <0x0>;
null-phy = <0x1>;
phy-ref = <0x0>;
logical-port-num = <0x4>;
};
};
};