Re: [PATCH 3/3] arm64: dts: ti: k3-am642-evm: add overlay for icssg1 2nd port

From: Anwar, Md Danish
Date: Fri Dec 08 2023 - 02:29:07 EST


On 12/8/2023 3:10 AM, Andrew Lunn wrote:
>> + mdio-mux-2 {
>> + compatible = "mdio-mux-multiplexer";
>> + mux-controls = <&mdio_mux>;
>> + mdio-parent-bus = <&icssg1_mdio>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + mdio@0 {
>> + reg = <0x0>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + icssg1_phy2: ethernet-phy@3 {
>> + reg = <3>;
>> + tx-internal-delay-ps = <250>;
>> + rx-internal-delay-ps = <2000>;
>> + };
>> + };
>
> That looks odd. A mux generally has > 1 mdio bus. Otherwise its not
> really a mux.
>

We are disabling node `mdio-mux-1` which has the `cpsw3g_mdio` bus and
then adding a new node `mdio-mux-2` which has the `icssg1_mdio` bus. The
mux can actually have two different mdio buses. The patch actually
disables the mux1 node and creates a new node for icssg1_mdio bus so
that cpsw3g mdio bus is disabled properly.

We can modify the existing `mdio-mux-1` as well (added the code below)
instead of disabling mux1 and creating mux2 node.

&mdio_mux_1 {
mdio-parent-bus = <&icssg1_mdio>;
#address-cells = <1>;
#size-cells = <0>;

mdio@0 {
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;

icssg1_phy2: ethernet-phy@3 {
reg = <3>;
tx-internal-delay-ps = <250>;
rx-internal-delay-ps = <2000>;
};
};
};

Let me know what do you think. Is the approach in the patch correct or
should I modify existing mux node only?

> And this mux hardware exists all the time right? So it should be in
> the .dtsi file.
>

Agreed. But the mdio-mux-1 node was added in k3-am642-evm.dts by the
commit 985204ecae1c37d55372874ff9146231d28fccc6. I did the same with
mdio-mux-2 node.

> Andrew

--
Thanks and Regards,
Md Danish Anwar