commit | 4a3618e3c650dbdd147807adbfe3225c6d89c326 | [log] [tgz] |
---|---|---|
author | developer <developer@mediatek.com> | Fri Aug 16 18:01:52 2024 +0800 |
committer | developer <developer@mediatek.com> | Tue Aug 20 21:45:43 2024 +0800 |
tree | dd1ab711172a01caa04b0259790187c73ddbfa39 | |
parent | 5db9403f3a6aacfc1286b67591ef5f03d70b4ca0 [diff] |
[][High][kernel][mt7981/mt7988][eth][net: phy: mediatek: Introduce mtk-phy-lib and add 2.5Gphy support] [Description] Add mtk-phy-lib and add 2.5Gphy support: This patch series integrate MediaTek's built-in Ethernet PHY helper functions into mtk-phy-lib and add more functions into it. Also, add support for 2.5Gphy on MT7988 SoC: 1. Re-organize MediaTek ethernet phy driver files and get ready to integrate some common functions and add new 2.5G phy driver. mtk-ge.c: MT7530 Gphy on MT7621 & MT7531 Gphy mtk-ge-soc.c: Built-in Gphy on MT7981 & Built-in switch Gphy on MT7988 mtk-2p5ge.c: Planned for built-in 2.5G phy on MT7988 2. Fix spelling errors which comes from mediatek-ge-soc.c and rearrange variables with reverse Xmas tree order. 3. Create mtk-phy-lib.c & mtk-phy.h and integrates mtk-ge-soc.c's LED helper functions so that we can use those helper functions in other MTK's ethernet phy driver. However, we won't use this in kernel-5.4 because this needs newer LED framework. 4. Integrate read/write page helper functions as MTK phy lib. 5. Add MT7530 & MT7531's PHY ID macros in mtk-ge.c so that it follows the same rule of mtk-ge-soc.c. 6. Shrink mtk-ge-soc.c line wrapping to 80 characters. 7. Adds TR(token ring) manipulations and adds correct macro names for those magic numbers. TR is a way to access proprietary registers on page 52b5. Use these helper functions so we can see which fields we're going to modify/set/clear. 8. We observe that some 10G devices' (mostly Marvell's chips inside) 1G training time violates specification, which may last 2230ms and affect later TX/RX link pulse time. This will invalidate MediaTek series gigabit Ethernet PHYs' hardware auto downshift mechanism. Without this patch, if someone is trying to use "4-wire" cable to connect above devices, MediaTek' gigabit Ethernet PHYs may fail to downshift to 100Mbps. (If partner 10G devices' downshift mechanism stops at 1G) This patch extends our 1G TX/RX link pulse time so that we can still link up with those 10G devices. Tested device: - Netgear GS110EMX's 10G port (Marvell 88X3340P) - QNAP QSW-M408-4C [Release-log] N/A Change-Id: Ife6f87f0248bd42c87dd7e2d6cf753ca1751a7bf Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/9510450
Currently two release branches are supported:
21.02 This is the current in-use branch
git clone -b openwrt-21.02 https://git.openwrt.org/openwrt/openwrt.git
master (will be 24.0x branch later) The next version in development
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt echo "src-git mtk_openwrt_feed https://git01.mediatek.com/openwrt/feeds/mtk-openwrt-feeds" >> feeds.conf.default ./scripts/feeds update -a ./scripts/feeds install -a
21.02 branch
cp -af ./feeds/mtk_openwrt_feed/21.02/files/* . cp -af ./feeds/mtk_openwrt_feed/tools . for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-feeds -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
master branch
cp -af ./feeds/mtk_openwrt_feed/master/files/* . for file in $(find ./feeds/mtk_openwrt_feed/master/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
make menuconfig
21.02 branch
Target System -> MediaTek Ralink ARM Subtarget -> MT7981 / MT7986 / MT7988 Target Profile -> select as needed
master branch
Target System -> MediaTek Ralink ARM Subtarget -> Filogic 8x0 (MT798x) Target Profile -> select as needed
make V=s -j$(nproc)