]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - drivers/nfc/s3fwrn5/nci.h
Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[mirror_ubuntu-artful-kernel.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_driver_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_ */