[RESEND v7 1/2] dt-bindings: rtc: Add pcf85053 support
Lakshay Piplani <[email protected]>
| Newsgroups | org.kernel.vger.linux-rtc,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Add device tree bindings for NXP PCF85053 RTC chip. Signed-off-by: Pankit Garg <[email protected]> Signed-off-by: Lakshay Piplani <[email protected]> Reviewed-by: Conor Dooley <[email protected]> --- V6 -> V7: - no changes - Added Reviewed-by: Conor Dooley <[email protected]> V5 -> V6: - Dropped driver-specific commentary from property descriptions. - Simplified and clarified descriptions for better readability. V4 -> V5: - Updated schema validation logic to enforce correct combinations of 'nxp,interface' and 'nxp,write-access' using oneOf clauses. - Refined property descriptions for clarity and hardware alignment. V3 -> V4: Add dedicated nxp,pcf85053.yaml. Remove entry from trivial-rtc.yaml. V2 -> V3: Moved MAINTAINERS file changes to the driver patch V1 -> V2: Handled dt-bindings by trivial-rtc.yaml .../devicetree/bindings/rtc/nxp,pcf85053.yaml | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 Documentation/devicetree/bindings/rtc/nxp,pcf85053.yaml diff --git a/Documentation/devicetree/bindings/rtc/nxp,pcf85053.yaml b/Documentation/devicetree/bindings/rtc/nxp,pcf85053.yaml new file mode 100644 index 000000000000..81cfceabc04c --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/nxp,pcf85053.yaml @@ -0,0 +1,114 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright 2025 NXP +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/rtc/nxp,pcf85053.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP PCF85053 Real Time Clock + +maintainers: + - Pankit Garg <[email protected]> + - Lakshay Piplani <[email protected]> + +properties: + compatible: + enum: + - nxp,pcf85053 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + nxp,interface: + $ref: /schemas/types.yaml#/definitions/string + enum: [ primary, secondary ] + description: | + Identifies this host's logical role in a multi-host topology for the + PCF85053 RTC. The device exposes a "TWO" ownership bit in the CTRL + register that gates which host may write time/alarm registers. + - "primary": Designated host that *may* claim write ownership (set + CTRL.TWO=1) **if** write-access is explicitly requested. + - "secondary": Peer host that writes only when CTRL.TWO=0 (default). + + This property determines the intended role of the host in relation to + the write ownership. + + The actual role depends on whether 'nxp,write-access' is also specified. + Supported configurations are:- + 1. Primary with 'nxp,write-access' -> primary claims write ownership. + 2. Primary without 'nxp,write-access' -> primary is ready only; secondary may write. + 3. Secondary (must not specify 'nxp,write-access') -> Secondary writes only + when no primary claims ownership. + + nxp,write-access: + type: boolean + description: | + Indicates that write ownership of the PCF85053 RTC should be claimed by setting + CTRL.TWO=1. This property is only valid when acting as the primary interface + (nxp,interface="primary"). + +required: + - compatible + - reg + - nxp,interface + +additionalProperties: false + +allOf: + - $ref: rtc.yaml# + - if: + properties: + nxp,interface: + const: secondary + then: + not: + required: [ "nxp,write-access" ] + +examples: + # Single host example. + - | + #include <dt-bindings/interrupt-controller/irq.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + + rtc@6f { + compatible = "nxp,pcf85053"; + reg = <0x6f>; + nxp,interface = "primary"; + nxp,write-access; + interrupt-parent = <&gpio2>; + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; + }; + }; + + # Dual-host example: one primary that claims writes; one secondary that never claims writes. + - | + #include <dt-bindings/interrupt-controller/irq.h> + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + rtc@6f { + compatible = "nxp,pcf85053"; + reg = <0x6f>; + nxp,interface = "primary"; + nxp,write-access; + interrupt-parent = <&gpio2>; + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; + }; + }; + + i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + rtc@6f { + compatible = "nxp,pcf85053"; + reg = <0x6f>; + nxp,interface = "secondary"; + }; + }; -- 2.25.1