STRUCT CYGNUS_PCIE_PHY_CORE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– STRUCT CYGNUS_PCIE_PHY_CORE(9) πŸ’–

okay so bestie, welcome to the kernel API manual for struct cygnus_pcie_phy_core β€” literally the core control situation for the Cygnus PCIe PHY ✨. yes this is section 9, yes it's kernel API, yes we're doing this. pull up a chair πŸŽ€


🌸 NAME 🌸

struct cygnus_pcie_phy_core β€” Cygnus PCIe PHY core control. that's it, that's the vibe. it's the main character struct holding the whole PHY core together πŸ‘‘


✨ SYNOPSIS ✨

okay so here's the whole struct laid out, exactly as it lives:

struct cygnus_pcie_phy_core {
    struct device *dev;
    void __iomem *base;
    struct mutex lock;
    struct cygnus_pcie_phy phys[MAX_NUM_PHYS];
 };

like, look at her. four members, one lock, an array of PHYs β€” she's giving organized and secure πŸ’… no cap, that mutex is doing serious work.


πŸ¦‹ Members πŸ¦‹

  • dev β€” pointer to device πŸ’œ the actual device this whole thing belongs to.
  • base β€” base register πŸ”₯ your void __iomem * era. this is where the registers start, periodt.
  • lock β€” mutex to protect access to individual PHYs πŸ”’ like, access to individual PHYs is guarded by this mutex, and that's genuinely important, don't skip her.
  • phys β€” pointer to Cygnus PHY device 🧚 the array of struct cygnus_pcie_phy, sized MAX_NUM_PHYS. there can be more than one PHY bestie, they're not a solo act.

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/phy/broadcom/phy-bcm-cygnus-pcie.c πŸ“ β€” go read the source, iykyk
  • struct cygnus_pcie_phy(9) β€” the sibling manpage, go give her a visit 🫢

ok one gentle reminder bestie: this is literally just the struct layout, so don't go inventing behaviour that isn't here β€” what you see is what you get πŸ’€

and that's the page!! πŸ’– comes to you from ./drivers/phy/broadcom, dated October 2026, and it's struct cygnus_pcie_phy_core(9) all the way down 🌸 slay, go read the kernel source, ily, bye πŸŽ€βœ¨

πŸ“¦ where this page comes from