linux/drivers/firmware/arm_scmi/vendors/imx/imx-sm-bbm.c

// SPDX-License-Identifier: GPL-2.0
/*
 * System Control and Management Interface (SCMI) NXP BBM Protocol
 *
 * Copyright 2024 NXP
 */

#define pr_fmt(fmt)

#include <linux/bits.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/scmi_protocol.h>
#include <linux/scmi_imx_protocol.h>

#include "../../protocols.h"
#include "../../notify.h"

#define SCMI_PROTOCOL_SUPPORTED_VERSION

enum scmi_imx_bbm_protocol_cmd {};

#define GET_RTCS_NR(x)
#define GET_GPRS_NR(x)

#define SCMI_IMX_BBM_NOTIFY_RTC_UPDATED
#define SCMI_IMX_BBM_NOTIFY_RTC_ROLLOVER
#define SCMI_IMX_BBM_NOTIFY_RTC_ALARM

#define SCMI_IMX_BBM_RTC_ALARM_ENABLE_FLAG

#define SCMI_IMX_BBM_NOTIFY_RTC_FLAG

#define SCMI_IMX_BBM_EVENT_RTC_MASK

struct scmi_imx_bbm_info {};

struct scmi_msg_imx_bbm_protocol_attributes {};

struct scmi_imx_bbm_set_time {};

struct scmi_imx_bbm_get_time {};

struct scmi_imx_bbm_alarm_time {};

struct scmi_msg_imx_bbm_rtc_notify {};

struct scmi_msg_imx_bbm_button_notify {};

struct scmi_imx_bbm_notify_payld {};

static int scmi_imx_bbm_attributes_get(const struct scmi_protocol_handle *ph,
				       struct scmi_imx_bbm_info *pi)
{}

static int scmi_imx_bbm_notify(const struct scmi_protocol_handle *ph,
			       u32 src_id, int message_id, bool enable)
{}

static enum scmi_imx_bbm_protocol_cmd evt_2_cmd[] =;

static int scmi_imx_bbm_set_notify_enabled(const struct scmi_protocol_handle *ph,
					   u8 evt_id, u32 src_id, bool enable)
{}

static void *scmi_imx_bbm_fill_custom_report(const struct scmi_protocol_handle *ph,
					     u8 evt_id, ktime_t timestamp,
					     const void *payld, size_t payld_sz,
					     void *report, u32 *src_id)
{}

static const struct scmi_event scmi_imx_bbm_events[] =;

static const struct scmi_event_ops scmi_imx_bbm_event_ops =;

static const struct scmi_protocol_events scmi_imx_bbm_protocol_events =;

static int scmi_imx_bbm_rtc_time_set(const struct scmi_protocol_handle *ph,
				     u32 rtc_id, u64 sec)
{}

static int scmi_imx_bbm_rtc_time_get(const struct scmi_protocol_handle *ph,
				     u32 rtc_id, u64 *value)
{}

static int scmi_imx_bbm_rtc_alarm_set(const struct scmi_protocol_handle *ph,
				      u32 rtc_id, bool enable, u64 sec)
{}

static int scmi_imx_bbm_button_get(const struct scmi_protocol_handle *ph, u32 *state)
{}

static const struct scmi_imx_bbm_proto_ops scmi_imx_bbm_proto_ops =;

static int scmi_imx_bbm_protocol_init(const struct scmi_protocol_handle *ph)
{}

static const struct scmi_protocol scmi_imx_bbm =;
module_scmi_protocol();

MODULE_DESCRIPTION();
MODULE_LICENSE();