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_AGAIN 0x01 15 16#define NCI_PROP_GET_RFREG 0x21 17#define NCI_PROP_SET_RFREG 0x22 18 19struct nci_prop_set_rfreg_cmd { 20 __u8 index; 21 __u8 data[252]; 22}; 23 24struct nci_prop_set_rfreg_rsp { 25 __u8 status; 26}; 27 28#define NCI_PROP_GET_RFREG_VER 0x24 29 30struct nci_prop_get_rfreg_ver_rsp { 31 __u8 status; 32 __u8 data[8]; 33}; 34 35#define NCI_PROP_SET_RFREG_VER 0x25 36 37struct nci_prop_set_rfreg_ver_cmd { 38 __u8 data[8]; 39}; 40 41struct nci_prop_set_rfreg_ver_rsp { 42 __u8 status; 43}; 44 45#define NCI_PROP_START_RFREG 0x26 46 47struct nci_prop_start_rfreg_rsp { 48 __u8 status; 49}; 50 51#define NCI_PROP_STOP_RFREG 0x27 52 53struct nci_prop_stop_rfreg_cmd { 54 __u16 checksum; 55}; 56 57struct nci_prop_stop_rfreg_rsp { 58 __u8 status; 59}; 60 61#define NCI_PROP_FW_CFG 0x28 62 63struct nci_prop_fw_cfg_cmd { 64 __u8 clk_type; 65 __u8 clk_speed; 66 __u8 clk_req; 67}; 68 69struct nci_prop_fw_cfg_rsp { 70 __u8 status; 71}; 72 73#define NCI_PROP_WR_RESET 0x2f 74 75void s3fwrn5_nci_get_prop_ops(struct nci_driver_ops **ops, size_t *n); 76int s3fwrn5_nci_rf_configure(struct s3fwrn5_info *info, const char *fw_name); 77 78#endif /* __LOCAL_S3FWRN5_NCI_H_ */ 79