cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ssp_sensors.h (1775B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 *  Copyright (C) 2014, Samsung Electronics Co. Ltd. All Rights Reserved.
      4 */
      5#ifndef _SSP_SENSORS_H_
      6#define _SSP_SENSORS_H_
      7
      8#include <linux/iio/iio.h>
      9
     10#define SSP_TIME_SIZE				4
     11#define SSP_ACCELEROMETER_SIZE			6
     12#define SSP_GYROSCOPE_SIZE			6
     13#define SSP_BIO_HRM_RAW_SIZE			8
     14#define SSP_BIO_HRM_RAW_FAC_SIZE		36
     15#define SSP_BIO_HRM_LIB_SIZE			8
     16
     17/**
     18 * enum ssp_sensor_type - SSP sensor type
     19 */
     20enum ssp_sensor_type {
     21	SSP_ACCELEROMETER_SENSOR = 0,
     22	SSP_GYROSCOPE_SENSOR,
     23	SSP_GEOMAGNETIC_UNCALIB_SENSOR,
     24	SSP_GEOMAGNETIC_RAW,
     25	SSP_GEOMAGNETIC_SENSOR,
     26	SSP_PRESSURE_SENSOR,
     27	SSP_GESTURE_SENSOR,
     28	SSP_PROXIMITY_SENSOR,
     29	SSP_TEMPERATURE_HUMIDITY_SENSOR,
     30	SSP_LIGHT_SENSOR,
     31	SSP_PROXIMITY_RAW,
     32	SSP_ORIENTATION_SENSOR,
     33	SSP_STEP_DETECTOR,
     34	SSP_SIG_MOTION_SENSOR,
     35	SSP_GYRO_UNCALIB_SENSOR,
     36	SSP_GAME_ROTATION_VECTOR,
     37	SSP_ROTATION_VECTOR,
     38	SSP_STEP_COUNTER,
     39	SSP_BIO_HRM_RAW,
     40	SSP_BIO_HRM_RAW_FAC,
     41	SSP_BIO_HRM_LIB,
     42	SSP_SENSOR_MAX,
     43};
     44
     45struct ssp_data;
     46
     47/**
     48 * struct ssp_sensor_data - Sensor object
     49 * @process_data:	Callback to feed sensor data.
     50 * @type:		Used sensor type.
     51 * @buffer:		Received data buffer.
     52 */
     53struct ssp_sensor_data {
     54	int (*process_data)(struct iio_dev *indio_dev, void *buf,
     55			    int64_t timestamp);
     56	enum ssp_sensor_type type;
     57	u8 *buffer;
     58};
     59
     60void ssp_register_consumer(struct iio_dev *indio_dev,
     61			   enum ssp_sensor_type type);
     62
     63int ssp_enable_sensor(struct ssp_data *data, enum ssp_sensor_type type,
     64		      u32 delay);
     65
     66int ssp_disable_sensor(struct ssp_data *data, enum ssp_sensor_type type);
     67
     68u32 ssp_get_sensor_delay(struct ssp_data *data, enum ssp_sensor_type);
     69
     70int ssp_change_delay(struct ssp_data *data, enum ssp_sensor_type type,
     71		     u32 delay);
     72#endif /* _SSP_SENSORS_H_ */