[RESEND v4 1/5] dt-bindings: rtc: nxp,pcf85363: add timestamp mode config
Lakshay Piplani <[email protected]>
| Newsgroups | org.kernel.vger.linux-rtc,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-watchdog |
|---|---|
| Message-ID | <[email protected]> |
NXP PCF85263/PCF85363 provides three timestamp registers (TSR1-TSR3) which latch the current time when a selected event occurs. Add a vendor specific property, nxp,timestamp-mode, to select the event source for each register. Also introduce a new header 'pcf85363-tsr.h' to expose macros for timestamp mode fields, improving readability of device tree file. Signed-off-by: Lakshay Piplani <[email protected]> Reviewed-by: Rob Herring <[email protected]> --- V3 -> V4: - Added Reviewed-by tag in commit message (previously only in changelog) V2 -> V3: - No changes in v3 - Added Reviewed-by: Rob Herring <[email protected]> V1 -> V2: - Addressed review comments from Rob Herring: * use $ref: /schemas/types.yaml#/definitions/uint32-array * tuple form with exactly 3 items (TSR1/TSR2/TSR3), per items decimal enums * define 'nxp,timestamp-mode' clearly * drop watchdog related vendor properties * remove watchdog related vendor properties from i2c example .../devicetree/bindings/rtc/nxp,pcf85363.yaml | 23 ++++++++++++++- include/dt-bindings/rtc/pcf85363-tsr.h | 28 +++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 include/dt-bindings/rtc/pcf85363-tsr.h diff --git a/Documentation/devicetree/bindings/rtc/nxp,pcf85363.yaml b/Documentation/devicetree/bindings/rtc/nxp,pcf85363.yaml index 52aa3e2091e9..cf9c155162d6 100644 --- a/Documentation/devicetree/bindings/rtc/nxp,pcf85363.yaml +++ b/Documentation/devicetree/bindings/rtc/nxp,pcf85363.yaml @@ -4,7 +4,7 @@ $id: http://devicetree.org/schemas/rtc/nxp,pcf85363.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Philips PCF85263/PCF85363 Real Time Clock +title: NXP PCF85263/PCF85363 Real Time Clock maintainers: - Alexandre Belloni <[email protected]> @@ -39,6 +39,24 @@ properties: start-year: true wakeup-source: true + nxp,timestamp-mode: + $ref: /schemas/types.yaml#/definitions/uint32-array + items: + - enum: [0, 1, 2] # TSR1: NONE, FE, LE + description: TSR1 mode + - enum: [0, 1, 2, 3, 4, 5] # TSR2: NONE, FB, LB, LV, FE, LE + description: TSR2 mode + - enum: [0, 1, 2, 3] # TSR3: NONE, FB, LB, LV + description: TSR3 mode + description: | + Defines timestamp modes for TSR1, TSR2, and TSR3. + Use macros from <dt-bindings/rtc/pcf85363-tsr.h>. + + Each value corresponds to a mode constant: + - TSR1: NONE, FE, LE + - TSR2: NONE, FB, LB, LV, FE, LE + - TSR3: NONE, FB, LB, LV + required: - compatible - reg @@ -47,6 +65,7 @@ additionalProperties: false examples: - | + #include <dt-bindings/rtc/pcf85363-tsr.h> i2c { #address-cells = <1>; #size-cells = <0>; @@ -56,5 +75,7 @@ examples: reg = <0x51>; #clock-cells = <0>; quartz-load-femtofarads = <12500>; + wakeup-source; + nxp,timestamp-mode = <PCF85363_TSR1_FE PCF85363_TSR2_LB PCF85363_TSR3_LV>; }; }; diff --git a/include/dt-bindings/rtc/pcf85363-tsr.h b/include/dt-bindings/rtc/pcf85363-tsr.h new file mode 100644 index 000000000000..1fb5b9b3601e --- /dev/null +++ b/include/dt-bindings/rtc/pcf85363-tsr.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */ +/* + * Copyright 2025 NXP + */ + +#ifndef _DT_BINDINGS_RTC_PCF85363_TSR_H +#define _DT_BINDINGS_RTC_PCF85363_TSR_H + +/* TSR1 modes */ +#define PCF85363_TSR1_NONE 0x00 +#define PCF85363_TSR1_FE 0x01 +#define PCF85363_TSR1_LE 0x02 + +/* TSR2 modes */ +#define PCF85363_TSR2_NONE 0x00 +#define PCF85363_TSR2_FB 0x01 +#define PCF85363_TSR2_LB 0x02 +#define PCF85363_TSR2_LV 0x03 +#define PCF85363_TSR2_FE 0x04 +#define PCF85363_TSR2_LE 0x05 + +/* TSR3 modes */ +#define PCF85363_TSR3_NONE 0x00 +#define PCF85363_TSR3_FB 0x01 +#define PCF85363_TSR3_LB 0x02 +#define PCF85363_TSR3_LV 0x03 + +#endif /* _DT_BINDINGS_RTC_PCF85363_TSR_H */ -- 2.25.1