include/soc/tegra/bpmp-abi.h
Source file repositories/reference/linux-study-clean/include/soc/tegra/bpmp-abi.h
File Facts
- System
- Linux kernel
- Corpus path
include/soc/tegra/bpmp-abi.h- Extension
.h- Size
- 226119 bytes
- Lines
- 6751
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
stddef.hstdint.hbpmp_abi_checks.h
Detected Declarations
struct mrq_requeststruct mrq_responsestruct mrq_ping_requeststruct mrq_ping_responsestruct mrq_query_tag_requeststruct mrq_query_fw_tag_responsestruct mrq_threaded_ping_requeststruct mrq_threaded_ping_responsestruct cmd_debugfs_fileop_requeststruct cmd_debugfs_dumpdir_requeststruct cmd_debugfs_fileop_responsestruct cmd_debugfs_dumpdir_responsestruct mrq_debugfs_requeststruct mrq_debugfs_responsestruct cmd_debug_fopen_requeststruct cmd_debug_fopen_responsestruct cmd_debug_fread_requeststruct cmd_debug_fread_responsestruct cmd_debug_fwrite_requeststruct cmd_debug_fclose_requeststruct mrq_debug_requeststruct mrq_debug_responsestruct mrq_reset_requeststruct cmd_reset_get_max_id_responsestruct mrq_reset_responsestruct serial_i2c_requeststruct cmd_i2c_xfer_requeststruct cmd_i2c_xfer_responsestruct mrq_i2c_requeststruct mrq_i2c_responsestruct cmd_clk_get_rate_requeststruct cmd_clk_get_rate_responsestruct cmd_clk_set_rate_requeststruct cmd_clk_set_rate_responsestruct cmd_clk_round_rate_requeststruct cmd_clk_round_rate_responsestruct cmd_clk_get_parent_requeststruct cmd_clk_get_parent_responsestruct cmd_clk_set_parent_requeststruct cmd_clk_set_parent_responsestruct cmd_clk_is_enabled_requeststruct cmd_clk_is_enabled_responsestruct cmd_clk_enable_requeststruct cmd_clk_enable_responsestruct cmd_clk_disable_requeststruct cmd_clk_disable_responsestruct cmd_clk_get_all_info_requeststruct cmd_clk_get_all_info_response
Annotated Snippet
struct mrq_request {
/** @brief MRQ number of the request */
uint32_t mrq;
/**
* @brief 32bit word containing a number of fields as follows:
*
* struct {
* uint8_t options:4;
* uint8_t xid:4;
* uint8_t payload_length;
* uint16_t crc16;
* };
*
* **options** directions to the receiver and indicates CRC presence.
*
* #BPMP_MAIL_DO_ACK and #BPMP_MAIL_RING_DB see documentation of respective options.
* #BPMP_MAIL_CRC_PRESENT is supported on T234 and later platforms. It indicates the
* crc16, xid and length fields are present when set.
* Some platform configurations, especially when targeted to applications requiring
* functional safety, mandate this option being set or otherwise will respond with
* -#BPMP_EBADMSG and ignore the request.
*
* **xid** is a transaction ID.
*
* Only used when #BPMP_MAIL_CRC_PRESENT is set.
*
* **payload_length** of the message expressed in bytes without the size of this header.
* See tables below for minimum accepted payload lengths for each MRQ.
*
* Only used when #BPMP_MAIL_CRC_PRESENT is set.
*
* | MRQ | Sub-command | Minimum payload length
* | --------------------- | ------------------------------------ | ------------------------------------------------------- |
* | #MRQ_PING | - | 4 |
* | #MRQ_THREADED_PING | - | 4 |
* | #MRQ_RESET | any | 8 |
* | #MRQ_I2C | - | 12 + cmd_i2c_xfer_request.data_size |
* | #MRQ_CLK | #CMD_CLK_GET_RATE | 4 |
* | #MRQ_CLK | #CMD_CLK_SET_RATE | 16 |
* | #MRQ_CLK | #CMD_CLK_ROUND_RATE | 16 |
* | #MRQ_CLK | #CMD_CLK_GET_PARENT | 4 |
* | #MRQ_CLK | #CMD_CLK_SET_PARENT | 8 |
* | #MRQ_CLK | #CMD_CLK_ENABLE | 4 |
* | #MRQ_CLK | #CMD_CLK_DISABLE | 4 |
* | #MRQ_CLK | #CMD_CLK_IS_ENABLED | 4 |
* | #MRQ_CLK | #CMD_CLK_GET_ALL_INFO | 4 |
* | #MRQ_CLK | #CMD_CLK_GET_MAX_CLK_ID | 4 |
* | #MRQ_CLK | #CMD_CLK_GET_FMAX_AT_VMIN | 4 |
* | #MRQ_QUERY_ABI | - | 4 |
* | #MRQ_PG | #CMD_PG_QUERY_ABI | 12 |
* | #MRQ_PG | #CMD_PG_SET_STATE | 12 |
* | #MRQ_PG | #CMD_PG_GET_STATE | 8 |
* | #MRQ_PG | #CMD_PG_GET_NAME | 8 |
* | #MRQ_PG | #CMD_PG_GET_MAX_ID | 8 |
* | #MRQ_THERMAL | #CMD_THERMAL_QUERY_ABI | 8 |
* | #MRQ_THERMAL | #CMD_THERMAL_GET_TEMP | 8 |
* | #MRQ_THERMAL | #CMD_THERMAL_GET_NUM_ZONES | 4 |
* | #MRQ_THERMAL | #CMD_THERMAL_GET_THERMTRIP | 8 |
* | #MRQ_ABI_RATCHET | - | 2 |
* | #MRQ_EMC_DVFS_LATENCY | - | 8 |
* | #MRQ_QUERY_FW_TAG | - | 0 |
* | #MRQ_DEBUG | #CMD_DEBUG_OPEN_RO | 4 + length of cmd_debug_fopen_request.name |
* | #MRQ_DEBUG | #CMD_DEBUG_OPEN_WO | 4 + length of cmd_debug_fopen_request.name |
* | #MRQ_DEBUG | #CMD_DEBUG_READ | 8 |
* | #MRQ_DEBUG | #CMD_DEBUG_WRITE | 12 + cmd_debug_fwrite_request.datalen |
* | #MRQ_DEBUG | #CMD_DEBUG_CLOSE | 8 |
*
* @cond (bpmp_t186)
* The following additional MRQ is supported on T186 -platform:
*
* | MRQ | Sub-command | Minimum payload length |
* | --------------------- | ------------------------------------- | ------------------------------------- |
* | #MRQ_CPU_VHINT | - | 8 |
* | #MRQ_THERMAL | #CMD_THERMAL_SET_TRIP | 20 |
* | #MRQ_RINGBUF_CONSOLE | #CMD_RINGBUF_CONSOLE_QUERY_ABI | 8 |
* | #MRQ_RINGBUF_CONSOLE | #CMD_RINGBUF_CONSOLE_READ | 5 |
* | #MRQ_RINGBUF_CONSOLE | #CMD_RINGBUF_CONSOLE_WRITE | 5 + cmd_ringbuf_console_write_req.len |
* | #MRQ_RINGBUF_CONSOLE | #CMD_RINGBUF_CONSOLE_GET_FIFO | 4 |
* @endcond
*
* @cond (bpmp_t194)
* The following additional MRQs are supported on T194 -platform:
*
* | MRQ | Sub-command | Minimum payload length |
* | --------------------- | ------------------------------------- | ------------------------------------- |
* | #MRQ_CPU_NDIV_LIMITS | - | 4 |
* | #MRQ_STRAP | #STRAP_SET | 12 |
* | #MRQ_CPU_AUTO_CC3 | - | 4 |
* | #MRQ_EC | #CMD_EC_STATUS_EX_GET | 12 |
Annotation
- Immediate include surface: `stddef.h`, `stdint.h`, `bpmp_abi_checks.h`.
- Detected declarations: `struct mrq_request`, `struct mrq_response`, `struct mrq_ping_request`, `struct mrq_ping_response`, `struct mrq_query_tag_request`, `struct mrq_query_fw_tag_response`, `struct mrq_threaded_ping_request`, `struct mrq_threaded_ping_response`, `struct cmd_debugfs_fileop_request`, `struct cmd_debugfs_dumpdir_request`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.