Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

AM6548: ICSSG SerDes SGMII interface configuration

$
0
0

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


Viewing all articles
Browse latest Browse all 262198

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>