Home | History | Annotate | Download | only in linux
      1 #ifndef __UAPI_WCD_SPI_AC_PARAMS_H__
      2 #define __UAPI_WCD_SPI_AC_PARAMS_H__
      3 
      4 #include <linux/types.h>
      5 
      6 #define WCD_SPI_AC_CMD_CONC_BEGIN	0x01
      7 #define WCD_SPI_AC_CMD_CONC_END		0x02
      8 #define WCD_SPI_AC_CMD_BUF_DATA		0x03
      9 
     10 #define WCD_SPI_AC_MAX_BUFFERS		2
     11 #define WCD_SPI_AC_MAX_CH_PER_BUF	8
     12 
     13 #define WCD_SPI_AC_CLIENT_CDEV_NAME	"wcd-spi-ac-client"
     14 #define WCD_SPI_AC_PROCFS_DIR_NAME	"wcd-spi-ac"
     15 #define WCD_SPI_AC_PROCFS_STATE_NAME	"svc-state"
     16 
     17 /*
     18  * wcd_spi_ac_buf_data:
     19  *	Buffer address for one buffer. Should have data
     20  *	for all the channels. If channels are unused, the
     21  *	value must be NULL.
     22  *
     23  * @addr:
     24  *	Address where each channel of the buffer starts.
     25  */
     26 struct wcd_spi_ac_buf_data {
     27 	__u32 addr[WCD_SPI_AC_MAX_CH_PER_BUF];
     28 } __attribute__((packed));
     29 
     30 /*
     31  * wcd_spi_ac_write_cmd:
     32  *	Data sent to the driver's write interface should
     33  *	be packed in this format.
     34  *
     35  * @cmd_type:
     36  *	Indicates the type of command that is sent. Should
     37  *	be one of the valid commands defined with
     38  *	WCD_SPI_AC_CMD_*
     39  * @payload:
     40  *	No payload for:
     41  *		WCD_SPI_AC_CMD_CONC_BEGIN
     42  *		WCD_SPI_AC_CMD_CONC_END
     43  *	Upto WCD_SPI_AC_MAX_BUFFERS of type
     44  *	struct wcd_spi_ac_buf_data for:
     45  *		WCD_SPI_AC_CMD_BUF_DATA
     46  */
     47 struct wcd_spi_ac_write_cmd {
     48 	__u32 cmd_type;
     49 	__u8 payload[0];
     50 } __attribute__((packed));
     51 
     52 #endif /* end of __UAPI_WCD_SPI_AC_PARAMS_H__ */
     53