xref: /openbmc/linux/drivers/nfc/s3fwrn5/nci.h (revision 27ab1c1c)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * NCI based driver for Samsung S3FWRN5 NFC chip
4  *
5  * Copyright (C) 2015 Samsung Electrnoics
6  * Robert Baldyga <r.baldyga@samsung.com>
7  */
8 
9 #ifndef __LOCAL_S3FWRN5_NCI_H_
10 #define __LOCAL_S3FWRN5_NCI_H_
11 
12 #include "s3fwrn5.h"
13 
14 #define NCI_PROP_SET_RFREG	0x22
15 
16 struct nci_prop_set_rfreg_cmd {
17 	__u8 index;
18 	__u8 data[252];
19 };
20 
21 struct nci_prop_set_rfreg_rsp {
22 	__u8 status;
23 };
24 
25 #define NCI_PROP_START_RFREG	0x26
26 
27 struct nci_prop_start_rfreg_rsp {
28 	__u8 status;
29 };
30 
31 #define NCI_PROP_STOP_RFREG	0x27
32 
33 struct nci_prop_stop_rfreg_cmd {
34 	__u16 checksum;
35 };
36 
37 struct nci_prop_stop_rfreg_rsp {
38 	__u8 status;
39 };
40 
41 #define NCI_PROP_FW_CFG		0x28
42 
43 struct nci_prop_fw_cfg_cmd {
44 	__u8 clk_type;
45 	__u8 clk_speed;
46 	__u8 clk_req;
47 };
48 
49 struct nci_prop_fw_cfg_rsp {
50 	__u8 status;
51 };
52 
53 void s3fwrn5_nci_get_prop_ops(struct nci_driver_ops **ops, size_t *n);
54 int s3fwrn5_nci_rf_configure(struct s3fwrn5_info *info, const char *fw_name);
55 
56 #endif /* __LOCAL_S3FWRN5_NCI_H_ */
57