Linux on ARM based TI OMAP SoCs
 help / color / mirror / Atom feed
* [PATCH v2 0/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema and cleanups
@ 2026-07-24 21:01 Bhargav Joshi
  2026-07-24 21:01 ` [PATCH v2 1/3] ARM: dts: ti: am57xx-idk-common: Remove unused ext-clk-src property Bhargav Joshi
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Bhargav Joshi @ 2026-07-24 21:01 UTC (permalink / raw)
  To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
	Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alexandre Belloni, Keerthy, Afzal Mohammed
  Cc: linux-omap, devicetree, linux-kernel, linux-rtc, goledhruva,
	m-chawdhry, daniel.baluta, simona.toaca, j.bhargav.u

This series converts the Texas Instruments OMAP Real Time Clock (RTC) 
binding from the legacy format to dt-schema.

During the conversion process, two legacy, undocumented properties 
were discovered in the upstream device trees:
 - 'ext-clk-src' in am57xx-idk-common.dtsi
 - 'ti,no-init' in am335x-shc.dts

Both properties are completely unhandled by the rtc-omap driver. Patches
1 and 2 remove them from the device trees. Patch 3 then introduces the
new YAML schema.

Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
Changes in v2:
- Patch 1: unchanged
- Patch 2: unchanged
- Patch 3: Removed left out legacy text binding and Added constraint
  block restricting 'system-power-controller' and 'ext-wakeup' subnodes
  strictly to hardware variants that support PMIC mode
- Link to v1: https://lore.kernel.org/r/20260724-ti-omap-rtc-v1-0-ffef78853cd6@gmail.com

---
Bhargav Joshi (3):
      ARM: dts: ti: am57xx-idk-common: Remove unused ext-clk-src property
      ARM: dts: ti: am335x-shc: Remove unused ti,no-init property
      dt-bindings: rtc: ti,omap-rtc: Convert to DT schema

 Documentation/devicetree/bindings/rtc/rtc-omap.txt |  53 --------
 .../devicetree/bindings/rtc/ti,omap-rtc.yaml       | 149 +++++++++++++++++++++
 arch/arm/boot/dts/ti/omap/am335x-shc.dts           |   4 -
 arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi   |   1 -
 4 files changed, 149 insertions(+), 58 deletions(-)
---
base-commit: 48a5a7ab8d6ab7090564339e039c421f315de912
change-id: 20260724-ti-omap-rtc-6a5c5888e7e3

Best regards,
-- 
Bhargav


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/3] ARM: dts: ti: am57xx-idk-common: Remove unused ext-clk-src property
  2026-07-24 21:01 [PATCH v2 0/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema and cleanups Bhargav Joshi
@ 2026-07-24 21:01 ` Bhargav Joshi
  2026-07-24 21:01 ` [PATCH v2 2/3] ARM: dts: ti: am335x-shc: Remove unused ti,no-init property Bhargav Joshi
  2026-07-24 21:01 ` [PATCH v2 3/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema Bhargav Joshi
  2 siblings, 0 replies; 5+ messages in thread
From: Bhargav Joshi @ 2026-07-24 21:01 UTC (permalink / raw)
  To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
	Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alexandre Belloni, Keerthy, Afzal Mohammed
  Cc: linux-omap, devicetree, linux-kernel, linux-rtc, goledhruva,
	m-chawdhry, daniel.baluta, simona.toaca, j.bhargav.u

The 'ext-clk-src' property is a legacy, undocumented boolean property
that is entirely unhandled by the rtc-omap driver. The driver instead
determines the clock source natively by checking the presence of the
"ext-clk" clock via devm_clk_get().

Remove this unnecessary property.

Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
 arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi b/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi
index 43e3623f079c..ef4bd554e92b 100644
--- a/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi
+++ b/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi
@@ -445,7 +445,6 @@ &uart3 {
 
 &rtc {
 	status = "okay";
-	ext-clk-src;
 };
 
 &mac_sw {

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/3] ARM: dts: ti: am335x-shc: Remove unused ti,no-init property
  2026-07-24 21:01 [PATCH v2 0/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema and cleanups Bhargav Joshi
  2026-07-24 21:01 ` [PATCH v2 1/3] ARM: dts: ti: am57xx-idk-common: Remove unused ext-clk-src property Bhargav Joshi
@ 2026-07-24 21:01 ` Bhargav Joshi
  2026-07-24 21:01 ` [PATCH v2 3/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema Bhargav Joshi
  2 siblings, 0 replies; 5+ messages in thread
From: Bhargav Joshi @ 2026-07-24 21:01 UTC (permalink / raw)
  To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
	Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alexandre Belloni, Keerthy, Afzal Mohammed
  Cc: linux-omap, devicetree, linux-kernel, linux-rtc, goledhruva,
	m-chawdhry, daniel.baluta, simona.toaca, j.bhargav.u

The 'ti,no-init' property is a legacy, undocumented boolean property
that is entirely unhandled by the rtc-omap driver.
Remove this unnecessary property from dts.

Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
 arch/arm/boot/dts/ti/omap/am335x-shc.dts | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/arch/arm/boot/dts/ti/omap/am335x-shc.dts b/arch/arm/boot/dts/ti/omap/am335x-shc.dts
index 597482822608..2b946823928f 100644
--- a/arch/arm/boot/dts/ti/omap/am335x-shc.dts
+++ b/arch/arm/boot/dts/ti/omap/am335x-shc.dts
@@ -241,10 +241,6 @@ &mmc3 {
 	status = "okay";
 };
 
-&rtc {
-	ti,no-init;
-};
-
 &sham {
 	status = "okay";
 };

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 3/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema
  2026-07-24 21:01 [PATCH v2 0/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema and cleanups Bhargav Joshi
  2026-07-24 21:01 ` [PATCH v2 1/3] ARM: dts: ti: am57xx-idk-common: Remove unused ext-clk-src property Bhargav Joshi
  2026-07-24 21:01 ` [PATCH v2 2/3] ARM: dts: ti: am335x-shc: Remove unused ti,no-init property Bhargav Joshi
@ 2026-07-24 21:01 ` Bhargav Joshi
  2026-08-03 21:27   ` Rob Herring
  2 siblings, 1 reply; 5+ messages in thread
From: Bhargav Joshi @ 2026-07-24 21:01 UTC (permalink / raw)
  To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
	Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alexandre Belloni, Keerthy, Afzal Mohammed
  Cc: linux-omap, devicetree, linux-kernel, linux-rtc, goledhruva,
	m-chawdhry, daniel.baluta, simona.toaca, j.bhargav.u

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@gmail.com>
---
 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@ti.com>
+  - Afzal Mohammed <afzal@ti.com>
+
+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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 3/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema
  2026-07-24 21:01 ` [PATCH v2 3/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema Bhargav Joshi
@ 2026-08-03 21:27   ` Rob Herring
  0 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2026-08-03 21:27 UTC (permalink / raw)
  To: Bhargav Joshi
  Cc: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
	Tony Lindgren, Krzysztof Kozlowski, Conor Dooley,
	Alexandre Belloni, Keerthy, Afzal Mohammed, linux-omap,
	devicetree, linux-kernel, linux-rtc, goledhruva, m-chawdhry,
	daniel.baluta, simona.toaca

On Sat, Jul 25, 2026 at 02:31:58AM +0530, Bhargav Joshi wrote:
> 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@gmail.com>
> ---
>  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/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@ti.com>
> +  - Afzal Mohammed <afzal@ti.com>
> +
> +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

am3352 is either compatible with da830 or it isn't. You can't have both. 
I would drop this entry. You don't have the fix the .dts (or can do that 
separately).

> +      - 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

This can be just:

minItems: 1
items:
  - enum [ ext-clk, int-clk ]
  - 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

pattern: '^ext_wakeup[0-3]$'


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-08-03 21:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-24 21:01 [PATCH v2 0/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema and cleanups Bhargav Joshi
2026-07-24 21:01 ` [PATCH v2 1/3] ARM: dts: ti: am57xx-idk-common: Remove unused ext-clk-src property Bhargav Joshi
2026-07-24 21:01 ` [PATCH v2 2/3] ARM: dts: ti: am335x-shc: Remove unused ti,no-init property Bhargav Joshi
2026-07-24 21:01 ` [PATCH v2 3/3] dt-bindings: rtc: ti,omap-rtc: Convert to DT schema Bhargav Joshi
2026-08-03 21:27   ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox