]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - drivers/nfc/s3fwrn5/nci.h
Merge branch 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / drivers / nfc / s3fwrn5 / nci.h
1 /*
2  * NCI based driver for Samsung S3FWRN5 NFC chip
3  *
4  * Copyright (C) 2015 Samsung Electrnoics
5  * Robert Baldyga <r.baldyga@samsung.com>
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms and conditions of the GNU General Public License,
9  * version 2 or later, as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef __LOCAL_S3FWRN5_NCI_H_
21 #define __LOCAL_S3FWRN5_NCI_H_
22
23 #include "s3fwrn5.h"
24
25 #define NCI_PROP_AGAIN          0x01
26
27 #define NCI_PROP_GET_RFREG      0x21
28 #define NCI_PROP_SET_RFREG      0x22
29
30 struct nci_prop_set_rfreg_cmd {
31         __u8 index;
32         __u8 data[252];
33 };
34
35 struct nci_prop_set_rfreg_rsp {
36         __u8 status;
37 };
38
39 #define NCI_PROP_GET_RFREG_VER  0x24
40
41 struct nci_prop_get_rfreg_ver_rsp {
42         __u8 status;
43         __u8 data[8];
44 };
45
46 #define NCI_PROP_SET_RFREG_VER  0x25
47
48 struct nci_prop_set_rfreg_ver_cmd {
49         __u8 data[8];
50 };
51
52 struct nci_prop_set_rfreg_ver_rsp {
53         __u8 status;
54 };
55
56 #define NCI_PROP_START_RFREG    0x26
57
58 struct nci_prop_start_rfreg_rsp {
59         __u8 status;
60 };
61
62 #define NCI_PROP_STOP_RFREG     0x27
63
64 struct nci_prop_stop_rfreg_cmd {
65         __u16 checksum;
66 };
67
68 struct nci_prop_stop_rfreg_rsp {
69         __u8 status;
70 };
71
72 #define NCI_PROP_FW_CFG         0x28
73
74 struct nci_prop_fw_cfg_cmd {
75         __u8 clk_type;
76         __u8 clk_speed;
77         __u8 clk_req;
78 };
79
80 struct nci_prop_fw_cfg_rsp {
81         __u8 status;
82 };
83
84 #define NCI_PROP_WR_RESET       0x2f
85
86 void s3fwrn5_nci_get_prop_ops(struct nci_prop_ops **ops, size_t *n);
87 int s3fwrn5_nci_rf_configure(struct s3fwrn5_info *info, const char *fw_name);
88
89 #endif /* __LOCAL_S3FWRN5_NCI_H_ */