STRUCT AIROHA_PCIE_PHY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct airoha_pcie_phy(9)

okay bestie, welcome to the kernel API manual β€” this one's about struct airoha_pcie_phy, the main character of the PCIe phy driver. no cap, it's literally just the driver's main structure, and once you see the fields you'll be obsessed. 🌸


✨ NAME ✨

struct airoha_pcie_phy β€” the PCIe phy driver main structure. that's it, that's the vibe. πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole thing, copied exactly, don't @ me:

struct airoha_pcie_phy {
    struct device *dev;
    struct phy *phy;
    void __iomem *csr_2l;
    void __iomem *pma0;
    void __iomem *pma1;
    void __iomem *p0_xr_dtime;
    void __iomem *p1_xr_dtime;
    void __iomem *rx_aeq;
 };

πŸŽ€ Members πŸŽ€

every field, lovingly listed, no skips:

  • dev β€” pointer to device. the whole personality of this struct starts here. πŸ’–
  • phy β€” pointer to generic phy. iconic little handle. ✨
  • csr_2l β€” Analogic lane IO mapped register base address. yes, "Analogic" with a capital A, that's how the original rolls, keep it.
  • pma0 β€” IO mapped register base address of PMA0-PCIe.
  • pma1 β€” IO mapped register base address of PMA1-PCIe. sibling energy fr fr.
  • p0_xr_dtime β€” IO mapped register base address of port0 Tx-Rx detection time. port zero said main character moment. 🫢
  • p1_xr_dtime β€” IO mapped register base address of port1 Tx-Rx detection time. port one right behind, equally slay.
  • rx_aeq β€” IO mapped register base address of Rx AEQ training. the training arc we all needed. πŸ”₯
ngl, lots of void __iomem * in here β€” every single one of those is an IO mapped register base address, so treat them with the respect they deserve. πŸ’…

🌈 SEE ALSO 🌈

go look at these, iykyk:


that's the whole page, bestie β€” no crumbs left behind, every field accounted for πŸ’€βœ¨

source: ./drivers/phy Β· dated October 2026 Β· struct airoha_pcie_phy(9) β€” mwah, go forth and read your registers responsibly πŸ§šπŸ’œ

πŸ“¦ where this page comes from