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