You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.3 KiB
53 lines
1.3 KiB
4 months ago
|
#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];
|
||
|
} __attribute__((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];
|
||
|
} __attribute__((packed));
|
||
|
|
||
|
#endif /* end of __UAPI_WCD_SPI_AC_PARAMS_H__ */
|