2f41fd2d2f
* Use a fully OSS FPS stack to remove dependency on a service to register fingerprints and hacked up touchwiz libs from Samsung Change-Id: I66ae7fc807a213befdf77d0f09d38f2fbe01df61
115 lines
3.8 KiB
C
115 lines
3.8 KiB
C
/*
|
|
* Copyright (C) 2016 The Android Open Source Project
|
|
* Copyright (C) 2016 The Mokee Project
|
|
* Copyright (C) 2016 The CyanogenMod Project
|
|
*
|
|
* Copied from kernel - drivers/fingerprint/vfs61xx.h
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#ifndef VFS61XX_IOCTL_H_
|
|
#define VFS61XX_IOCTL_H_
|
|
|
|
/* See kernel/include/linux/fprint_secure.h */
|
|
#ifndef ENABLE_SENSORS_FPRINT_SECURE
|
|
#define ENABLE_SENSORS_FPRINT_SECURE
|
|
#endif
|
|
|
|
#include <linux/ioctl.h>
|
|
|
|
/* Pass to VFSSPI_IOCTL_REGISTER_DRDY_SIGNAL command */
|
|
struct vfsspi_iocRegSignal {
|
|
/* Process ID to which SPI driver sends signal
|
|
* indicating that DRDY is asserted */
|
|
int userPID;
|
|
int signalID; /* Signal number */
|
|
};
|
|
|
|
/* Magic number of IOCTL command */
|
|
#define VFSSPI_IOCTL_MAGIC 'k'
|
|
|
|
/*
|
|
* IOCTL commands definitions
|
|
*/
|
|
|
|
#ifndef ENABLE_SENSORS_FPRINT_SECURE
|
|
/* Transmit data to the device
|
|
and retrieve data from it simultaneously */
|
|
#define VFSSPI_IOCTL_RW_SPI_MESSAGE \
|
|
_IOWR(VFSSPI_IOCTL_MAGIC, 1, unsigned int)
|
|
#endif
|
|
/* Hard reset the device */
|
|
#define VFSSPI_IOCTL_DEVICE_RESET \
|
|
_IO(VFSSPI_IOCTL_MAGIC, 2)
|
|
/* Set the baud rate of SPI master clock */
|
|
#define VFSSPI_IOCTL_SET_CLK \
|
|
_IOW(VFSSPI_IOCTL_MAGIC, 3, unsigned int)
|
|
#ifndef ENABLE_SENSORS_FPRINT_SECURE
|
|
/* Get level state of DRDY GPIO */
|
|
#define VFSSPI_IOCTL_CHECK_DRDY \
|
|
_IO(VFSSPI_IOCTL_MAGIC, 4)
|
|
#endif
|
|
/* Register DRDY signal. It is used by SPI driver
|
|
* for indicating host that DRDY signal is asserted. */
|
|
#define VFSSPI_IOCTL_REGISTER_DRDY_SIGNAL \
|
|
_IOW(VFSSPI_IOCTL_MAGIC, 5, unsigned int)
|
|
/* Store the user data into the SPI driver. Currently user data is a
|
|
* device info data, which is obtained from announce packet. */
|
|
#ifndef ENABLE_SENSORS_FPRINT_SECURE
|
|
#define VFSSPI_IOCTL_SET_USER_DATA \
|
|
_IOW(VFSSPI_IOCTL_MAGIC, 6, unsigned int)
|
|
#endif
|
|
#ifndef ENABLE_SENSORS_FPRINT_SECURE
|
|
/* Retrieve user data from the SPI driver*/
|
|
#define VFSSPI_IOCTL_GET_USER_DATA \
|
|
_IOWR(VFSSPI_IOCTL_MAGIC, 7, unsigned int)
|
|
#endif
|
|
/* Enable/disable DRDY interrupt handling in the SPI driver */
|
|
#define VFSSPI_IOCTL_SET_DRDY_INT \
|
|
_IOW(VFSSPI_IOCTL_MAGIC, 8, unsigned int)
|
|
/* Put device in Low power mode */
|
|
#define VFSSPI_IOCTL_DEVICE_SUSPEND \
|
|
_IO(VFSSPI_IOCTL_MAGIC, 9)
|
|
#ifndef ENABLE_SENSORS_FPRINT_SECURE
|
|
/* Indicate the fingerprint buffer size for read */
|
|
#define VFSSPI_IOCTL_STREAM_READ_START \
|
|
_IOW(VFSSPI_IOCTL_MAGIC, 10, unsigned int)
|
|
/* Indicate that fingerprint acquisition is completed */
|
|
#define VFSSPI_IOCTL_STREAM_READ_STOP \
|
|
_IO(VFSSPI_IOCTL_MAGIC, 11)
|
|
/* Retrieve supported SPI baud rate table */
|
|
#define VFSSPI_IOCTL_GET_FREQ_TABLE \
|
|
_IOWR(VFSSPI_IOCTL_MAGIC, 12, unsigned int)
|
|
#endif
|
|
/* Turn on the power to the sensor */
|
|
#define VFSSPI_IOCTL_POWER_ON \
|
|
_IO(VFSSPI_IOCTL_MAGIC, 13)
|
|
/* Turn off the power to the sensor */
|
|
#define VFSSPI_IOCTL_POWER_OFF \
|
|
_IO(VFSSPI_IOCTL_MAGIC, 14)
|
|
#ifdef ENABLE_SENSORS_FPRINT_SECURE
|
|
/* To disable spi core clock */
|
|
#define VFSSPI_IOCTL_DISABLE_SPI_CLOCK \
|
|
_IO(VFSSPI_IOCTL_MAGIC, 15)
|
|
/* To set SPI configurations like gpio, clks */
|
|
#define VFSSPI_IOCTL_SET_SPI_CONFIGURATION \
|
|
_IO(VFSSPI_IOCTL_MAGIC, 16)
|
|
/* To reset SPI configurations */
|
|
#define VFSSPI_IOCTL_RESET_SPI_CONFIGURATION \
|
|
_IO(VFSSPI_IOCTL_MAGIC, 17)
|
|
#endif
|
|
/* get sensor orienation from the SPI driver*/
|
|
#define VFSSPI_IOCTL_GET_SENSOR_ORIENT \
|
|
_IOR(VFSSPI_IOCTL_MAGIC, 18, unsigned int)
|
|
#endif /* VFS61XX_IOCTL_H_ */
|