aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorStephan Gerhold <stephan@gerhold.net>2021-05-19 11:16:13 +0200
committerDavid S. Miller <davem@davemloft.net>2021-05-19 12:44:23 -0700
commit340f42f7ff0b87a92e69b50706a6c872da756c89 (patch)
tree11d90713ad3e0ca420b6355e047e352060e96bbc /net
parentdt-bindings: net: nfc: s3fwrn5: Add optional clock (diff)
downloadlinux-dev-340f42f7ff0b87a92e69b50706a6c872da756c89.tar.xz
linux-dev-340f42f7ff0b87a92e69b50706a6c872da756c89.zip
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>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions