Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later
0002  *
0003  * Link Layer for Samsung S3FWRN5 NCI based Driver
0004  *
0005  * Copyright (C) 2015 Samsung Electrnoics
0006  * Robert Baldyga <r.baldyga@samsung.com>
0007  * Copyright (C) 2020 Samsung Electrnoics
0008  * Bongsu Jeon <bongsu.jeon@samsung.com>
0009  */
0010 
0011 #ifndef __NFC_S3FWRN5_PHY_COMMON_H
0012 #define __NFC_S3FWRN5_PHY_COMMON_H
0013 
0014 #include <linux/mutex.h>
0015 #include <net/nfc/nci_core.h>
0016 
0017 #include "s3fwrn5.h"
0018 
0019 #define S3FWRN5_EN_WAIT_TIME 20
0020 
0021 struct phy_common {
0022     struct nci_dev *ndev;
0023 
0024     int gpio_en;
0025     int gpio_fw_wake;
0026 
0027     struct mutex mutex;
0028 
0029     enum s3fwrn5_mode mode;
0030 };
0031 
0032 void s3fwrn5_phy_set_wake(void *phy_id, bool wake);
0033 bool s3fwrn5_phy_power_ctrl(struct phy_common *phy, enum s3fwrn5_mode mode);
0034 void s3fwrn5_phy_set_mode(void *phy_id, enum s3fwrn5_mode mode);
0035 enum s3fwrn5_mode s3fwrn5_phy_get_mode(void *phy_id);
0036 
0037 #endif /* __NFC_S3FWRN5_PHY_COMMON_H */