linux/drivers/nfc/s3fwrn5/nci.h
<<
>>
Prefs
   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
  30struct nci_prop_set_rfreg_cmd {
  31        __u8 index;
  32        __u8 data[252];
  33};
  34
  35struct nci_prop_set_rfreg_rsp {
  36        __u8 status;
  37};
  38
  39#define NCI_PROP_GET_RFREG_VER  0x24
  40
  41struct nci_prop_get_rfreg_ver_rsp {
  42        __u8 status;
  43        __u8 data[8];
  44};
  45
  46#define NCI_PROP_SET_RFREG_VER  0x25
  47
  48struct nci_prop_set_rfreg_ver_cmd {
  49        __u8 data[8];
  50};
  51
  52struct nci_prop_set_rfreg_ver_rsp {
  53        __u8 status;
  54};
  55
  56#define NCI_PROP_START_RFREG    0x26
  57
  58struct nci_prop_start_rfreg_rsp {
  59        __u8 status;
  60};
  61
  62#define NCI_PROP_STOP_RFREG     0x27
  63
  64struct nci_prop_stop_rfreg_cmd {
  65        __u16 checksum;
  66};
  67
  68struct nci_prop_stop_rfreg_rsp {
  69        __u8 status;
  70};
  71
  72#define NCI_PROP_FW_CFG         0x28
  73
  74struct nci_prop_fw_cfg_cmd {
  75        __u8 clk_type;
  76        __u8 clk_speed;
  77        __u8 clk_req;
  78};
  79
  80struct nci_prop_fw_cfg_rsp {
  81        __u8 status;
  82};
  83
  84#define NCI_PROP_WR_RESET       0x2f
  85
  86void s3fwrn5_nci_get_prop_ops(struct nci_driver_ops **ops, size_t *n);
  87int s3fwrn5_nci_rf_configure(struct s3fwrn5_info *info, const char *fw_name);
  88
  89#endif /* __LOCAL_S3FWRN5_NCI_H_ */
  90