uapi: wcd-spi-ac: add interface for client driver

The wcd-spi-ac (access control) driver exposes character
device to userspace to indicate information regarding
WCD SPI usage. Add uapi header file with the commands
and data expected by the character driver.

Change-Id: I41dfc3181041c7e7a1bad8695fa723d3a965036b
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
This commit is contained in:
Bhalchandra Gajare
2018-03-08 17:57:38 -08:00
committed by Gerrit - the friendly Code Review server
parent 8766446f90
commit c36b0b9752
2 changed files with 53 additions and 0 deletions

View File

@@ -18,3 +18,4 @@ header-y += msm_audio_ape.h
header-y += msm_audio_g711.h
header-y += msm_audio_g711_dec.h
header-y += mfd/
header-y += wcd-spi-ac-params.h

View File

@@ -0,0 +1,52 @@
#ifndef __UAPI_WCD_SPI_AC_PARAMS_H__
#define __UAPI_WCD_SPI_AC_PARAMS_H__
#include <linux/types.h>
#define WCD_SPI_AC_CMD_CONC_BEGIN 0x01
#define WCD_SPI_AC_CMD_CONC_END 0x02
#define WCD_SPI_AC_CMD_BUF_DATA 0x03
#define WCD_SPI_AC_MAX_BUFFERS 2
#define WCD_SPI_AC_MAX_CH_PER_BUF 8
#define WCD_SPI_AC_CLIENT_CDEV_NAME "wcd-spi-ac-client"
#define WCD_SPI_AC_PROCFS_DIR_NAME "wcd-spi-ac"
#define WCD_SPI_AC_PROCFS_STATE_NAME "svc-state"
/*
* wcd_spi_ac_buf_data:
* Buffer address for one buffer. Should have data
* for all the channels. If channels are unused, the
* value must be NULL.
*
* @addr:
* Address where each channel of the buffer starts.
*/
struct wcd_spi_ac_buf_data {
__u32 addr[WCD_SPI_AC_MAX_CH_PER_BUF];
} __packed;
/*
* wcd_spi_ac_write_cmd:
* Data sent to the driver's write interface should
* be packed in this format.
*
* @cmd_type:
* Indicates the type of command that is sent. Should
* be one of the valid commands defined with
* WCD_SPI_AC_CMD_*
* @payload:
* No payload for:
* WCD_SPI_AC_CMD_CONC_BEGIN
* WCD_SPI_AC_CMD_CONC_END
* Upto WCD_SPI_AC_MAX_BUFFERS of type
* struct wcd_spi_ac_buf_data for:
* WCD_SPI_AC_CMD_BUF_DATA
*/
struct wcd_spi_ac_write_cmd {
__u32 cmd_type;
__u8 payload[0];
} __packed;
#endif /* end of __UAPI_WCD_SPI_AC_PARAMS_H__ */