Part Number: AM6548
Hi Processors Team,
we have a custom daughterboard for the AM6548 IDK, there we can connect one Ethernet PHY (DP83TC811S) connected to SerDES0 Lane 0 and one Ethernet PHY to SerDes 1 Lane 1
The problem is configuring the SerDes MUX to SGMII. Can this be done with the Device Tree or is there another way?
MDIO communication is already working with this entry in Device Tree:
&icssg2_mdio { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&icssg2_mdio_pins_default>; pruss2_eth0_phy: ethernet-phy@0 { reg = <0>; ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; }; pruss2_eth1_phy: ethernet-phy@3 { reg = <3>; ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; }; pruss2_eth5_phy: ethernet-phy@1 { //This is one SGMII PHY reg = <1>; }; };
I am using SDK v06.01. with this Kernel: 4.19.59-g5f8c1c6121
I already tried to add following to k3-am654-base-board.dts:
serdes_mux: mux-controller {
compatible = "mmio-mux";
#mux-control-cells = <1>;
mux-reg-masks = <0x4080 0x2>, /* SERDES0 lane select */
<0x4090 0x2>; /* SERDES1 lane select */
};
or this from /Dokumentation/devicetree/bindings/phy/ti-phy.txt:
serdes0: serdes@900000 {
compatible = "ti,phy-am654-serdes";
reg = <0x0 0x900000 0x0 0x2000>;
reg-names = "serdes";
#phy-cells = <2>;
power-domains = <&k3_pds 153>;
clocks = <&k3_clks 153 4>, <&k3_clks 153 1>,
<&serdes1 AM654_SERDES_LO_REFCLK>;
clock-output-names = "serdes0_cmu_refclk", "serdes0_lo_refclk",
"serdes0_ro_refclk";
assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>;
assigned-clock-parents = <&k3_clks 153 8>, <&k3_clks 153 4>;
ti,serdes-clk = <&serdes0_clk>;
mux-controls = <&serdes_mux 0>;
#clock-cells = <1>;
status = "okay";
};
But i always get following error message, depending on where I enter it, while compiling the devicetree:
Duplicate label 'serdes0' on /serdes@900000 and /interconnect@100000/serdes@900000
Duplicate label 'serdes0' on /pruss2_eth/serdes@900000 and /interconnect@100000/serdes@900000
Duplicate label 'serdes_mux' on /mux-controller and /interconnect@100000/scm_conf@100000/mux-controller
Regards
Yannik