linux/drivers/nfc
Stephan Gerhold 340f42f7ff nfc: s3fwrn5: i2c: Enable optional clock from device tree
S3FWRN5 depends on a clock input ("XI" pin) to function properly.
Depending on the hardware configuration this could be an always-on
oscillator or some external clock that must be explicitly enabled.

So far we assumed that the clock is always-on.
Make the driver request an (optional) clock from the device tree
and make sure the clock is running before starting S3FWRN5.

Note: S3FWRN5 asserts "GPIO2" whenever it needs the clock input to
function correctly. On some hardware configurations, GPIO2 is
connected directly to an input pin of the external clock provider
(e.g. the main PMIC of the SoC). In that case, it can automatically
AND the clock enable bit and clock request from S3FWRN5 so that
the clock is actually only enabled when needed.

It is also conceivable that on some other hardware configuration
S3FWRN5's GPIO2 might be connected as a regular GPIO input
of the SoC. In that case, follow-up patches could extend the
driver to request the GPIO, set up an interrupt and only enable
the clock when requested by S3FWRN5.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-05-19 12:44:23 -07:00
..
fdp nfc/fdp: remove unnecessary assignment and label 2021-04-07 14:32:31 -07:00
microread mei: bus: change remove callback to return void 2021-02-09 09:30:16 +01:00
nfcmrvl nfc: Fix Kconfig indentation 2019-11-20 12:30:40 -08:00
nxp-nci NFC: nxp-nci: Make firmware GPIO pin optional 2020-12-02 11:58:19 -08:00
pn533 nfc: pn533: remove redundant assignment 2021-04-12 13:23:03 -07:00
pn544 mei: bus: change remove callback to return void 2021-02-09 09:30:16 +01:00
s3fwrn5 nfc: s3fwrn5: i2c: Enable optional clock from device tree 2021-05-19 12:44:23 -07:00
st21nfca nfc: remove unneeded break 2020-10-20 10:36:41 -07:00
st95hf NFC: st95hf: Fix memleak in st95hf_in_send_cmd 2020-08-24 17:34:25 -07:00
st-nci nfc: st-nci: remove unnecessary label 2021-04-13 14:50:57 -07:00
Kconfig nfc: Add a virtual nci device driver 2021-01-29 18:03:33 -08:00
Makefile nfc: Add a virtual nci device driver 2021-01-29 18:03:33 -08:00
mei_phy.c nfc/mei: convert to SPDX license tags 2019-03-28 02:07:54 +09:00
mei_phy.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfcsim.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
port100.c NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu(). 2019-12-09 14:27:26 -08:00
trf7970a.c nfc: fix typo 2021-01-25 19:35:26 -08:00
virtual_ncidev.c nfc: Add a virtual nci device driver 2021-01-29 18:03:33 -08:00