1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * AMD MP2 1.1 communication interfaces
5 * Copyright (c) 2022, Advanced Micro Devices, Inc.
8 * Author: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
11 #ifndef AMD_SFH_INTERFACE_H
12 #define AMD_SFH_INTERFACE_H
14 #include "../amd_sfh_common.h"
16 #define SENSOR_DATA_MEM_SIZE_DEFAULT 256
17 #define TOTAL_STATIC_MEM_DEFAULT 1024
18 #define OFFSET_SFH_INFO_BASE_DEFAULT 0
19 #define OFFSET_SENSOR_DATA_DEFAULT (OFFSET_SFH_INFO_BASE_DEFAULT + \
20 TOTAL_STATIC_MEM_DEFAULT)
37 u32 sub_cmd_value : 12;
44 struct sfh_cmd_response {
57 struct sfh_platform_info {
69 struct sfh_firmware_info {
81 struct sfh_sensor_list {
91 struct sfh_base_info {
95 struct sfh_platform_info plat_info;
96 struct sfh_firmware_info fw_info;
97 struct sfh_sensor_list s_list;
102 struct sfh_common_data {
107 u32 sensor_state : 3;
116 struct sfh_accel_data {
117 struct sfh_common_data commondata;
118 struct sfh_float32 acceldata;
122 struct sfh_gyro_data {
123 struct sfh_common_data commondata;
124 struct sfh_float32 gyrodata;
128 struct sfh_mag_data {
129 struct sfh_common_data commondata;
130 struct sfh_float32 magdata;
134 struct sfh_als_data {
135 struct sfh_common_data commondata;
152 void sfh_interface_init(struct amd_mp2_dev *mp2);
153 void amd_sfh1_1_set_desc_ops(struct amd_mp2_ops *mp2_ops);