162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * NCI based driver for Samsung S3FWRN5 NFC chip
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2015 Samsung Electrnoics
662306a36Sopenharmony_ci * Robert Baldyga <r.baldyga@samsung.com>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef __LOCAL_S3FWRN5_NCI_H_
1062306a36Sopenharmony_ci#define __LOCAL_S3FWRN5_NCI_H_
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include "s3fwrn5.h"
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#define NCI_PROP_SET_RFREG	0x22
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_cistruct nci_prop_set_rfreg_cmd {
1762306a36Sopenharmony_ci	__u8 index;
1862306a36Sopenharmony_ci	__u8 data[252];
1962306a36Sopenharmony_ci};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cistruct nci_prop_set_rfreg_rsp {
2262306a36Sopenharmony_ci	__u8 status;
2362306a36Sopenharmony_ci};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#define NCI_PROP_START_RFREG	0x26
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_cistruct nci_prop_start_rfreg_rsp {
2862306a36Sopenharmony_ci	__u8 status;
2962306a36Sopenharmony_ci};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci#define NCI_PROP_STOP_RFREG	0x27
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_cistruct nci_prop_stop_rfreg_cmd {
3462306a36Sopenharmony_ci	__u16 checksum;
3562306a36Sopenharmony_ci};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_cistruct nci_prop_stop_rfreg_rsp {
3862306a36Sopenharmony_ci	__u8 status;
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#define NCI_PROP_FW_CFG		0x28
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cistruct nci_prop_fw_cfg_cmd {
4462306a36Sopenharmony_ci	__u8 clk_type;
4562306a36Sopenharmony_ci	__u8 clk_speed;
4662306a36Sopenharmony_ci	__u8 clk_req;
4762306a36Sopenharmony_ci};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_cistruct nci_prop_fw_cfg_rsp {
5062306a36Sopenharmony_ci	__u8 status;
5162306a36Sopenharmony_ci};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciextern const struct nci_driver_ops s3fwrn5_nci_prop_ops[4];
5462306a36Sopenharmony_ciint s3fwrn5_nci_rf_configure(struct s3fwrn5_info *info, const char *fw_name);
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci#endif /* __LOCAL_S3FWRN5_NCI_H_ */
57