Hi LFGP,
I decided to try my DPL file along with switching from the upstream 6.14 Linux kernel to the NXP kernel 4.14 that matches the LSDK1812 (that was used when they setup this platform quite a few years back) and I'm able to bring up the DPMAC2 at eth0.
I do have an issue though, it seems the FSL management complex is attaching eth0 to PHY 0 instead of PHY 1 (which I believe I've set correctly in the DTS). As a sanity check (since I'm very new to using device trees) is everything setup correctly for my use of PHY 1:
&emdio1 {
status = "okay";
mcp_debug_phy: emdio1_phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
interrupts = <0 2 0x4>;
reg = <0x1>;
phy-connection-type = "sgmii";
};
};
&dpmac2 {
phy-handle = <&mcp_debug_phy>;
phy-connection-type = "sgmii";
};
But when I try and 'ping' after assigning an ip address to eth0 I get no errors or rx/tx count increases (checking with ifconfig). When I use 'ethtool eth0' I see that it's showing attached to PHYAD 0:
# ethtool eth0
Settings for eth0:
Supported ports: [ ]
Supported link modes: Not reported
Supported pause frame use: No
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: Unknown!
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
MDI-X: Unknown
Link detected: no
#
I didn't change the defaults for 'fsl-ls1088a.dtsi', but is this correct when expecting to use PHY 1?
/* TODO: WRIOP (CCSR?) */
emdio1: mdio@0x8B96000 { /* WRIOP0: 0x8B8_0000, * E-MDIO1: 0x1_6000*/
compatible = "fsl,fman-memac-mdio";
reg = <0x0 0x8B96000 0x0 0x1000>;
device_type = "mdio";
little-endian; /* force the driver in LE mode */
/* Not necessary on the QDS, but needed on the RDB */
#address-cells = <1>;
#size-cells = <0>;
};
Would there be anything in the DPL I'd need to maybe adjust so that the correct PHY is attached?
Thank you very much for the help.