The S3NRN4V is an S3FWRN5-family NFC + eSE controller found e.g. on the Fairphone 6 (SM7635). Add a compatible for it and document the optional clk-req-gpios property: when wired, the controller drives this line to request its reference clock (needed to generate the poll carrier), and the driver gates the clock on it instead of leaving it always-on. The line is modelled as a GPIO rather than an interrupt because the driver reads its level to (re)synchronise the clock state, not just react to its edges. It is only meaningful on the S3NRN4V, so it is restricted to that compatible. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Claude:claude-fable-5 Signed-off-by: Jorijn van der Graaf --- .../bindings/net/nfc/samsung,s3fwrn5.yaml | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml b/Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml index 12baee457..3ebcd0933 100644 --- a/Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml +++ b/Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml @@ -14,12 +14,20 @@ properties: enum: - samsung,s3fwrn5-i2c - samsung,s3fwrn82 + - samsung,s3nrn4v-i2c en-gpios: maxItems: 1 description: Output GPIO pin used for enabling/disabling the chip + clk-req-gpios: + maxItems: 1 + description: + Input GPIO pin connected to the controller's clock-request output. When + present, the reference clock is enabled in response to this signal + instead of being left always-on. + interrupts: maxItems: 1 @@ -58,12 +66,25 @@ allOf: properties: compatible: contains: - const: samsung,s3fwrn5-i2c + enum: + - samsung,s3fwrn5-i2c + - samsung,s3nrn4v-i2c then: required: - interrupts - reg + # The clock-request handshake only exists on the S3NRN4V. + - if: + not: + properties: + compatible: + contains: + const: samsung,s3nrn4v-i2c + then: + properties: + clk-req-gpios: false + examples: - | #include -- 2.55.0