STRUCT GPI_SPI_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay bestie, welcome to the struct gpi_spi_config(9) page from the Kernel API Manual πŸ’– this one is literally the spi config for a peripheral struct, and it's giving kernel struct realness. we're walking every member like a fit check, no skips, periodt. πŸ’…

πŸ’– NAME πŸ’–

struct gpi_spi_config β€” spi config for peripheral, no cap. πŸŽ€

✨ SYNOPSIS ✨

here's the whole struct layout, copied exactly so you can trust it:

       struct gpi_spi_config {
           u8 set_config;
           u8 loopback_en;
           u8 clock_pol_high;
           u8 data_pol_high;
           u8 pack_en;
           u8 word_len;
           u8 fragmentation;
           u8 cs;
           u32 clk_div;
           u32 clk_src;
           enum spi_transfer_cmd cmd;
           u32 rx_len;
        };

🫢 Members 🫢

every field, in order, with zero skips:

  • set_config β€” sets the peripheral config. ✨
  • loopback_en β€” spi loopback enable when it's set. πŸ”
  • clock_pol_high β€” clock polarity. πŸ•°οΈ
  • data_pol_high β€” data polarity. πŸŽ€
  • pack_en β€” processes tx/rx buffers as packed. πŸ“¦
  • word_len β€” spi word length. πŸ”€
  • fragmentation β€” keeps CS asserted at the end of the sequence. πŸ“Œ
  • cs β€” chip select toggle. πŸ‘†
  • clk_div β€” source clock divider. βž—
  • clk_src β€” serial clock. ⏰
  • cmd β€” spi cmd. 🫑
  • rx_len β€” receive length for buffer. πŸ“₯

πŸ‘€ SEE ALSO πŸ‘€

Kernel file ./include/linux/dma/qcom-gpi-dma.h, enum spi_transfer_cmd(9), and struct gpi_i2c_config(9) β€” go read those too, bestie 🫢


source/version line is ./include/linux/dma, the page is dated October 2026, and it's all struct gpi_spi_config(9) β€” bye bestie πŸ’–βœ¨

πŸ“¦ where this page comes from