CVS DEVICE QUIRK FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– CVS device quirk flags πŸ’–

okay bestie, welcome to CVS device quirk flags(9) β€” this is the page for the bit flag macros that describe per-device behavioral adjustments. They get applied after VID/PID matching (see cvs_i2c_check and cvs_apply_quirks), and they let the driver selectively alter logic paths for firmware / hardware variants without introducing hard-coded conditionals at each call site. it’s giving β€œsmall flags, big main character energy” ✨

here’s the flag lore, one iconic little macro at a time:

  • ICVS_NO_MIPI_CONFIG β€” device firmware performs its own MIPI link setup, so skip sending HOST_SET_MIPI_CONFIG.
  • ICVS_SKIP_FW_RESET β€” skip issuing a post firmware-update reset sequence.
  • ICVS_NO_CAPS β€” device firmware does not support GET_DEV_CAPABILITY; skip the capability query and treat caps as unsupported.
  • ICVS_FW_BUF_SIZE_256 β€” firmware expects chunk transfer buffer size of 256 bytes (override defaults if they differ).
  • ICVS_FW_HEADER_SIZE_256 β€” firmware header size fixed at 256 bytes offset for start of payload data.
  • ICVS_HOST_SENSOR_PWR_CTRL β€” host must control sensor power sequencing.
  • ICVS_HOST_PRIV_CTRL β€” host owns privacy LED gating.
  • ICVS_HOST_VISION_SENSING β€” host enables vision sensing capability bit.
  • ICVS_NO_FW_UPDATE β€” device does not support firmware update.

🌈 SEE ALSO 🌈

Kernel file ./drivers/media/i2c/cvs/icvs.h is the group chat, and the whole cast is:

  • enum icvs_csi_cmd_id(9)
  • enum icvs_csi_link_owner(9)
  • enum icvs_csi_privacy_status(9)
  • enum icvs_csi_pads(9)
  • struct icvs_device_quirk(9)
  • struct icvs_dt_config(9)
  • struct icvs_vc_config(9)
  • struct icvs_link_cfg(9)
  • struct icvs_fw_version(9)
  • struct icvs_vid_pid(9)
  • struct icvs_mipi_data_packet(9)
  • struct icvs_mipi_read_packet(9)
  • struct icvs_dev_capabilities(9)
  • struct icvs_cmd(9)
  • struct icvs_resp(9)
  • enum icvs_resources(9)
  • enum icvs_command(9)
  • enum icvs_state(9)
  • struct icvs(9)
  • cvs_dev(9)

mwah πŸ’‹ this cutie is sourced from ./drivers/media/i2c/cvs, dated October 2026, and it’s literally CVS device quirk flags(9). periodt 🫢

πŸ“¦ where this page comes from