STRUCT CDNS2_USB_REGS(9)
๐ struct cdns2_usb_regs(9) โ the USB controller registers, bestie
okay so this is a page from the Kernel API Manual, section 9, and it's literally all about struct cdns2_usb_regs โ aka the USB controller registers ๐. ngl it's a glorified treasure map of memory offsets where every field is either a real register or a big ol' pile of reserved padding (we respect the padding, she's doing her job ๐).
โจ SYNOPSIS โจ
here's the whole struct, character for character, no cap:
struct cdns2_usb_regs {
__u8 reserved[4];
__u16 lpmctrl;
__u8 lpmclock;
__u8 reserved2[411];
__u8 endprst;
__u8 usbcs;
__le16 frmnr;
__u8 fnaddr;
__u8 clkgate;
__u8 fifoctrl;
__u8 speedctrl;
__u8 sleep_clkgate;
__u8 reserved3[533];
__u8 cpuctrl;
};
likeโฆ look at her. the gaps are structural, she's not messy, she's intentional ๐ซถ.
๐ธ Members ๐ธ (the field-by-field vibe check)
reservedโ reserved. that's it, that's the whole personality. hands off ๐lpmctrlโ LPM control register ๐ฅlpmclockโ LPM clock register โฐreserved2โ reserved. a whole411bytes of "please don't touch" energy ๐endprstโ endpoint reset register ๐งนusbcsโ USB control and status register ๐frmnrโ USB frame counter register (she's__le16, so little-endian, mwah) ๐fnaddrโ function Address register ๐ฎclkgateโ clock gate register ๐ชfifoctrlโ FIFO control register ๐speedctrlโ speed Control register ๐๏ธsleep_clkgateโ sleep Clock Gate register ๐ดreserved3โ reserved. and this one is533bytes, she's long, we stan a padding queen ๐cpuctrlโ microprocessor control register ๐ง
๐ฆ SEE ALSO ๐ฆ
the whole friend group lives in the kernel file ./drivers/usb/gadget/udc/cdns2/cdns2-gadget.h, so go say hi to:
struct cdns2_ep0_regs(9)struct cdns2_epx_base(9)struct cdns2_epx_regs(9)struct cdns2_interrupt_regs(9)struct cdns2_adma_regs(9)struct cdns2_trb(9)struct cdns2_ring(9)struct cdns2_endpoint(9)struct cdns2_request(9)struct cdns2_device(9)
bestie warning: these are all cross-references to other structs, not extra fields โ don't go looking for them inside this one ๐
๐ the cute sign-off ๐
this masterpiece ships from ./drivers/usb/gadget/udc/cdns2 and it's dated October 2026 โ yeah, time traveler behavior โจ๐ฆ she's iconic, she's struct cdns2_usb_regs(9), and she ate. periodt. ๐
๐ฆ 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