STRUCT SSUSB_MTK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

okay bestie, welcome to struct ssusb_mtk(9) β€” that’s the manual name, and this is the Kernel API Manual. It’s the SuperSpeed USB descriptor (MTK), and yes it’s giving very kernel-core. πŸ’…βœ¨


✨ SYNOPSIS ✨

Here’s the whole struct, no cap β€” character-for-character, exactly as it appears. 🫢

       struct ssusb_mtk {
           struct device *dev;
           struct mtu3 *u3d;
           void __iomem *mac_base;
           void __iomem *ippc_base;
           struct phy **phys;
           int num_phys;
           int wakeup_irq;
           struct regulator *vusb33;
           struct clk_bulk_data clks[BULK_CLKS_CNT];
           struct otg_switch_mtk otg_switch;
           enum usb_dr_mode dr_mode;
           bool is_host;
           int u2_ports;
           int u3_ports;
           int u2p_dis_msk;
           int u3p_dis_msk;
           struct dentry *dbgfs_root;
           bool uwk_en;
           struct regmap *uwk;
           u32 uwk_reg_base;
           u32 uwk_vers;
        };

πŸ’… Members πŸ’…

These are the members the page specifically calls out, with every detail kept intact:

  • mac_base β€” the register base address of the device MAC, and it explicitly excludes xHCI’s. πŸ‘‘
  • ippc_base β€” the register base address of the IP Power and Clock interface (IPPC). ⚑
  • vusb33 β€” the usb3.3V shared by device/host IP. πŸ”‹
  • dr_mode β€” works in which mode: host only, device only, or dual-role mode. 🎭
  • u2_ports β€” the number of usb2.0 host ports. πŸ”Œ
  • u3_ports β€” the number of usb3.0 host ports. 🌈
  • u2p_dis_msk β€” mask of disabling usb2 ports, e.g. bit0==1 to disable u2port0, bit1==1 to disable u2port1,... etc, but when use dual-role mode, can’t disable u2port0. 🚫
  • u3p_dis_msk β€” mask of disabling usb3 ports, for example, bit0==1 to disable u3port0, bit1==1 to disable u3port1,... etc. 🚫
  • dbgfs_root β€” only used when supports manual dual-role switch via debugfs. 🐞
  • uwk_en β€” it’s true when supports remote wakeup in host mode. πŸ’€
  • uwk β€” syscon including the usb wakeup glue layer between SSUSB IP and SPM. πŸ”Œ
  • uwk_reg_base β€” the base address of the wakeup glue layer in uwk. πŸ“
  • uwk_vers β€” the version of the wakeup glue layer. πŸ”’

πŸ‘€ SEE ALSO πŸ‘€

Go peek at these, bestie β€” all the cross-refs, untouched:

  • Kernel file ./drivers/usb/mtu3/mtu3.h: enum mtu3_g_ep0_state(9), enum mtu3_dr_force_mode(9), struct mtu3_fifo_info(9), struct qmu_gpd(9), struct mtu3_gpd_ring(9), struct otg_switch_mtk(9), struct mtu3_ep(9), struct mtu3(9). πŸ¦‹

okay that’s the page! Sign-off tea β˜•: it comes from ./drivers/usb/mtu3, dated October 2026, and it’s struct ssusb_mtk(9) in the Kernel API Manual β€” periodt. πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from