TT-System-Firmware APIs 19.13.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
pldm_pdr.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Tenstorrent AI ULC
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef PMCI_PLDM_PDR_H_
8#define PMCI_PLDM_PDR_H_
9
10#include <zephyr/device.h>
11
12#include <zephyr/sys/util.h>
13
14#include <libpldm/base.h>
15
16#include <errno.h>
17#include <stdbool.h>
18#include <stddef.h>
19#include <stdint.h>
20
25
29
34
35/* PDR record change number used both when building records and validating GetPDR requests. */
36#define PLDM_PDR_RECORD_CHANGE_NUM 0x0000U
37
45
54
60
67
81
82#ifdef CONFIG_PMCI_PLDM_PLATFORM
93int pldm_pdr_update_tid_eid(const struct device *pdr_dev, uint8_t tid, uint8_t endpoint_id);
94
104int pldm_pdr_get_repository_info(const struct device *pdr_dev,
105 struct pldm_pdr_repo_info *repo_info);
106
118int pldm_pdr_find_record_index(const struct device *pdr_dev, uint32_t record_handle,
119 uint32_t *record_index);
120
132int pldm_pdr_get_record_at_index(const struct device *pdr_dev, uint32_t record_index,
133 struct pldm_pdr_record_metadata *record_meta);
134
142const struct pldm_pdr_numeric_sensor_desc *
144
158int pldm_pdr_get_chunk(const struct device *pdr_dev, const struct pldm_pdr_get_chunk_request *req,
159 struct pldm_pdr_get_chunk_response *resp);
160#else
161
162static inline int pldm_pdr_update_tid_eid(const struct device *pdr_dev, uint8_t tid,
163 uint8_t endpoint_id)
164{
165 ARG_UNUSED(pdr_dev);
166 ARG_UNUSED(tid);
167 ARG_UNUSED(endpoint_id);
168 return -ENOTSUP;
169}
170
171static inline int pldm_pdr_get_repository_info(const struct device *pdr_dev,
172 struct pldm_pdr_repo_info *repo_info)
173{
174 ARG_UNUSED(repo_info);
175 ARG_UNUSED(pdr_dev);
176 return -ENOTSUP;
177}
178
179static inline int pldm_pdr_find_record_index(const struct device *pdr_dev, uint32_t record_handle,
180 uint32_t *record_index)
181{
182 ARG_UNUSED(record_handle);
183 ARG_UNUSED(record_index);
184 ARG_UNUSED(pdr_dev);
185 return -ENOTSUP;
186}
187
188static inline int pldm_pdr_get_record_at_index(const struct device *pdr_dev, uint32_t record_index,
189 struct pldm_pdr_record_metadata *record_meta)
190{
191 ARG_UNUSED(record_index);
192 ARG_UNUSED(record_meta);
193 ARG_UNUSED(pdr_dev);
194 return -ENOTSUP;
195}
196
197static inline const struct pldm_pdr_numeric_sensor_desc *
199{
200 ARG_UNUSED(sensor_id);
201 ARG_UNUSED(pdr_dev);
202 return NULL;
203}
204
205static inline int pldm_pdr_get_chunk(const struct device *pdr_dev,
206 const struct pldm_pdr_get_chunk_request *req,
207 struct pldm_pdr_get_chunk_response *resp)
208{
209 ARG_UNUSED(req);
210 ARG_UNUSED(resp);
211 ARG_UNUSED(pdr_dev);
212 return -ENOTSUP;
213}
214#endif
215 /* PLDM */ /* drivers */
218
219#endif /* PMCI_PLDM_PDR_H_ */
#define NULL
Definition avs.c:45
static const struct pldm_pdr_numeric_sensor_desc * pldm_pdr_find_numeric_sensor_by_id(const struct device *pdr_dev, uint16_t sensor_id)
Definition pldm_pdr.h:198
static int pldm_pdr_get_repository_info(const struct device *pdr_dev, struct pldm_pdr_repo_info *repo_info)
Definition pldm_pdr.h:171
static int pldm_pdr_find_record_index(const struct device *pdr_dev, uint32_t record_handle, uint32_t *record_index)
Definition pldm_pdr.h:179
static int pldm_pdr_get_record_at_index(const struct device *pdr_dev, uint32_t record_index, struct pldm_pdr_record_metadata *record_meta)
Definition pldm_pdr.h:188
static int pldm_pdr_update_tid_eid(const struct device *pdr_dev, uint8_t tid, uint8_t endpoint_id)
Definition pldm_pdr.h:162
static int pldm_pdr_get_chunk(const struct device *pdr_dev, const struct pldm_pdr_get_chunk_request *req, struct pldm_pdr_get_chunk_response *resp)
Definition pldm_pdr.h:205
#define ENOTSUP
__UINT32_TYPE__ uint32_t
__UINT8_TYPE__ uint8_t
__UINT16_TYPE__ uint16_t
__INT8_TYPE__ int8_t
Definition pldm_pdr.h:38
uint32_t data_transfer_handle
Definition pldm_pdr.h:40
uint8_t transfer_op_flag
Definition pldm_pdr.h:41
uint32_t record_handle
Definition pldm_pdr.h:39
size_t max_response_count
Definition pldm_pdr.h:43
uint16_t request_count
Definition pldm_pdr.h:42
Definition pldm_pdr.h:46
size_t response_count
Definition pldm_pdr.h:51
uint32_t next_record_handle
Definition pldm_pdr.h:47
const uint8_t * record_data
Definition pldm_pdr.h:50
uint8_t transfer_flag
Definition pldm_pdr.h:49
uint32_t next_data_transfer_handle
Definition pldm_pdr.h:48
uint8_t transfer_crc
Definition pldm_pdr.h:52
Definition pldm_pdr.h:69
const struct device * sensor
Definition pldm_pdr.h:70
const char * aux_name
Definition pldm_pdr.h:79
uint16_t container_id
Definition pldm_pdr.h:76
uint8_t channel_type
Definition pldm_pdr.h:71
int8_t unit_modifier
Definition pldm_pdr.h:78
uint8_t base_unit
Definition pldm_pdr.h:77
uint16_t entity_instance
Definition pldm_pdr.h:75
uint8_t channel_index
Definition pldm_pdr.h:72
uint16_t entity_type
Definition pldm_pdr.h:74
uint16_t sensor_id
Definition pldm_pdr.h:73
Definition pldm_pdr.h:61
uint32_t record_handle
Definition pldm_pdr.h:62
size_t record_len
Definition pldm_pdr.h:64
uint32_t next_record_handle
Definition pldm_pdr.h:65
const uint8_t * record_data
Definition pldm_pdr.h:63
Definition pldm_pdr.h:55
uint32_t record_count
Definition pldm_pdr.h:56
size_t repo_size
Definition pldm_pdr.h:57
size_t largest_record_size
Definition pldm_pdr.h:58