STRUCT ROCKCHIP_CHG_DET_REG(9)
π struct rockchip_chg_det_reg(9) π
okay so bestie, this one's straight out of the Kernel API Manual β like, the manual name is literally struct rockchip_chg_det_reg(9) β and it's giving "the USB charger detect registers" and nothing else. No cap, it's a struct, it holds registers, and it's here to detect chargers. Let's get into it π«Ά
πΈ NAME πΈ
struct rockchip_chg_det_reg β usb charger detect registers. That's the whole vibe. It's the little bundle of registers that figures out what kind of USB thing you just plugged in πβ¨
β¨ SYNOPSIS β¨
struct rockchip_chg_det_reg {
struct usb2phy_reg cp_det;
struct usb2phy_reg dcp_det;
struct usb2phy_reg dp_det;
struct usb2phy_reg idm_sink_en;
struct usb2phy_reg idp_sink_en;
struct usb2phy_reg idp_src_en;
struct usb2phy_reg rdm_pdwn_en;
struct usb2phy_reg vdm_src_en;
struct usb2phy_reg vdp_src_en;
struct usb2phy_reg opmode;
};
Like, ten fields, all of them struct usb2phy_reg, all of them doing their little job. Obsessed with how tidy that is π
π Members π
cp_detβ charging port detected successfully. It ate and left no crumbs βdcp_detβ dedicated charging port detected successfully. The dedicated one showed up and it's main character energy πdp_detβ assert data pin connect successfully. The data pin is connected, periodt.idm_sink_enβ open dm sink curren. (yes, "curren" β that's literally what it says in here, and honestly? iconic π)idp_sink_enβ open dp sink current.idm_sink_en's sibling behavior: it opens the dp sink current, not the dm one β read the field names carefully bestie, iykyk πidp_src_enβ open dm source current.rdm_pdwn_enβ open dm pull down resistor. Pull it down, slay πvdm_src_enβ open dm voltage source. Voltage, but make it dm β‘vdp_src_enβ open dp voltage source. Same energy, dp flavored πopmodeβ utmi operational mode. This one's the mode switch, the big boss, the vibe check for the whole UTMI situation π§
Ngl bestie, the field names are cute but you gotta read them like your life depends on it βidm_sink_enis dm,idp_sink_enis dp,idp_src_ensays dm, andrdm_pdwn_en/vdm_src_en/vdp_src_enare all doing their own little dm/dp moment. Copy them exactly, don't "fix" them π
π¦ SEE ALSO π¦
Kernel file ./drivers/phy/rockchip/phy-rockchip-inno-usb2.c enum usb_chg_state(9), struct rockchip_usb2phy_port_cfg(9), struct rockchip_usb2phy_cfg(9), struct rockchip_usb2phy_port(9), struct rockchip_usb2phy(9)
Go read those next, bestie, they're all in the same friend group fr fr πΈ
and that's the page!! π written under ./drivers/phy/rockchip, dated October 2026, and signed off as struct rockchip_chg_det_reg(9) β periodt, no cap, see u in the next manpage ππ₯
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms