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

Anwar, Md Danish a0501179 at ti.com
Thu Dec 7 23:28:38 PST 2023


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 at 0 {
>> +			reg = <0x0>;
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +
>> +			icssg1_phy2: ethernet-phy at 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 at 0 {
		reg = <0x0>;
		#address-cells = <1>;
		#size-cells = <0>;

		icssg1_phy2: ethernet-phy at 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



More information about the linux-arm-kernel mailing list