[PATCH v9 1/2] dt-bindings: rtc: Add pcf85053 support
From: Lakshay Piplani <hidden>
Date: 2026-09-14 06:27:39
Also in:
linux-rtc, lkml
Subsystem:
open firmware and flattened device tree bindings, real time clock (rtc) subsystem, the rest · Maintainers:
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alexandre Belloni, Linus Torvalds
Add device tree bindings for NXP PCF85053 RTC chip.
Signed-off-by: Pankit Garg <redacted>
Signed-off-by: Lakshay Piplani <redacted>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
---
V8 -> V9: - Document optional CLKOUT clock provider and add it to the example.
- Disallow interrupts and nxp,write-access on the secondary interface.
- Describe the alarm interrupt as active-low level triggered.
- Use 'const' for the single compatible string.
V7 -> V8: - Use 'unevaluatedProperties: false' instead of 'additionalProperties:
false'.
- Fix typo in 'nxp,interface' description ("ready only" -> "read only").
V6 -> V7: - no changes
- Added Reviewed-by: Conor Dooley [off-list ref]
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 | 129 ++++++++++++++++++
MAINTAINERS | 7 +
2 files changed, 136 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..1a5dbe7f02d3
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/nxp,pcf85053.yaml@@ -0,0 +1,129 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright 2025-2026 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 <pankit.garg@nxp.com> + - Lakshay Piplani <lakshay.piplani@nxp.com> + +properties: + compatible: + const: nxp,pcf85053 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + "#clock-cells": + const: 0 + description: | + Present when the CLKOUT pin is exposed as a clock provider. In a + dual-host configuration, only one PCF85053 interface node should + expose CLKOUT as a clock provider. + + clock-output-names: + 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 the time 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' -> secondary owns time-register writes. + 3. Secondary (must not specify 'nxp,write-access') -> secondary may write + the time registers when CTRL.TWO=0. + + 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 + +unevaluatedProperties: false + +allOf: + - $ref: rtc.yaml# + - if: + properties: + nxp,interface: + const: secondary + then: + properties: + # The secondary interface has read-only access to the control and + # status registers, so it cannot service or clear the alarm IRQ and + # cannot claim write ownership. + interrupts: false + nxp,write-access: false + +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; + #clock-cells = <0>; + clock-output-names = "pcf85053-clkout"; + interrupt-parent = <&gpio2>; + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; + }; + }; + + # 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_LEVEL_LOW>; + }; + }; + + i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + rtc@6f { + compatible = "nxp,pcf85053"; + reg = <0x6f>; + nxp,interface = "secondary"; + }; + };
diff --git a/MAINTAINERS b/MAINTAINERS
index 3a19da74d00c..01b4f7157f36 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS@@ -19793,6 +19793,13 @@ S: Maintained F: Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml F: drivers/extcon/extcon-ptn5150.c +NXP RTC PCF85053 DRIVER +M: Pankit Garg <pankit.garg@nxp.com> +M: Lakshay Piplani <lakshay.piplani@nxp.com> +L: linux-rtc@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/rtc/nxp,pcf85053.yaml + NXP SGTL5000 DRIVER M: Fabio Estevam <festevam@gmail.com> L: linux-sound@vger.kernel.org
--
2.25.1