phy_common.h 874 B

12345678910111213141516171819202122232425262728293031323334353637
  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 <[email protected]>
  7. * Copyright (C) 2020 Samsung Electrnoics
  8. * Bongsu Jeon <[email protected]>
  9. */
  10. #ifndef __NFC_S3FWRN5_PHY_COMMON_H
  11. #define __NFC_S3FWRN5_PHY_COMMON_H
  12. #include <linux/mutex.h>
  13. #include <net/nfc/nci_core.h>
  14. #include "s3fwrn5.h"
  15. #define S3FWRN5_EN_WAIT_TIME 20
  16. struct phy_common {
  17. struct nci_dev *ndev;
  18. int gpio_en;
  19. int gpio_fw_wake;
  20. struct mutex mutex;
  21. enum s3fwrn5_mode mode;
  22. };
  23. void s3fwrn5_phy_set_wake(void *phy_id, bool wake);
  24. bool s3fwrn5_phy_power_ctrl(struct phy_common *phy, enum s3fwrn5_mode mode);
  25. void s3fwrn5_phy_set_mode(void *phy_id, enum s3fwrn5_mode mode);
  26. enum s3fwrn5_mode s3fwrn5_phy_get_mode(void *phy_id);
  27. #endif /* __NFC_S3FWRN5_PHY_COMMON_H */