devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 1/1] dt-bindings: pwm: ti,pwm-omap-dmtimer: Update binding for yaml
@ 2023-11-14  8:27 Tony Lindgren
  2023-11-14 10:36 ` Uwe Kleine-König
  0 siblings, 1 reply; 3+ messages in thread
From: Tony Lindgren @ 2023-11-14  8:27 UTC (permalink / raw)
  To: Thierry Reding, Uwe Kleine-König, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-pwm, Nishanth Menon, Vignesh Raghavendra,
	Krzysztof Kozlowski, devicetree, linux-kernel

Update for yaml and remove the old txt binding.

As we can replace most of the custom timer API with standard Linux
frameworks such as clock framework, let's tag the properties for
ti,prescaler and ti,clock-source as deprecated.

Cc: linux-pwm@vger.kernel.org
Cc: Nishanth Menon <nm@ti.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---

Changes since v3:

- No changes, reposted without patch 1/2. The pwm.yaml related issues got
  fixed by commit 05b743db9d8c ("dt-bindings: pwm: restrict node name
  suffixes")

Changes since v2:

- Reviewed-by collected from Krzysztof, no changes

Changes since v1:

- Fix issues noticed by Krzysztof

---
 .../bindings/pwm/pwm-omap-dmtimer.txt         | 22 -------
 .../bindings/pwm/ti,omap-dmtimer-pwm.yaml     | 59 +++++++++++++++++++
 2 files changed, 59 insertions(+), 22 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt
 create mode 100644 Documentation/devicetree/bindings/pwm/ti,omap-dmtimer-pwm.yaml

diff --git a/Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt b/Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt
deleted file mode 100644
--- a/Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-* OMAP PWM for dual-mode timers
-
-Required properties:
-- compatible: Shall contain "ti,omap-dmtimer-pwm".
-- ti,timers: phandle to PWM capable OMAP timer. See timer/ti,timer-dm.yaml for info
-  about these timers.
-- #pwm-cells: Should be 3. See pwm.yaml in this directory for a description of
-  the cells format.
-
-Optional properties:
-- ti,prescaler: Should be a value between 0 and 7, see the timers datasheet
-- ti,clock-source: Set dmtimer parent clock, values between 0 and 2:
-  - 0x00 - high-frequency system clock (timer_sys_ck)
-  - 0x01 - 32-kHz always-on clock (timer_32k_ck)
-  - 0x02 - external clock (timer_ext_ck, OMAP2 only)
-
-Example:
-	pwm9: dmtimer-pwm@9 {
-		compatible = "ti,omap-dmtimer-pwm";
-		ti,timers = <&timer9>;
-		#pwm-cells = <3>;
-	};
diff --git a/Documentation/devicetree/bindings/pwm/ti,omap-dmtimer-pwm.yaml b/Documentation/devicetree/bindings/pwm/ti,omap-dmtimer-pwm.yaml
new file mode 100644
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/ti,omap-dmtimer-pwm.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/ti,omap-dmtimer-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI dual mode timer PWM controller
+
+maintainers:
+  - Tony Lindgren <tony@atomide.com>
+
+description:
+  TI dual mode timer instances have an IO pin for PWM capability
+
+allOf:
+  - $ref: pwm.yaml#
+
+properties:
+  compatible:
+    const: ti,omap-dmtimer-pwm
+
+  "#pwm-cells":
+    const: 3
+
+  ti,timers:
+    description: Timer instance phandle for the PWM
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  ti,prescaler:
+    description: |
+      Legacy clock prescaler for timer. The timer counter is prescaled
+      with 2^n where n is the prescaler.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
+    deprecated: true
+
+  ti,clock-source:
+    description: |
+      Legacy clock for timer, please use assigned-clocks instead.
+      0x00 - high-frequency system clock (timer_sys_ck)
+      0x01 - 32-kHz always-on clock (timer_32k_ck)
+      0x02 - external clock (timer_ext_ck, OMAP2 only)
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [ 0, 1, 2 ]
+    deprecated: true
+
+required:
+  - compatible
+  - ti,timers
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    pwm9: pwm {
+      compatible = "ti,omap-dmtimer-pwm";
+      ti,timers = <&timer9>;
+      #pwm-cells = <3>;
+    };
-- 
2.42.1

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

* Re: [PATCH v4 1/1] dt-bindings: pwm: ti,pwm-omap-dmtimer: Update binding for yaml
  2023-11-14  8:27 [PATCH v4 1/1] dt-bindings: pwm: ti,pwm-omap-dmtimer: Update binding for yaml Tony Lindgren
@ 2023-11-14 10:36 ` Uwe Kleine-König
  2023-11-14 11:34   ` Tony Lindgren
  0 siblings, 1 reply; 3+ messages in thread
From: Uwe Kleine-König @ 2023-11-14 10:36 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: Thierry Reding, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-pwm, Nishanth Menon, Vignesh Raghavendra,
	Krzysztof Kozlowski, devicetree, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2040 bytes --]

Hello,

On Tue, Nov 14, 2023 at 10:27:06AM +0200, Tony Lindgren wrote:
> +  ti,timers:
> +    description: Timer instance phandle for the PWM
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +
> +  ti,prescaler:
> +    description: |
> +      Legacy clock prescaler for timer. The timer counter is prescaled
> +      with 2^n where n is the prescaler.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
> +    deprecated: true
> +
> +  ti,clock-source:
> +    description: |
> +      Legacy clock for timer, please use assigned-clocks instead.
> +      0x00 - high-frequency system clock (timer_sys_ck)
> +      0x01 - 32-kHz always-on clock (timer_32k_ck)
> +      0x02 - external clock (timer_ext_ck, OMAP2 only)
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum: [ 0, 1, 2 ]
> +    deprecated: true

Someone could collect some bonus points by converting these:

	$ git grep ti,clock-source arch/arm/boot
	arch/arm/boot/dts/ti/omap/am335x-guardian.dts:          ti,clock-source = <0x01>;
	arch/arm/boot/dts/ti/omap/am3517-evm.dts:               ti,clock-source = <0x01>;
	arch/arm/boot/dts/ti/omap/logicpd-torpedo-baseboard.dtsi:               ti,clock-source = <0x01>;
	arch/arm/boot/dts/ti/omap/motorola-mapphone-common.dtsi:                ti,clock-source = <0x01>;
	arch/arm/boot/dts/ti/omap/motorola-mapphone-common.dtsi:                ti,clock-source = <0x01>;
	arch/arm/boot/dts/ti/omap/omap3-gta04.dtsi:             ti,clock-source = <0x01>;
	arch/arm/boot/dts/ti/omap/omap3-n900.dts:               ti,clock-source = <0x00>; /* timer_sys_ck */

(I verified, this are all about this binding.)

otherwise LGTM:

Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Should this go via the pwm tree or via some arm or omap or dt tree?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [PATCH v4 1/1] dt-bindings: pwm: ti,pwm-omap-dmtimer: Update binding for yaml
  2023-11-14 10:36 ` Uwe Kleine-König
