Hello all,
I have an issue that likely has a simple solution. I have two LS1046's on a custom board that I am attempting to connect together MAC to MAC. My RCW serdes settings are 0x3040 0x5A06, and this 1000base-kx link is on MAC 2 (serdes 2, lane B).
In u-boot, the devices can ping each other over SGMII, and I am in the early stages of writing a 1000base-kx driver. The important thing is they can see eachother.
This is using yocto 3.1.1, kernel 5.4.3, and I took fsl_backplane.c from linux-extras.
In linux, the device fails to probe with error -12. Ignore the other errors on other interfaces, I just don't have them disabled in the device tree currently. I did add a few printk's in the dpaa_eth driver
[ 8.419458] fsl_dpa: dpaa_eth.c:1143:dpa_load() FSL DPAA Ethernet driver
[ 8.426269] Probing soc:fsl,dpaa:ethernet@0
[ 8.428002] fsl_dpa: dpaa_eth.c:1086:dpaa_eth_priv_probe() fsl_dpa: Probed interface eth0
[ 8.440411] Probing soc:fsl,dpaa:ethernet@2
[ 8.440449] fsl_dpa soc:fsl,dpaa:ethernet@2: of_find_device_by_node(ethernet@e4000) failed
[ 8.452909] fsl_dpa: probe of soc:fsl,dpaa:ethernet@2 failed with error -22
[ 8.459895] Probing soc:fsl,dpaa:ethernet@4
[ 8.461583] fsl_dpa: dpaa_eth.c:1086:dpaa_eth_priv_probe() fsl_dpa: Probed interface eth1
[ 8.473990] Probing soc:fsl,dpaa:ethernet@5
[ 8.475997] fsl_dpa: dpaa_eth.c:1086:dpaa_eth_priv_probe() fsl_dpa: Probed interface eth2
[ 8.488411] Probing soc:fsl,dpaa:ethernet@8
[ 8.488446] fsl_dpa soc:fsl,dpaa:ethernet@8: of_find_device_by_node(ethernet@f0000) failed
[ 8.500904] fsl_dpa: probe of soc:fsl,dpaa:ethernet@8 failed with error -22
[ 8.507890] Probing soc:fsl,dpaa:ethernet@9
[ 8.510213] fsl_dpa: dpaa_eth.c:1086:dpaa_eth_priv_probe() fsl_dpa: Probed interface eth3
[ 8.522608] fsl_advanced: dpaa_eth_base.c:193:dpa_advanced_load() FSL DPAA Advanced drivers:
[ 8.531054] fsl_proxy: dpaa_eth_proxy.c:354:dpa_proxy_load() FSL DPAA Proxy initialization driver
[ 8.540043] fsl_proxy-proxy soc:fsl,dpaa:ethernet@1: devm_kzalloc() failed
[ 8.546926] fsl_proxy-proxy: probe of soc:fsl,dpaa:ethernet@1 failed with error -12
[ 8.554604] fsl_oh: offline_port.c:823:oh_port_load() FSL FMan Offline Parsing port driver
I have primarily used this page and these questions for reference:
My device tree uses the following:
fsl-ls1046a_gpp.dts
&soc{
serdes2: serdes@1eb0000 {
reg = <0x0 0x1eb0000 0 0x00002000>;
compatible = "fsl,serdes-10g";
little-endian;
};
...
};
&fman0 {
mdio@e3000 {
pcsphy1: ethernet-phy@0 {
backplane-mode = "1000base-kx";
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x0>;
fsl,lane-handle = <&serdes2>;
fsl,lane-reg = <0x840 0x40>; /* lane B */
};
};
...
};
fsl-ls1046a_gpp-sdk.dts
&fsldpaa {
ethernet@1 {
compatible = "fsl,dpa-ethernet-init";
fsl,fman-mac = <&enet1>;
dma-coherent;
};
...
};
1. Is a MAC to MAC link possible with this driver?
2. If so, what am I doing wrong?
3. I tried doing a SGMII link before this, though it is unconventional for this use case. I received error -22 when probing and couldn't figure it out. Should I go back to attempting this method?
Thank you. Verbosity is appreciated, as I am very new to this.