1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2024 Intel Corporation */
3 
4 #ifndef _QUICKSPI_PROTOCOL_H_
5 #define _QUICKSPI_PROTOCOL_H_
6 
7 #include <linux/hid-over-spi.h>
8 
9 #define QUICKSPI_ACK_WAIT_TIMEOUT    5
10 
11 struct quickspi_device;
12 
13 void quickspi_handle_input_data(struct quickspi_device *qsdev, u32 buf_len);
14 int quickspi_get_report(struct quickspi_device *qsdev, u8 report_type,
15 			unsigned int report_id, void *buf);
16 int quickspi_set_report(struct quickspi_device *qsdev, u8 report_type,
17 			unsigned int report_id, void *buf, u32 buf_len);
18 int quickspi_get_report_descriptor(struct quickspi_device *qsdev);
19 
20 int quickspi_set_power(struct quickspi_device *qsdev,
21 		       enum hidspi_power_state power_state);
22 
23 int reset_tic(struct quickspi_device *qsdev);
24 
25 #endif /* _QUICKSPI_PROTOCOL_H_ */
26