@ 2023-11-14 11:34   ` Tony Lindgren
  0 siblings, 0 replies; 3+ messages in thread
From: Tony Lindgren @ 2023-11-14 11:34 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Thierry Reding, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-pwm, Nishanth Menon, Vignesh Raghavendra,
	Krzysztof Kozlowski, devicetree, linux-kernel

* Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [231114 10:36]:
> Hello,
> 
> On Tue, Nov 14, 2023 at 10:27:06AM +0200, Tony Lindgren wrote:
> > +  ti,timers:
> > +    description: Timer instance phandle for the PWM
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +
> > +  ti,prescaler:
> > +    description: |
> > +      Legacy clock prescaler for timer. The timer counter is prescaled
> > +      with 2^n where n is the prescaler.
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
> > +    deprecated: true
> > +
> > +  ti,clock-source:
> > +    description: |
> > +      Legacy clock for timer, please use assigned-clocks instead.
> > +      0x00 - high-frequency system clock (timer_sys_ck)
> > +      0x01 - 32-kHz always-on clock (timer_32k_ck)
> > +      0x02 - external clock (timer_ext_ck, OMAP2 only)
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    enum: [ 0, 1, 2 ]
> > +    deprecated: true
> 
> Someone could collect some bonus points by converting these:
> 
> 	$ git grep ti,clock-source arch/arm/boot
> 	arch/arm/boot/dts/ti/omap/am335x-guardian.dts:          ti,clock-source = <0x01>;
> 	arch/arm/boot/dts/ti/omap/am3517-evm.dts:               ti,clock-source = <0x01>;
> 	arch/arm/boot/dts/ti/omap/logicpd-torpedo-baseboard.dtsi:               ti,clock-source = <0x01>;
> 	arch/arm/boot/dts/ti/omap/motorola-mapphone-common.dtsi:                ti,clock-source = <0x01>;
> 	arch/arm/boot/dts/ti/omap/motorola-mapphone-common.dtsi:                ti,clock-source = <0x01>;
> 	arch/arm/boot/dts/ti/omap/omap3-gta04.dtsi:             ti,clock-source = <0x01>;
> 	arch/arm/boot/dts/ti/omap/omap3-n900.dts:               ti,clock-source = <0x00>; /* timer_sys_ck */
> 
> (I verified, this are all about this binding.)

Agreed, we should update all those.

> otherwise LGTM:
> 
> Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> 
> Should this go via the pwm tree or via some arm or omap or dt tree?

Please take this via the pwm tree, there are no dependencies.

Regards,

Tony

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

end of thread, other threads:[~2023-11-14 11:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-14  8:27 [PATCH v4 1/1] dt-bindings: pwm: ti,pwm-omap-dmtimer: Update binding for yaml Tony Lindgren
2023-11-14 10:36 ` Uwe Kleine-König
2023-11-14 11:34   ` Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).