prcmu_abb_read(9)
π prcmu_abb_read(9) β like, the Kernel API Manual era π
okay bestie, so this is a page straight out of the Kernel API Manual and honestly? it's giving tiny-but-mighty. one little function, four arguments, one very specific firmware rule. let's get into it β¨
πΈ NAME πΈ
prcmu_abb_read β reads register value(s) from the ABB. that's the whole vibe. it reads, it retrieves, it slays π«Ά
β SYNOPSIS β
int prcmu_abb_read (u8 slave , u8 reg , u8 *value , u8 size );
look at her. four params, returns an int, no notes. iconic behavior π
π¦ ARGUMENTS π¦
slaveβ the I2C slave address. yes bestie, that's literally what it's called, that's the name in the source, we don't rename things here πregβ the (start) register address. like, where the reading begins. the start. the beginning of the lore β¨valueβ the read out value(s). this is where the tea gets poured β it's a pointer, so the good stuff lands out here πsizeβ the number of registers to read. how many are we grabbing? that many. no cap π₯
π DESCRIPTION π
so what does she do? she reads register value(s) from the ABB. that's it, that's the job, and she does it well π
but here's the part where you gotta pay attention, bestie, because this is a real constraint and not a suggestion: size has to be 1 for the current firmware version. like, one. uno. singular. that's the rule for the firmware as it currently exists, so don't be out here passing 2 and acting surprised π
fr fr,size=1with the current firmware version. that's the assignment. respect it π
π SEE ALSO π
the kernel file lives at ./drivers/mfd/db8500-prcmu.c and honestly the whole friend group is here β go say hi to the rest of the PRCMU crew π:
prcmu_set_rc_a2p(9)prcmu_get_rc_p2a(9)prcmu_get_xp70_current_state(9)prcmu_config_clkout(9)db8500_prcmu_set_arm_opp(9)db8500_prcmu_get_arm_opp(9)db8500_prcmu_get_ddr_opp(9)db8500_prcmu_set_ape_opp(9)db8500_prcmu_get_ape_opp(9)db8500_prcmu_request_ape_opp_100_voltage(9)prcmu_release_usb_wakeup_state(9)db8500_prcmu_set_epod(9)prcmu_configure_auto_pm(9)db8500_prcmu_request_clock(9)prcmu_abb_write_masked(9)prcmu_abb_write(9)prcmu_ac_wake_req(9)prcmu_ac_sleep_req(9)db8500_prcmu_system_reset(9)db8500_prcmu_get_reset_code(9)db8500_prcmu_modem_reset(9)
and that's the whole page, bestie π§ she's short, she's sweet, she reads exactly one register at a time on current firmware. this lil gem comes to you from ./drivers/mfd, dated October 2026, and the page itself is prcmu_abb_read(9) β go forth and read responsibly πβ¨π
π¦ 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