[PATCH v2 3/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema

From: Bhargav Joshi

Date: Fri Jul 24 2026 - 17:03:51 EST


Convert the Texas Instruments OMAP Real Time Clock (RTC) binding from
the legacy text format to the DT schema. Mark 'ti,hwmods' as deprecated
as it is no longer used, it is kept to support legacy boards.

Signed-off-by: Bhargav Joshi <j.bhargav.u@xxxxxxxxx>
---
Documentation/devicetree/bindings/rtc/rtc-omap.txt | 53 --------
.../devicetree/bindings/rtc/ti,omap-rtc.yaml | 149 +++++++++++++++++++++
2 files changed, 149 insertions(+), 53 deletions(-)

diff --git a/Documentation/devicetree/bindings/rtc/rtc-omap.txt b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
deleted file mode 100644
index 062ebb14cecf..000000000000
--- a/Documentation/devicetree/bindings/rtc/rtc-omap.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-TI Real Time Clock
-
-Required properties:
-- compatible:
- - "ti,da830-rtc" - for RTC IP used similar to that on DA8xx SoC family.
- - "ti,am3352-rtc" - for RTC IP used similar to that on AM335x SoC family.
- This RTC IP has special WAKE-EN Register to enable
- Wakeup generation for event Alarm. It can also be
- used to control an external PMIC via the
- pmic_power_en pin.
- - "ti,am4372-rtc" - for RTC IP used similar to that on AM437X SoC family.
-- reg: Address range of rtc register set
-- interrupts: rtc timer, alarm interrupts in order
-
-Optional properties:
-- system-power-controller: whether the rtc is controlling the system power
- through pmic_power_en
-- clocks: Any internal or external clocks feeding in to rtc
-- clock-names: Corresponding names of the clocks
-- pinctrl-0: a phandle pointing to the pin settings for the device
-- pinctrl-names: should be "default"
-
-Optional subnodes:
-- generic pinctrl node
-
-Required pinctrl subnodes properties:
-- pins - Names of ext_wakeup pins to configure
-
-Optional pinctrl subnodes properties:
-- input-enable - Enables ext_wakeup
-- ti,active-high - Set input active high (by default active low)
-
-Example:
-
-rtc@1c23000 {
- compatible = "ti,da830-rtc";
- reg = <0x23000 0x1000>;
- interrupts = <19
- 19>;
- interrupt-parent = <&intc>;
- system-power-controller;
- clocks = <&clk_32k_rtc>, <&clk_32768_ck>;
- clock-names = "ext-clk", "int-clk";
-
- pinctrl-0 = <&ext_wakeup>;
- pinctrl-names = "default";
-
- ext_wakeup: ext-wakeup {
- pins = "ext_wakeup0";
- input-enable;
- ti,active-high;
- };
-};
diff --git a/Documentation/devicetree/bindings/rtc/ti,omap-rtc.yaml b/Documentation/devicetree/bindings/rtc/ti,omap-rtc.yaml
new file mode 100644
index 000000000000..326d5ad97292
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/ti,omap-rtc.yaml
@@ -0,0 +1,149 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/rtc/ti,omap-rtc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments OMAP Real Time Clock
+
+maintainers:
+ - Keerthy <j-keerthy@xxxxxx>
+ - Afzal Mohammed <afzal@xxxxxx>
+
+description:
+ The OMAP RTC is a year/month/day/hours/minutes/seconds BCD clock with
+ century-range alarm matching, driven by the 32kHz clock.
+
+properties:
+ compatible:
+ oneOf:
+ - const: ti,da830-rtc
+ - const: ti,am3352-rtc
+ - items:
+ - const: ti,am3352-rtc
+ - const: ti,da830-rtc
+ - items:
+ - const: ti,am4372-rtc
+ - const: ti,am3352-rtc
+ - const: ti,da830-rtc
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ minItems: 2
+ maxItems: 2
+
+ system-power-controller:
+ type: boolean
+ description:
+ Indicates that this RTC controls system power via the pmic_power_en pin.
+
+ clocks:
+ minItems: 1
+ maxItems: 2
+
+ clock-names:
+ oneOf:
+ - items:
+ - const: ext-clk
+ - const: int-clk
+ - items:
+ - const: ext-clk
+ - items:
+ - const: int-clk
+
+ pinctrl-0:
+ description:
+ Phandle to pin configuration for the external wakeup pins.
+
+ pinctrl-names:
+ minItems: 1
+
+ ti,hwmods:
+ $ref: /schemas/types.yaml#/definitions/string
+ description:
+ Name of the hwmod associated with the RTC.
+ const: rtc
+ deprecated: true
+
+patternProperties:
+ "^ext-wakeup(-[0-9]+)?$":
+ type: object
+
+ description:
+ Child node describing external wakeup pin configuration.
+
+ properties:
+ pins:
+ enum:
+ - ext_wakeup0
+ - ext_wakeup1
+ - ext_wakeup2
+ - ext_wakeup3
+
+ input-enable:
+ type: boolean
+ description:
+ Enables the external wakeup input on the selected pin.
+
+ ti,active-high:
+ type: boolean
+ description:
+ Sets the wakeup input polarity to active high. By default the
+ input is active low.
+
+ required:
+ - pins
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+allOf:
+ - $ref: rtc.yaml#
+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ const: ti,am3352-rtc
+ then:
+ properties:
+ system-power-controller: false
+ patternProperties:
+ "^ext-wakeup(-[0-9]+)?$": false
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ rtc@23000 {
+ compatible = "ti,da830-rtc";
+ reg = <0x23000 0x1000>;
+ interrupts = <19>, <19>;
+ clocks = <&clk_32768_ck>;
+ clock-names = "int-clk";
+ };
+
+ - |
+ rtc@0 {
+ compatible = "ti,am3352-rtc", "ti,da830-rtc";
+ reg = <0x0 0x1000>;
+ interrupts = <75>, <76>;
+ system-power-controller;
+ clocks = <&clk_32k_rtc>, <&clk_32768_ck>;
+ clock-names = "ext-clk", "int-clk";
+
+ pinctrl-0 = <&ext_wakeup>;
+ pinctrl-names = "default";
+
+ ext-wakeup {
+ pins = "ext_wakeup0";
+ input-enable;
+ ti,active-high;
+ };
+ };

--
2.55.0