TT-System-Firmware APIs 19.13.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
pldm_platform.c File Reference
#include "pldm_base.h"
#include "pldm_pdr.h"
#include "pldm_platform.h"
#include <zephyr/drivers/sensor.h>
#include <zephyr/rtio/rtio.h>
#include <zephyr/sys/byteorder.h>
#include <zephyr/sys/util.h>
#include <libpldm/platform.h>
#include <limits.h>
Include dependency graph for pldm_platform.c:

Macros

#define PLDM_GET_PDR_MAX_DATA_LEN   48U
#define PLDM_SENSOR_READ_BUF_LEN   64U

Functions

 RTIO_IODEV_DEFINE (pldm_sensor_iodev, &__sensor_iodev_api, &pldm_sensor_read_cfg)
 RTIO_DEFINE (pldm_sensor_rtio, 1, 1)
const ver32_t * pldm_platform_versions_get (size_t *versions_size)
const bitfield8_t * pldm_platform_commands_get (void)
static int pldm_handle_get_pdr_repository_info (const struct device *pdr_dev, const struct pldm_header_info *req_hdr, size_t req_payload_len, struct pldm_msg *resp_msg, size_t *resp_pldm_len)
static int pldm_handle_get_pdr (const struct device *pdr_dev, const struct pldm_header_info *req_hdr, const struct pldm_msg *req_msg, size_t req_payload_len, struct pldm_msg *resp_msg, size_t *resp_pldm_len)
static int pldm_sensor_value_to_s32 (const struct sensor_value *value, int32_t *out, int8_t unit_modifier)
static int pldm_sensor_read_decode (const struct pldm_pdr_numeric_sensor_desc *sensor_desc, struct sensor_value *sensor_value)
static int pldm_handle_get_sensor_reading (const struct device *pdr_dev, const struct pldm_header_info *req_hdr, const struct pldm_msg *req_msg, size_t req_payload_len, struct pldm_msg *resp_msg, size_t *resp_pldm_len)
int pldm_platform_build_response (const struct device *pdr_dev, const struct pldm_header_info *req_hdr, const struct pldm_msg *req_msg, size_t req_payload_len, struct pldm_msg *resp_msg, size_t *resp_pldm_len)

Variables

static struct sensor_chan_spec pldm_sensor_channel [1]
static struct sensor_read_config pldm_sensor_read_cfg
static uint8_t pldm_sensor_read_buf [64U]
static const ver32_t pldm_platform_versions []
static const bitfield8_t pldm_platform_commands [32]
static const uint8_t pldm_zero_timestamp [PLDM_TIMESTAMP104_SIZE] = {0}

Macro Definition Documentation

◆ PLDM_GET_PDR_MAX_DATA_LEN

#define PLDM_GET_PDR_MAX_DATA_LEN   48U

◆ PLDM_SENSOR_READ_BUF_LEN

#define PLDM_SENSOR_READ_BUF_LEN   64U

Function Documentation

◆ pldm_handle_get_pdr()

int pldm_handle_get_pdr ( const struct device * pdr_dev,
const struct pldm_header_info * req_hdr,
const struct pldm_msg * req_msg,
size_t req_payload_len,
struct pldm_msg * resp_msg,
size_t * resp_pldm_len )
static

◆ pldm_handle_get_pdr_repository_info()

int pldm_handle_get_pdr_repository_info ( const struct device * pdr_dev,
const struct pldm_header_info * req_hdr,
size_t req_payload_len,
struct pldm_msg * resp_msg,
size_t * resp_pldm_len )
static

◆ pldm_handle_get_sensor_reading()

int pldm_handle_get_sensor_reading ( const struct device * pdr_dev,
const struct pldm_header_info * req_hdr,
const struct pldm_msg * req_msg,
size_t req_payload_len,
struct pldm_msg * resp_msg,
size_t * resp_pldm_len )
static

◆ pldm_platform_build_response()

int pldm_platform_build_response ( const struct device * pdr_dev,
const struct pldm_header_info * req_hdr,
const struct pldm_msg * req_msg,
size_t req_payload_len,
struct pldm_msg * resp_msg,
size_t * resp_pldm_len )

◆ pldm_platform_commands_get()

const bitfield8_t * pldm_platform_commands_get ( void )

◆ pldm_platform_versions_get()

const ver32_t * pldm_platform_versions_get ( size_t * versions_size)

◆ pldm_sensor_read_decode()

int pldm_sensor_read_decode ( const struct pldm_pdr_numeric_sensor_desc * sensor_desc,
struct sensor_value * sensor_value )
static

◆ pldm_sensor_value_to_s32()

int pldm_sensor_value_to_s32 ( const struct sensor_value * value,
int32_t * out,
int8_t unit_modifier )
static

◆ RTIO_DEFINE()

RTIO_DEFINE ( pldm_sensor_rtio ,
1 ,
1  )

◆ RTIO_IODEV_DEFINE()

RTIO_IODEV_DEFINE ( pldm_sensor_iodev ,
& __sensor_iodev_api,
& pldm_sensor_read_cfg )

Variable Documentation

◆ pldm_platform_commands

const bitfield8_t pldm_platform_commands[32]
static
Initial value:
= {
[PLDM_GET_SENSOR_READING / 8] = {.byte = BIT(PLDM_GET_SENSOR_READING % 8)},
[PLDM_GET_PDR_REPOSITORY_INFO / 8] = {.byte = BIT(PLDM_GET_PDR_REPOSITORY_INFO % 8) |
BIT(PLDM_GET_PDR % 8)},
}
#define BIT(n)

◆ pldm_platform_versions

const ver32_t pldm_platform_versions[]
static
Initial value:
= {
{.alpha = 0x00, .update = 0xf0, .minor = 0xf1, .major = 0xf1},
{.alpha = 0xba, .update = 0xbe, .minor = 0x9d, .major = 0x53},
}

◆ pldm_sensor_channel

struct sensor_chan_spec pldm_sensor_channel[1]
static

◆ pldm_sensor_read_buf

uint8_t pldm_sensor_read_buf[64U]
static

◆ pldm_sensor_read_cfg

struct sensor_read_config pldm_sensor_read_cfg
static
Initial value:
= {
.sensor = NULL,
.is_streaming = false,
.channels = pldm_sensor_channel,
.count = 1U,
.max = 1U,
}
#define NULL
Definition avs.c:45
static struct sensor_chan_spec pldm_sensor_channel[1]
Definition pldm_platform.c:23

◆ pldm_zero_timestamp

const uint8_t pldm_zero_timestamp[PLDM_TIMESTAMP104_SIZE] = {0}
static