Lines Matching +full:no +full:- +full:ref +full:- +full:current +full:- +full:limit

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (c) 2014-2022, NVIDIA CORPORATION. All rights reserved.
58 * message consists of a @ref mrq_request followed by a payload whose
63 * consists of a @ref mrq_response followed by a payload whose format
66 * A well-defined subset of the MRQ messages that the CPU sends to the
130 * -BPMP_EBADMSG and ignore the request.
144 …* | -------------------- | ------------------------------------ | --------------------------------…
223 * calculated by BPMP, -BPMP_EBADMSG will be returned and the request will
402 * @defgroup CC3 Auto-CC3
420 * * Request Payload: @ref mrq_ping_request
421 * * Response Payload: @ref mrq_ping_response
430 * * Request Payload: @ref mrq_ping_request
431 * * Response Payload: @ref mrq_ping_response
457 * mrq_ping_request challenge left shifted by 1 with the carry-bit
476 * * Request Payload: @ref mrq_query_tag_request
503 * * Response Payload: @ref mrq_query_fw_tag_response
540 * * Request Payload: @ref mrq_debugfs_request
541 * * Response Payload: @ref mrq_debugfs_response
548 * The BPMP firmware implements a pseudo-filesystem called
632 * command to execute. Legal commands are the values of @ref
637 * |-------------------|-------|
643 /** @brief Sub-command (@ref mrq_debugfs_commands) */
681 * @ref MRQ_DEBUGFS. But the way in which data is exchanged is different.
691 * * Request Payload: @ref mrq_debug_request
692 * * Response Payload: @ref mrq_debug_response
719 * @brief Maximum size of null-terminated file name string in bytes.
721 * using @ref cmd_debug_fopen_request
722 * Value 4 corresponds to size of @ref mrq_debug_commands
723 * in @ref mrq_debug_request.
724 * 120 - 4 dbg_cmd(32bit) = 116
726 #define DEBUG_FNAME_MAX_SZ (MSG_DATA_MIN_SZ - 4)
733 /** @brief File name - Null-terminated string with maximum
734 * length @ref DEBUG_FNAME_MAX_SZ
767 * using @ref cmd_debug_fread_response.
769 #define DEBUG_READ_MAX_SZ (MSG_DATA_MIN_SZ - 4)
786 * using @ref cmd_debug_fwrite_request.
788 #define DEBUG_WRITE_MAX_SZ (MSG_DATA_MIN_SZ - 12)
821 * command to execute. Legal commands are the values of @ref
826 * |-------------------|-------|
834 /** @brief Sub-command (@ref mrq_debug_commands) */
868 * * Request Payload: @ref mrq_reset_request
869 * * Response Payload: @ref mrq_reset_response
880 * -#BPMP_EINVAL if mrq_reset_request::reset_id is invalid @n
881 * -#BPMP_EACCES if mrq master is not an owner of target domain reset @n
882 * -#BPMP_ENOTSUP if target domain h/w state does not allow reset
889 * -#BPMP_EINVAL if mrq_reset_request::reset_id is invalid @n
890 * -#BPMP_EACCES if mrq master is not an owner of target domain reset @n
891 * -#BPMP_ENOTSUP if target domain h/w state does not allow reset
898 * -#BPMP_EINVAL if mrq_reset_request::reset_id is invalid @n
899 * -#BPMP_EACCES if mrq master is not an owner of target domain reset @n
900 * -#BPMP_ENOTSUP if target domain h/w state does not allow reset
907 * -#BPMP_ENODEV if no reset domains are supported (number of IDs is 0)
922 /** @brief Reset action to perform (@ref mrq_reset_commands) */
929 * @brief Response for MRQ_RESET sub-command CMD_RESET_GET_MAX_ID. When
930 * this sub-command is not supported, firmware will return -BPMP_EBADCMD
941 * Each sub-command supported by @ref mrq_reset_request may return
942 * sub-command-specific data. Some do and some do not as indicated
945 * | sub-command | payload |
946 * |----------------------|------------------|
947 * | CMD_RESET_ASSERT | - |
948 * | CMD_RESET_DEASSERT | - |
949 * | CMD_RESET_MODULE | - |
968 * * Request Payload: @ref mrq_i2c_request
969 * * Response Payload: @ref mrq_i2c_response
974 #define TEGRA_I2C_IPC_MAX_IN_BUF_SIZE (MSG_DATA_MIN_SZ - 12U)
975 #define TEGRA_I2C_IPC_MAX_OUT_BUF_SIZE (MSG_DATA_MIN_SZ - 4U)
993 * Instances of this structure are packed (little-endian) into
1036 /** @brief Serialized packed instances of @ref serial_i2c_request*/
1069 * -#BPMP_EBADCMD: if mrq_i2c_request::cmd is other than 1
1070 * -#BPMP_EINVAL: if cmd_i2c_xfer_request does not contain correctly formatted request
1071 * -#BPMP_ENODEV: if cmd_i2c_xfer_request::bus_id is not supported by BPMP
1072 * -#BPMP_EACCES: if i2c transaction is not allowed due to firewall rules
1073 * -#BPMP_ETIMEDOUT: if i2c transaction times out
1074 * -#BPMP_ENXIO: if i2c slave device does not reply with ACK to the transaction
1075 * -#BPMP_EAGAIN: if ARB_LOST condition is detected by the i2c controller
1076 * -#BPMP_EIO: any other i2c controller error code than NO_ACK or ARB_LOST
1092 * * Request Payload: @ref mrq_clk_request
1093 * * Response Payload: @ref mrq_clk_response
1128 * -#BPMP_EACCES.
1136 * -#BPMP_EACCES.
1193 * @brief Response data to #MRQ_CLK sub-command CMD_CLK_IS_ENABLED
1307 * clk_request is split into several sub-commands. Some sub-commands
1308 * require no additional data. Others have a sub-command specific
1311 * |sub-command |payload |
1312 * |----------------------------|-----------------------|
1313 * |CMD_CLK_GET_RATE |- |
1316 * |CMD_CLK_GET_PARENT |- |
1318 * |CMD_CLK_IS_ENABLED |- |
1319 * |CMD_CLK_ENABLE |- |
1320 * |CMD_CLK_DISABLE |- |
1321 * |CMD_CLK_GET_ALL_INFO |- |
1322 * |CMD_CLK_GET_MAX_CLK_ID |- |
1323 * |CMD_CLK_GET_FMAX_AT_VMIN |-
1330 * Older versions of firmware also supported following sub-commands:
1331 * |CMD_CLK_PROPERTIES |- |
1332 * |CMD_CLK_POSSIBLE_PARENTS |- |
1333 * |CMD_CLK_NUM_POSSIBLE_PARENTS|- |
1335 * |CMD_CLK_RESET_REFCOUNTS |- |
1340 /** @brief Sub-command and clock id concatenated to 32-bit word.
1341 * - bits[31..24] is the sub-cmd.
1342 * - bits[23..0] is the clock id
1382 * Each sub-command supported by @ref mrq_clk_request may return
1383 * sub-command-specific data. Some do and some do not as indicated in
1386 * |sub-command |payload |
1387 * |----------------------------|------------------------|
1394 * |CMD_CLK_ENABLE |- |
1395 * |CMD_CLK_DISABLE |- |
1404 * Older versions of firmware also supported following sub-commands:
1409 * |CMD_CLK_RESET_REFCOUNTS |- |
1447 * * Request Payload: @ref mrq_query_abi_request
1448 * * Response Payload: @ref mrq_query_abi_response
1471 /** @brief 0 if queried MRQ is supported. Else, -#BPMP_ENODEV */
1479 * @brief Control power-gating state of a partition. In contrast to
1484 * @note On T194 and earlier BPMP-FW forcefully turns off some partitions as
1488 * See @ref bpmp_pdomain_ids for further detail.
1494 * * Request Payload: @ref mrq_pg_request
1495 * * Response Payload: @ref mrq_pg_response
1506 * supported and -#BPMP_ENODEV otherwise.
1511 * @brief Set the current state of specified power domain. The
1517 * -#BPMP_EINVAL: Invalid request parameters
1522 * @brief Get the current state of specified power domain. The
1528 * -#BPMP_EINVAL: Invalid request parameters
1537 * -#BPMP_EINVAL: Invalid request parameters
1548 * -#BPMP_EINVAL: Invalid request parameters
1570 /** @ref mrq_pg_cmd */
1575 /** @ref pg_states */
1592 * See @ref pg_states for possible values
1609 * partitions. The pg_request is split into several sub-commands. Some
1610 * sub-commands require no additional data. Others have a sub-command
1613 * |sub-command |payload |
1614 * |----------------------------|-----------------------|
1617 * |CMD_PG_GET_STATE | - |
1618 * |CMD_PG_GET_NAME | - |
1619 * |CMD_PG_GET_MAX_ID | - |
1634 * Each sub-command supported by @ref mrq_pg_request may return
1635 * sub-command-specific data. Some do and some do not as indicated in
1638 * |sub-command |payload |
1639 * |----------------------------|-----------------------|
1640 * |CMD_PG_QUERY_ABI | - |
1641 * |CMD_PG_SET_STATE | - |
1676 * framework interally to implement various temperature-dependent
1679 * Software on the CPU can use #MRQ_THERMAL (with payload @ref
1686 * payload of @ref mrq_thermal_bpmp_to_host_request.
1697 * supported and -#BPMP_ENODEV otherwise.
1702 * @brief Get the current temperature of the specified zone.
1708 * * -#BPMP_EINVAL: Invalid request parameters.
1709 * * -#BPMP_ENOENT: No driver registered for thermal zone..
1710 * * -#BPMP_EFAULT: Problem reading temperature measurement.
1726 * * -#BPMP_EINVAL: Invalid request parameters.
1727 * * -#BPMP_ENOENT: No driver registered for thermal zone.
1728 * * -#BPMP_EFAULT: Problem setting trip point.
1735 * No request parameters required.
1748 * * -#BPMP_EINVAL: Invalid request parameters.
1749 * * -#BPMP_ENOENT: No driver registered for thermal zone.
1750 * * -#BPMP_ERANGE if thermtrip is invalid or disabled.
1751 * * -#BPMP_EFAULT: Problem reading zone information.
1755 /** @brief: number of supported host-to-bpmp commands. May
1772 /** @brief: number of supported bpmp-to-host commands. May
1779 * Host->BPMP request data for request type CMD_THERMAL_QUERY_ABI
1788 * Host->BPMP request data for request type CMD_THERMAL_GET_TEMP
1797 * BPMP->Host reply data for request CMD_THERMAL_GET_TEMP
1800 * -BPMP_EINVAL if request parameters were invalid.
1801 * -BPMP_ENOENT if no driver was registered for the specified thermal zone.
1802 * -BPMP_EFAULT for other thermal zone driver errors.
1803 * temp: Current temperature in millicelsius.
1810 * Host->BPMP request data for request type CMD_THERMAL_SET_TRIP
1825 * BPMP->Host request data for request type CMD_THERMAL_HOST_TRIP_REACHED
1834 * BPMP->Host reply data for request type CMD_THERMAL_GET_NUM_ZONES
1844 * Host->BPMP request data for request type CMD_THERMAL_GET_THERMTRIP
1853 * BPMP->Host reply data for request CMD_THERMAL_GET_THERMTRIP
1862 * Host->BPMP request data.
1880 * BPMP->Host request data.
1893 * Data in reply to a Host->BPMP request.
1906 * @brief Query over current status
1913 * * Response Payload: @ref mrq_oc_status_response
1925 * disabled, and non-zero throttle is enabled.
1929 * -#BPMP_ENODEV otherwise.
1948 * * Request Payload: @ref mrq_cpu_vhint_request
1989 /** post-multiplier for vindex value */
1991 /** post-divider for vindex value */
2008 * * Request Payload: @ref mrq_abi_ratchet_request
2009 * * Response Payload: @ref mrq_abi_ratchet_response
2022 * 3. A bug is discovered in an existing implementation of the BPMP-FW
2035 * reply with mrq_response::err = -#BPMP_ERANGE to indicate that
2036 * BPMP-FW cannot interoperate correctly with the requester. Requester
2077 * * Response Payload: @ref mrq_emc_dvfs_latency_response
2083 * @brief Used by @ref mrq_emc_dvfs_latency_response
2115 * * Response Payload: @ref mrq_emc_dvfs_emchub_response
2121 * @brief Used by @ref mrq_emc_dvfs_emchub_response
2153 * * Request Payload: @ref mrq_emc_disp_rfl_request
2176 * * -#BPMP_EINVAL: invalid mode requested
2177 * * -#BPMP_ENOSYS: RFL handshake is not supported
2178 * * -#BPMP_EACCES: Permission denied
2179 * * -#BPMP_ENODEV: if disp rfl mrq is not supported by BPMP-FW
2182 /** @brief EMC display RFL mode (@ref mrq_emc_disp_rfl_mode) */
2198 * * Request Payload: @ref mrq_bwmgr_request
2199 * * Response Payload: @ref mrq_bwmgr_response
2212 * supported and -#BPMP_ENODEV otherwise.
2221 * * -#BPMP_EINVAL: Invalid request parameters.
2222 * * -#BPMP_ENOTSUP: Requested bw is not available.
2237 * @brief Used by @ref cmd_bwmgr_calc_rate_request
2240 /* @brief bwmgr client ID @ref bpmp_bwmgr_ids */
2274 * |sub-command |payload |
2275 * |----------------------------|------------------------------|
2291 * |sub-command |payload |
2292 * |----------------------------|------------------------------|
2307 * @brief bpmp-integrated bwmgr requests
2313 * * Request Payload: @ref mrq_bwmgr_int_request
2314 * * Response Payload: @ref mrq_bwmgr_int_response
2322 * @brief Check whether the BPMP-FW supports the specified
2326 * supported and -#BPMP_ENODEV otherwise.
2335 * * -#BPMP_EINVAL: Invalid request parameters.
2336 * set_frequency in @ref cmd_bwmgr_int_calc_and_set_response
2338 * * -#BPMP_ENOTSUP: Requested bw is not available.
2339 * set_frequency in @ref cmd_bwmgr_int_calc_and_set_response
2340 * will be current dram-clk rate.
2345 * @brief Set a max DRAM frequency for the bandwidth-manager
2349 * * -#BPMP_ENOTSUP: Requested cap frequency is not possible.
2360 /* @brief request type determined by @ref mrq_bwmgr_int_cmd */
2365 * @defgroup bwmgr_int_unit_type BWMGR_INT floor unit-types
2369 /** @brief kilobytes per second unit-type */
2371 /** @brief kilohertz unit-type */
2380 /* @brief bwmgr client ID @ref bpmp_bwmgr_ids */
2395 * @brief toggle to determine the unit-type of floor value.
2396 * See @ref bwmgr_int_unit_type definitions for unit-type mappings.
2410 /* @brief current set memory clock frequency in Hz */
2418 * |sub-command |payload |
2419 * |----------------------------|-----------------------------------|
2437 * |sub-command |payload |
2438 * |----------------------------|---------------------------------------|
2459 * * Request Payload: @ref mrq_iso_client_request
2460 * * Response Payload: @ref mrq_iso_client_response
2472 * supported and -#BPMP_ENODEV otherwise.
2483 * * -#BPMP_EINVAL: Invalid request parameters.
2484 * * -#BPMP_EFAULT: Legal LA is not possible for client requested iso_bw
2494 * * -#BPMP_EINVAL: Invalid request parameters.
2495 * * -#BPMP_EFAULT: Failed to calculate or program MC registers.
2504 * * -#BPMP_EINVAL: Invalid request parameters.
2521 * id: client ID in @ref bpmp_bwmgr_ids
2536 * id: client ID in @ref bpmp_bwmgr_ids
2552 * id: client ID in @ref bpmp_bwmgr_ids
2571 * @brief Used by @ref cmd_iso_client_get_max_bw_response
2576 /* @brief max possible iso-bw in kBps */
2596 * |sub-command |payload |
2597 * |------------------------------------ |----------------------------------------|
2619 * Each sub-command supported by @ref mrq_iso_client_request may return
2620 * sub-command-specific data. Some do and some do not as indicated in
2623 * |sub-command |payload |
2624 * |---------------------------- |------------------------------------|
2650 * * Request Payload: @ref mrq_cpu_ndiv_limits_request
2651 * * Response Payload: @ref mrq_cpu_ndiv_limits_response
2686 * @brief Query CPU cluster auto-CC3 configuration
2692 * * Request Payload: @ref mrq_cpu_auto_cc3_request
2693 * * Response Payload: @ref mrq_cpu_auto_cc3_response
2696 * Queries from BPMP auto-CC3 configuration (allowed/not allowed) for a
2698 * device tree auto-CC3 settings, so that BPMP device tree is a single source of
2699 * auto-CC3 platform configuration.
2705 * @brief Request for auto-CC3 configuration of a cluster
2717 * @brief auto-CC3 configuration
2719 * - bits[31..10] reserved.
2720 * - bits[9..1] cc3 ndiv
2721 * - bit [0] if "1" auto-CC3 is allowed, if "0" auto-CC3 is not allowed
2737 * BPMP-FW, the RX (receive) and TX (transmit) buffers. Characters can be read
2767 * -#BPMP_ENODEV otherwise
2780 * -#BPMP_ENODEV otherwise
2788 * -#BPMP_ENODEV otherwise
2795 * @brief Host->BPMP request data for request type
2810 * @brief Host->BPMP request data for request type #CMD_RINGBUF_CONSOLE_READ
2821 * @brief BPMP->Host response data for request type #CMD_RINGBUF_CONSOLE_READ
2832 * @brief Host->BPMP request data for request type #CMD_RINGBUF_CONSOLE_WRITE
2843 * @brief BPMP->Host response data for request type #CMD_RINGBUF_CONSOLE_WRITE
2859 * @brief BPMP->Host reply data for request type #CMD_RINGBUF_CONSOLE_GET_FIFO
2874 * @brief Host->BPMP request data.
2895 * @brief Host->BPMP reply data
2917 * * Request Payload: @ref mrq_strap_request
2943 /** @brief @ref mrq_strap_cmd */
2945 /** @brief Strap ID from @ref Strap_Identifiers */
2963 * * Request Payload: @ref mrq_uphy_request
2964 * * Response Payload: @ref mrq_uphy_response
3005 /** @brief PCIE controller number, T194 valid: 0-4; T234 valid: 0-10; T239 valid: 0-3 */
3032 * The uphy_request is split into several sub-commands. CMD_UPHY_PCIE_LANE_MARGIN_STATUS
3033 * requires no additional data. Others have a sub-command specific payload. Below table
3034 * shows sub-commands with their corresponding payload data.
3036 * |sub-command |payload |
3037 * |------------------------------------ |----------------------------------------|
3052 /** @brief Sub-command id. */
3069 * Each sub-command supported by @ref mrq_uphy_request may return
3070 * sub-command-specific data. Some do and some do not as indicated in
3073 * |sub-command |payload |
3074 * |---------------------------- |------------------------|
3098 * * Request Payload: @ref mrq_fmon_request
3099 * * Response Payload: @ref mrq_fmon_response
3115 * -#BPMP_EACCES: FMON access error @n
3116 * -#BPMP_EBADCMD if subcommand is not supported @n
3117 * -#BPMP_EBADSLT: clamp FMON on cluster with auto-CC3 enabled @n
3118 * -#BPMP_EBUSY: fmon is already clamped at different rate @n
3119 * -#BPMP_EFAULT: self-diagnostic error @n
3120 * -#BPMP_EINVAL: invalid FMON configuration @n
3121 * -#BPMP_EOPNOTSUPP: not in production mode @n
3122 * -#BPMP_ENODEV: invalid clk_id @n
3123 * -#BPMP_ENOENT: no calibration data, uninitialized @n
3124 * -#BPMP_ENOTSUP: avfs config not set @n
3125 * -#BPMP_ENOSYS: clamp FMON on cluster clock w/ no NAFLL @n
3126 * -#BPMP_ETIMEDOUT: operation timed out @n
3136 * -#BPMP_EBADCMD if subcommand is not supported @n
3137 * -#BPMP_ENODEV: invalid clk_id @n
3138 * -#BPMP_ENOENT: no calibration data, uninitialized @n
3139 * -#BPMP_ENOTSUP: avfs config not set @n
3140 * -#BPMP_EOPNOTSUPP: not in production mode @n
3151 * -#BPMP_EBADCMD if subcommand is not supported @n
3152 * -#BPMP_ENODEV: invalid clk_id @n
3153 * -#BPMP_ENOENT: no calibration data, uninitialized @n
3154 * -#BPMP_ENOTSUP: avfs config not set @n
3155 * -#BPMP_EOPNOTSUPP: not in production mode @n
3159 * @brief Return current status of FMON faults detected by FMON
3164 * -#BPMP_EBADCMD if subcommand is not supported @n
3165 * -#BPMP_EINVAL: invalid fault type @n
3166 * -#BPMP_ENODEV: invalid clk_id @n
3167 * -#BPMP_ENOENT: no calibration data, uninitialized @n
3168 * -#BPMP_ENOTSUP: avfs config not set @n
3169 * -#BPMP_EOPNOTSUPP: not in production mode @n
3227 uint32_t fault_type; /**< @ref fmon_fault_type */
3240 * sub-commands. Some sub-commands require no additional data.
3241 * Others have a sub-command specific payload
3243 * |sub-command |payload |
3244 * |----------------------------|-----------------------|
3246 * |CMD_FMON_GEAR_FREE |- |
3247 * |CMD_FMON_GEAR_GET |- |
3252 /** @brief Sub-command and clock id concatenated to 32-bit word.
3253 * - bits[31..24] is the sub-cmd.
3254 * - bits[23..0] is monitored clock id used to select target
3273 * Each sub-command supported by @ref mrq_fmon_request may
3274 * return sub-command-specific data as indicated below.
3276 * |sub-command |payload |
3277 * |----------------------------|------------------------|
3278 * |CMD_FMON_GEAR_CLAMP |- |
3279 * |CMD_FMON_GEAR_FREE |- |
3309 * * Request Payload: @ref mrq_ec_request
3310 * * Response Payload: @ref mrq_ec_response
3325 * -#BPMP_ENODEV if target EC is not owned by BPMP @n
3326 * -#BPMP_EACCES if target EC power domain is turned off @n
3327 * -#BPMP_EBADCMD if subcommand is not supported
3337 * -#BPMP_ENODEV if target EC is not owned by BPMP @n
3338 * -#BPMP_EACCES if target EC power domain is turned off @n
3339 * -#BPMP_EBADCMD if subcommand is not supported
3349 * Error descriptor @ref ec_err_simple_desc.
3355 * Error descriptor @ref ec_err_simple_desc.
3361 * Error descriptor @ref ec_err_simple_desc.
3367 * Error descriptor @ref ec_err_simple_desc.
3373 * Error descriptor @ref ec_err_reg_parity_desc.
3377 /** @brief Parity error from on-chip SRAM/FIFO
3379 * Error descriptor @ref ec_err_simple_desc.
3385 * Error descriptor @ref ec_err_fmon_desc.
3391 * Error descriptor @ref ec_err_vmon_desc.
3397 * Error descriptor @ref ec_err_sw_error_desc.
3403 * Error descriptor @ref ec_err_sw_error_desc.
3409 * Error descriptor @ref ec_err_simple_desc.
3415 * Error descriptor @ref ec_err_simple_desc.
3433 /** @brief No EC error found flag */
3456 * |---------------------------------|---------------------------|
3457 * |@ref EC_ERR_TYPE_CLOCK_MONITOR |@ref bpmp_clock_ids |
3460 /** @brief Bitmask of @ref bpmp_ec_desc_flags */
3467 * @ref bpmp_fmon_faults_flags
3476 * |---------------------------------|---------------------------|
3477 * |@ref EC_ERR_TYPE_VOLTAGE_MONITOR |@ref bpmp_adc_ids |
3480 /** @brief Bitmask of @ref bpmp_ec_desc_flags */
3492 * |---------------------------------|-----------------------|
3493 * |@ref EC_ERR_TYPE_REGISTER_PARITY | bpmp_ec_registers_ids |
3496 /** @brief Bitmask of @ref bpmp_ec_desc_flags */
3500 /** @brief Register group @ref ec_registers_group */
3506 * |--------------------------------- |----------------------|
3507 * |@ref EC_ERR_TYPE_SW_CORRECTABLE | bpmp_ec_ce_swd_ids |
3508 * |@ref EC_ERR_TYPE_SW_UNCORRECTABLE | bpmp_ec_ue_swd_ids |
3511 /** @brief Bitmask of @ref bpmp_ec_desc_flags */
3521 * |----------------------------------------|------------------------|
3522 * |@ref EC_ERR_TYPE_PARITY_INTERNAL | bpmp_ec_ipath_ids |
3523 * |@ref EC_ERR_TYPE_ECC_SEC_INTERNAL | bpmp_ec_ipath_ids |
3524 * |@ref EC_ERR_TYPE_ECC_DED_INTERNAL | bpmp_ec_ipath_ids |
3525 * |@ref EC_ERR_TYPE_COMPARATOR | bpmp_ec_comparator_ids|
3526 * |@ref EC_ERR_TYPE_OTHER_HW_CORRECTABLE | bpmp_ec_misc_hwd_ids |
3527 * |@ref EC_ERR_TYPE_OTHER_HW_UNCORRECTABLE | bpmp_ec_misc_hwd_ids |
3528 * |@ref EC_ERR_TYPE_PARITY_SRAM | bpmp_clock_ids |
3531 /** @brief Bitmask of @ref bpmp_ec_desc_flags */
3561 * @brief Bitmask of @ref bpmp_ec_status_flags
3568 /** @brief Found EC error type @ref bpmp_ec_err_type. */
3581 * @brief Bitmask of @ref bpmp_ec_status_flags
3588 /** @brief Found EC error type @ref bpmp_ec_err_type. */
3610 * |sub-command |payload |
3611 * |----------------------------|-----------------------|
3612 * |@ref CMD_EC_STATUS_GET |ec_status_get |
3615 * |sub-command |payload |
3616 * |----------------------------|-----------------------|
3617 * |@ref CMD_EC_STATUS_EX_GET |ec_status_get |
3622 /** @brief Sub-command id. */
3634 * Each sub-command supported by @ref mrq_ec_request may return
3635 * sub-command-specific data as indicated below.
3638 * |sub-command |payload |
3639 * |----------------------------|------------------------|
3640 * |@ref CMD_EC_STATUS_GET |ec_status_get |
3643 * |sub-command |payload |
3644 * |----------------------------|------------------------|
3645 * |@ref CMD_EC_STATUS_EX_GET |ec_status_ex_get |
3674 * * Response Payload: @ref mrq_telemetry_response
3684 * * -#BPMP_EACCES: MRQ master is not allowed to request buffer refresh
3685 * * -#BPMP_ENAVAIL: Telemetry buffer cannot be refreshed via this MRQ channel
3686 * * -#BPMP_ENOTSUP: Telemetry buffer is not supported by BPMP-FW
3687 * * -#BPMP_ENODEV: Telemetry mrq is not supported by BPMP-FW
3691 uint64_t data_buf_addr; /**< see @ref bpmp_telemetry_layout */
3706 * * Request Payload: @ref mrq_pwr_limit_request
3707 * * Response Payload: @ref mrq_pwr_limit_response
3714 * @brief Check whether the BPMP-FW supports the specified
3718 * supported and -#BPMP_ENODEV otherwise.
3723 * @brief Set power limit
3727 * * -#BPMP_ENODEV: Pwr limit mrq is not supported by BPMP-FW
3728 * * -#BPMP_ENAVAIL: Invalid request parameters
3729 * * -#BPMP_EACCES: Request is not accepted
3734 * @brief Get power limit setting
3738 * * -#BPMP_ENODEV: Pwr limit mrq is not supported by BPMP-FW
3739 * * -#BPMP_ENAVAIL: Invalid request parameters
3744 * @brief Get current power cap
3748 * * -#BPMP_ENODEV: Pwr limit mrq is not supported by BPMP-FW
3749 * * -#BPMP_ENAVAIL: Invalid request parameters
3758 /** @brief Limit value specifies traget cap */
3760 /** @brief Limit value specifies maximum possible target cap */
3762 /** @brief Limit value specifies minimum possible target cap */
3764 /** @brief Number of limit types supported by mrq interface */
3773 uint32_t cmd_code; /**< @ref mrq_pwr_limit_cmd */
3779 * Set specified limit of specified type from specified source. The success of
3781 * with other sources settings for the same limit of the same type. Zero limit
3782 * is ignored by the arbitration (i.e., indicates "no limit set").
3785 uint32_t limit_id; /**< @ref bpmp_pwr_limit_id */
3786 uint32_t limit_src; /**< @ref bpmp_pwr_limit_src */
3787 uint32_t limit_type; /**< @ref bpmp_pwr_limit_type */
3794 * Get previously set from specified source specified limit value of specified
3798 uint32_t limit_id; /**< @ref bpmp_pwr_limit_id */
3799 uint32_t limit_src; /**< @ref bpmp_pwr_limit_src */
3800 uint32_t limit_type; /**< @ref bpmp_pwr_limit_type */
3813 * For specified limit get current power cap aggregated from all sources.
3816 uint32_t limit_id; /**< @ref bpmp_pwr_limit_id */
3829 * |sub-command |payload |
3830 * |----------------------------|---------------------------------|
3849 * |sub-command |payload |
3850 * |----------------------------|---------------------------------|
3851 * |CMD_PWR_LIMIT_QUERY_ABI | - |
3852 * |CMD_PWR_LIMIT_SET | - |
3877 * * Response Payload: @ref mrq_gears_response
3902 * * -#BPMP_ENODEV: MRQ is not supported by BPMP-FW
3903 * * -#BPMP_EACCES: Operation not permitted for the MRQ master
3904 * * -#BPMP_ENAVAIL: NDIV offsetting is disabled
3924 /** @brief No such file or directory */
3926 /** @brief No MRQ handler */
3930 /** @brief Bad sub-MRQ command */
3942 /** @brief No such device */
3964 /** @brief No such device or address */