blob: 850a2395deb78d145071547c47b0c56a2befec74 [file] [log] [blame]
Christophe Ricard35630df2014-05-25 22:35:38 +02001/*
2 * NCI based Driver for STMicroelectronics NFC Chip
3 *
4 * Copyright (C) 2014 STMicroelectronics SAS. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, see <http://www.gnu.org/licenses/>.
17 */
18
Christophe Ricarded06aeef2015-06-09 22:26:05 +020019#ifndef __LOCAL_ST_NCI_H_
20#define __LOCAL_ST_NCI_H_
Christophe Ricard35630df2014-05-25 22:35:38 +020021
Christophe Ricarded06aeef2015-06-09 22:26:05 +020022#include "st-nci_se.h"
Christophe Ricard35630df2014-05-25 22:35:38 +020023#include "ndlc.h"
24
25/* Define private flags: */
Christophe Ricarded06aeef2015-06-09 22:26:05 +020026#define ST_NCI_RUNNING 1
Christophe Ricard35630df2014-05-25 22:35:38 +020027
Christophe Ricarded06aeef2015-06-09 22:26:05 +020028#define ST_NCI_CORE_PROP 0x01
29#define ST_NCI_SET_NFC_MODE 0x02
Christophe Ricard41fc2f52015-06-06 13:16:52 +020030
31struct nci_mode_set_cmd {
32 u8 cmd_type;
33 u8 mode;
34} __packed;
Christophe Ricarddbd70b42015-06-06 13:16:47 +020035
36struct nci_mode_set_rsp {
37 u8 status;
38} __packed;
39
Christophe Ricarded06aeef2015-06-09 22:26:05 +020040struct st_nci_info {
Christophe Ricard35630df2014-05-25 22:35:38 +020041 struct llt_ndlc *ndlc;
42 unsigned long flags;
Christophe Ricarded06aeef2015-06-09 22:26:05 +020043 struct st_nci_se_info se_info;
Christophe Ricard35630df2014-05-25 22:35:38 +020044};
45
Christophe Ricarded06aeef2015-06-09 22:26:05 +020046void st_nci_remove(struct nci_dev *ndev);
47int st_nci_probe(struct llt_ndlc *ndlc, int phy_headroom,
Christophe Ricard35630df2014-05-25 22:35:38 +020048 int phy_tailroom);
49
Christophe Ricarded06aeef2015-06-09 22:26:05 +020050#endif /* __LOCAL_ST_NCI_H_ */