Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3d5756e6 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

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

parents ba543e1f c36b0b97
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+52 −0
Original line number Diff line number Diff line
#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__ */