STRUCT PL08X_CHANNEL_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct pl08x_channel_data(9) 🌸

okay bestie, welcome to the Kernel API Manual ✨ β€” yes we're literally in the kernel docs and it's giving iconic. this page is all about struct pl08x_channel_data, the data structure you use to pass info between the platform and the PL08x driver about channel configuration 🫢


✨ NAME ✨

struct pl08x_channel_data β€” the data structure that carries info between the platform and the PL08x driver about how a channel should be configured πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct pl08x_channel_data {
    const char *bus_id;
    int min_signal;
    int max_signal;
    u32 muxval;
    dma_addr_t addr;
    bool single;
    u8 periph_buses;
 };

πŸŽ€ Members πŸŽ€

  • bus_id β€” the name of this device channel, and no, it's not just the device name, because a device can have more than one channel. like, think "foo_tx" vibes ✨
  • min_signal β€” the minimum DMA signal number that gets muxed in for this channel (for platforms that support muxed signals). if you've got static assignments, make sure this is set to the assigned signal number. PL08x has 16 possible signals, numbered 0 thru 15, so when those aren't enough they often get muxed (in hardware), which disables using the same channel for two devices at the same time 😭
  • max_signal β€” the maximum DMA signal number to be muxed in for the channel. set it to the same value as min_signal for devices with static assignments πŸ’–
  • muxval β€” a number usually used to poke into some mux register to mux the signal into this channel πŸ‘‘
  • addr β€” the source/target address in physical memory for this DMA channel; it can be the address of a FIFO register for burst requests, for example. you can leave this undefined if the PrimeCell API is used for configuring this πŸ¦‹
  • single β€” the device connected to this channel will request single DMA transfers, not bursts. (bursts are the default, fyi πŸ’…)
  • periph_buses β€” the device connected to this channel is accessible via these buses (use PL08X_AHB1 | PL08X_AHB2) 🌈

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./include/linux/amba/pl08x.h
  • struct pl08x_platform_data(9)

and that's the whole vibe check, bestie πŸ’œ this page is from ./include/linux/amba, dated October 2026, and yes it's still serving struct pl08x_channel_data(9) realness β€” periodt βœ¨πŸ’…πŸŽ€

πŸ“¦ where this page comes from