STRUCT MTK_PCIE_PHY(9)
πΈ NAME πΈ
okay bestie, welcome to the Kernel API Manual β section 9 ofc β and today's main character is struct mtk_pcie_phy, which is literally the main structure of the PCIe phy driver. like, THE structure. periodt. π
β¨ SYNOPSIS β¨
here's the whole glow-up, no notes:
struct mtk_pcie_phy {
struct device *dev;
struct phy *phy;
void __iomem *sif_base;
const struct mtk_pcie_phy_data *data;
bool sw_efuse_en;
u32 efuse_glb_intr;
struct mtk_pcie_lane_efuse *efuse;
};
π«Ά Members π«Ά
okay so let's meet the cast, one member at a time π
devβ pointer to device. iconic. the anchor of the whole friend group πphyβ pointer to generic phy. the actual phy bestie, very demure, very mindful π¦sif_baseβ IO mapped register base address of system interface. this is where the registers live, like the group chat of memory πdataβ pointer to SoC dependent data. so every SoC gets to be its own unique little self, no cap πsw_efuse_enβ software eFuse enable status. it's abool, it's giving yes/no, on/off, slay/fail β¨efuse_glb_intrβ internal resistor selection of TX bias current data. lowkey a mouthful but it's literally just telling you what thatu32is for πefuseβ pointer to eFuse data for each lane. every lane gets its own eFuse moment, we love lane equality π
π SEE ALSO π
go read these next, i'm obsessed:
- Kernel file
./drivers/phy/mediatek/phy-mtk-pcie.cstructmtk_pcie_lane_efuse(9), structmtk_pcie_phy_data(9),mtk_pcie_phy_init(9)β the whole friend group fr fr π«Ά
and that's the page bestie!! π this came from ./drivers/phy/mediatek, dated October 2026 β screenshot it, memorize it, cite it in your next patch. you're gonna slay the vibe check βππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms