STRUCT RPI_FIRMWARE_PROPERTY_TAG_HEADER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct rpi_firmware_property_tag_header (9) πŸŽ€

okay so welcome to the Kernel API Manual, bestie β€” this is the page for struct rpi_firmware_property_tag_header, aka the Firmware property tag header. No cap, it's giving β€œmetadata but make it struct” energy. πŸ¦‹


πŸ’– NAME πŸ’–

struct rpi_firmware_property_tag_header β€” Firmware property tag header. That's the name, bestie, and yes it's a struct. 🫢

✨ SYNOPSIS ✨

the way this struct is shaped is literally this, so don't freestyle the fields:

struct rpi_firmware_property_tag_header {
    u32 tag;
    u32 buf_size;
    u32 req_resp_size;
 };

🧚 Members 🧚

okay so there are three members, and they all matter. Member check, let's go: πŸ’…

  • tag β€” one of enum_mbox_property_tag. Pick your tag from the enum and slay. ✨
  • buf_size β€” the number of bytes in the value buffer following this struct. Literally the size of the buffer that comes after the header. πŸ“
  • req_resp_size β€” miss girl is doing double duty:
    • On submit, it's the length of the request (though it doesn't appear to be currently used by the firmware). So yeah, submit-time length, but the firmware doesn't seem to be using it right now. πŸ‘€
    • On return, it's the length of the response (always 4 byte aligned), with the low bit set. Read that again: always 4 byte aligned, and low bit set. πŸ”₯
bestie, do not forget the low bit on the return side β€” it's literally what the page says. 😭

πŸ‘‘ SEE ALSO πŸ‘‘

go look at these too, iykyk:

  • Kernel file ./include/soc/bcm2835/raspberrypi-firmware.h
  • struct rpi_firmware_get_voltage_request(9)
  • struct rpi_firmware_clk_rate_request(9)

okay bye bestie β€” this page came from ./include/soc/bcm2835, dated October 2026, and that's the whole manual-page vibe πŸ’…πŸ¦‹

πŸ“¦ where this page comes from