tree 6bc2f48b12b7d785e5837f44b7973b5d5f5d2cf5
parent d0309466d753bbc570df9587f8b47443935f7d2d
author developer <developer@mediatek.com> 1706838522 +0800
committer developer <developer@mediatek.com> 1706844179 +0800

[][kernel][common][eth][Update Airoha EN8811H 2.5G PHY driver to v1.2.4]

[Description]
Change Airoha EN8811H 2.5G PHY driver to v1.2.4.

Change Log:
[2024/01/12] v1.2.4
1. Added SSC API.
* MD32 8811_240112_02 updated:
1. Fixed the issue of MAC Deadbeef
2. Fixed the issue of LDO Bus Deadbeef
3. Improved IoT performance and stability

[2023/11/23] v1.2.3
1. Supported polarity setting in dts
2. Added temperature API and link partner ability API.
* MD32 8811_23112102 updated:
1. Fixed the issue of 1G speed down shift to 100M
2. Added the loopback recovery function for 2.5G Ext / 2.5G Int / 1G
Ext loopback settings
3. Improved IoT performance and stability
4. Fixed the issue of settings being lost when powering down and then
powering up.
5. Fixed the issue of losing settings when the device is powered off
and then powered on
6. Fixed the issue of experiencing abnormal behavior when changing the
speed to 100/1000Mbps and powering down/up the PHY

=====================================================================
If your board that GMAC2 connects with Airoha EN8811H, please change
the eth node as following.

&eth {
	...

	gmac1: mac@1 {
		compatible = "mediatek,eth-mac";
		reg = <1>;
		phy-mode = "2500base-x";

		fixed-link {
			speed = <2500>;
			full-duplex;
			pause;
		};
	};

	mdio: mdio-bus {
      		#address-cells = <1>;
      		#size-cells = <0>;

      		phy15: phy@15 {
       			compatible = "ethernet-phy-id03a2.a411";
			reg = <15>;
			phy-mode = "2500base-x";
			full-duplex;
			pause;
			airoha,polarity = <1>;
		};

       		...
	};
};

Note:
SerDes polarity setting could be configured in dts. Please refer to the
following description.
Tx Reverse, Rx Normal:
		airoha,polarity = <0>;
Tx Normal, Rx Normal:
		airoha,polarity = <1>;
Tx Reverse, Rx Reverse:
		airoha,polarity = <2>;
Tx Normal, Rx Reverse:
		airoha,polarity = <3>;

=====================================================================
In addition, if EN8811H connects with a RESET GPIO, please check the
GPIO number, and then add reset-gpio related definition to above phy
node.
=====================================================================
reset-gpios = <&gpio 6 1>;
reset-assert-us = <10000>;
reset-deassert-us = <10000>;
=====================================================================

If without this patch, kernel cannot load up-to-date PHY driver
for the Airoha EN8811H.

[Release-log]
N/A


Change-Id: Ie528ebe07a0998d485505343c9b41db03c1afa01
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/8633562
