1 /* SPDX-License-Identifier: GPL-2.0-or-later 2 * 3 * Link Layer for Samsung S3FWRN5 NCI based Driver 4 * 5 * Copyright (C) 2015 Samsung Electrnoics 6 * Robert Baldyga <r.baldyga@samsung.com> 7 * Copyright (C) 2020 Samsung Electrnoics 8 * Bongsu Jeon <bongsu.jeon@samsung.com> 9 */ 10 11 #ifndef __NFC_S3FWRN5_PHY_COMMON_H 12 #define __NFC_S3FWRN5_PHY_COMMON_H 13 14 #include <linux/mutex.h> 15 #include <net/nfc/nci_core.h> 16 17 #include "s3fwrn5.h" 18 19 #define S3FWRN5_EN_WAIT_TIME 20 20 21 struct phy_common { 22 struct nci_dev *ndev; 23 24 int gpio_en; 25 int gpio_fw_wake; 26 27 struct mutex mutex; 28 29 enum s3fwrn5_mode mode; 30 }; 31 32 void s3fwrn5_phy_set_wake(void *phy_id, bool wake); 33 bool s3fwrn5_phy_power_ctrl(struct phy_common *phy, enum s3fwrn5_mode mode); 34 void s3fwrn5_phy_set_mode(void *phy_id, enum s3fwrn5_mode mode); 35 enum s3fwrn5_mode s3fwrn5_phy_get_mode(void *phy_id); 36 37 #endif /* __NFC_S3FWRN5_PHY_COMMON_H */ 38