STRUCT ISP_CCP2_CFG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct isp_ccp2_cfg β€” the CCP2 interface configuration struct, bestie πŸ’…βœ¨

So this is the little struct that holds all the vibes for configuring a CCP2 interface. It lives in the Kernel API Manual (section 9, the kernel one β€” iykyk), and it's genuinely just a tidy little bundle of bitfields plus a lane config. Obsessed πŸŽ€


πŸŽ€ SYNOPSIS πŸŽ€

Ok so here's literally the whole thing, copy it exactly, no cap:

struct isp_ccp2_cfg {
    unsigned int strobe_clk_pol:1;
    unsigned int crc:1;
    unsigned int ccp2_mode:1;
    unsigned int phy_layer:1;
    unsigned int vpclk_div:2;
    unsigned int vp_clk_pol:1;
    struct isp_csiphy_lanes_cfg lanecfg;
};

Not me pointing out that vpclk_div is the only one with 2 bits β€” she's got range, the others are all :1 πŸ¦‹


πŸ’œ MEMBERS πŸ’œ

Every single field, bestie, in order, nothing skipped 🫢

  • strobe_clk_pol β€” Strobe/clock polarity. 0 = Non Inverted, 1 = Inverted. Simple as that ✨
  • crc β€” Enable the cyclic redundancy check. You want the check? Flip it on πŸ’–
  • ccp2_mode β€” Enable CCP2 compatibility mode. Two moods: ISP_CCP2_MODE_MIPI = MIPI-CSI1 mode, and ISP_CCP2_MODE_CCP2 = CCP2 mode. Pick your fighter 🌸
  • phy_layer β€” Physical layer selection. ISP_CCP2_PHY_DATA_CLOCK = Data/clock physical layer, ISP_CCP2_PHY_DATA_STROBE = Data/strobe physical layer. Main character choice energy πŸ‘‘
  • vpclk_div β€” Video port output clock control. Yes, that's the whole description, and yes it's the 2-bit one πŸ”₯
  • vp_clk_pol β€” Video port output clock polarity. Clock but make it video port, and pick a polarity 🌈
  • lanecfg β€” CCP2/CSI2 lane configuration, typed as struct isp_csiphy_lanes_cfg. It's giving "the important nested one" ⭐
Heads up bestie: those two-bit and one-bit widths up in the SYNOPSIS are literal β€” vpclk_div takes :2, everything else in that run takes :1. Don't come for me, that's just how she's written πŸ™ˆ

🌈 SEE ALSO 🌈

Go read the whole friend group, they're all in the kernel file ./drivers/media/platform/ti/omap3isp/omap3isp.h πŸ’€πŸ“š

  • struct isp_parallel_cfg(9)
  • struct isp_csiphy_lane(9)
  • struct isp_csiphy_lanes_cfg(9)
  • struct isp_csi2_cfg(9)

Periodt. Study them, love them, cite them πŸ“


And that's the page, bestie πŸ§šπŸ’– This came from ./drivers/media/platform/ti/om... (the truncated-path source, she's mysterious like that), dated October 2026, and the whole thing is titled struct isp_ccp2_cfg(9) β€” slay, go configure something iconic πŸ’…πŸ‘‘

πŸ“¦ where this page comes from