xudc_write32(9)
π xudc_write32 β little endian write to device registers
okay so bestie, you're in the Kernel API Manual (section 9, the kernel-API girlies β¨) and today's main character is xudc_write32. it does exactly one thing and it does it iconically: a little endian write to device registers. no cap, that's the whole vibe. π
π¦ SYNOPSIS
void xudc_write32 (void __iomem *addr , u32 offset , u32 val );
like, three little args and you're done. it returns void β nothing comes back, it's giving "I don't do follow-ups" energy π
πΈ ARGUMENTS
addrβ the base addr of the device registers π this is your home base, your main character address, the__iomempointer where all the register goodness lives.offsetβ the register offset π like, which register inside that base you're sliding into. it's au32.valβ the data to be written βοΈ the actualu32payload. the thing you're putting out into the world. slay.
fr fr, that's the whole contract: base + offset + value, write it out little endian, and dip. π
π SEE ALSO
bestie. buckle up. the whole Xilinx UDC family is here and honestly it's a lot of people at this party π«Ά β the kernel file lives at ./drivers/usb/gadget/udc/udc-xilinx.c (go read her, she's the source of truth π) and she links out to:
struct xusb_req(9)struct xusb_ep(9)struct xusb_udc(9)xudc_read32(9)xudc_write32_be(9)xudc_read32_be(9)xudc_wrstatus(9)xudc_epconfig(9)xudc_start_dma(9)xudc_dma_send(9)xudc_dma_receive(9)xudc_eptxrx(9)xudc_done(9)xudc_read_fifo(9)xudc_write_fifo(9)xudc_nuke(9)xudc_ep_set_halt(9)__xudc_ep_enable(9)xudc_ep_enable(9)xudc_ep_disable(9)xudc_ep_alloc_request(9)xudc_free_request(9)__xudc_ep0_queue(9)xudc_ep0_queue(9)xudc_ep_queue(9)xudc_ep_dequeue(9)xudc_ep0_enable(9)xudc_ep0_disable(9)xudc_get_frame(9)xudc_wakeup(9)xudc_pullup(9)xudc_eps_init(9)xudc_stop_activity(9)xudc_start(9)xudc_stop(9)xudc_clear_stall_all_ep(9)xudc_startup_handler(9)xudc_ep0_stall(9)xudc_setaddress(9)xudc_getstatus(9)xudc_set_clear_feature(9)xudc_handle_setup(9)xudc_ep0_out(9)xudc_ep0_in(9)xudc_ctrl_ep_handler(9)xudc_nonctrl_ep_handler(9)xudc_irq(9)xudc_probe(9)xudc_remove(9)
like yes, that's 47 functions, we counted, we're not okay about it π but honestly? every single one of them is worth a lil scroll. iykyk. π₯
and that's the whole page, babe π you understood it, you're basically a kernel dev now, periodt. π
from the ./drivers/usb/gadget/udc source (dated October 2026), with love, shipped straight from the Kernel API Manual π§β β go write some registers, bestie, go be iconic π
π¦ 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