Hi,
on our custom board we use the DP83869HM phy chip, connected to a NXP SJA1105S switch. We configure the switch directly via SPI interface, no device tree entry is used. The following phy settings are already configured via strap pins:
- operational mode is set to RGMII copper Ethernet
- autonegotiation enabled
- mirroring disabled
The associated Linux phy driver is available as an int-tree Kernel module. Is it possible to configure and start up the phy via device tree in this special use case and if yes, how? For us it is especially important, that we can setup the RGMII internal delays.
As an example, this is our current network-related device tree configuration:
ðernet0{ pinctrl-names = "default", "sleep"; pinctrl-0 = <ð1_pins_mx>; pinctrl-1 = <ð1_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN ethernet0 */ st,eth-clk-sel; phy-mode = "rgmii-id"; fixed-link { speed = <1000>; full-duplex; }; mdio0 { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; rgmii_phy5: ethernet-phy@5 { /* DP83TG720S-Q1 */ compatible = "ethernet-phy-ieee802.3-c22"; reg = <5>; status = "okay"; }; rgmii_phy4: ethernet-phy@4 { /* DP83TG720S-Q1 */ compatible = "ethernet-phy-ieee802.3-c22"; reg = <4>; status = "okay"; }; rgmii_phy0: ethernet-phy@0 { /* TI DP83869HM */ compatible = "ethernet-phy-ieee802.3-c22"; reg = <0>; ti,op-mode = <DP83869_RGMII_COPPER_ETHERNET>; rx-internal-delay-ps = <2000>; tx-internal-delay-ps = <2000>; status = "okay"; }; }; /* USER CODE END ethernet0 */ };
Thanks and best regards