STRUCT M88DS3103_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, welcome to the struct m88ds3103_config(9) page from the Kernel API Manual β€” it's literally the config struct for m88ds3102, and the NAME line says struct m88ds3103_config - m88ds3102 configuration. Yes, the numbers are different, and no, we are not changing them β€” that's the source, periodt. πŸ’…

This struct is a whole little wardrobe of settings, and every member has a default or a must-set warning. Let's unpack it like a group chat. ✨

🌸 SYNOPSIS 🌸

Here's the exact struct, bestie β€” every field, every bitfield, every semicolon:

struct m88ds3103_config {
    u8 i2c_addr;
    u32 clock;
    u16 i2c_wr_max;
    u8 ts_mode;
    u32 ts_clk;
    u8 ts_clk_pol:1;
    u8 spec_inv:1;
    u8 agc_inv:1;
    u8 clock_out;
    u8 envelope_mode:1;
    u8 agc;
    u8 lnb_hv_pol:1;
    u8 lnb_en_pol:1;
};

πŸŽ€ Members πŸŽ€

Every member is doing its own main-character thing:

  • i2c_addr β€” the I2C address, bestie. Default: none, must set. Example: 0x68, ...
  • clock β€” the device's clock. Default: none, must set. Example: 27000000.
  • i2c_wr_max β€” max bytes the I2C provider is asked to write at once. Default: none, must set. Example: 33, 65, ...
  • ts_mode β€” TS output mode, as defined by enum m88ds3103_ts_mode. Default: M88DS3103_TS_SERIAL.
  • ts_clk β€” TS clk in KHz. Default: 0.
  • ts_clk_pol β€” TS clk polarity. Default: 0. 1-active at falling edge; 0-active at rising edge.
  • spec_inv β€” spectrum inversion. Default: 0.
  • agc_inv β€” AGC polarity. Default: 0.
  • clock_out β€” clock output, as defined by enum m88ds3103_clock_out. Default: M88DS3103_CLOCK_OUT_DISABLED.
  • envelope_mode β€” DiSEqC envelope mode. Default: 0.
  • agc β€” AGC configuration. Default: none, must set.
  • lnb_hv_pol β€” LNB H/V pin polarity. Default: 0. Values: 1: pin high set to VOLTAGE_13, pin low to set VOLTAGE_18; 0: pin high set to VOLTAGE_18, pin low to set VOLTAGE_13.
  • lnb_en_pol β€” LNB enable pin polarity. Default: 0. Values: 1: pin high to enable, pin low to disable; 0: pin high to disable, pin low to enable.
The "none, must set" energy is real for i2c_addr, clock, i2c_wr_max, and agc β€” no cap, go fill them in. 🫢

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/media/dvb-frontends/m88ds3103.h β€” enum m88ds3103_ts_mode(9), enum m88ds3103_clock_out(9), struct m88ds3103_platform_data(9), m88ds3103_attach(9).

mwah πŸ’‹ β€” source/version: ./drivers/media/dvb-frontends, date: October 2026. Stay slaying, bestie. πŸŽ€βœ¨

πŸ“¦ where this page comes from