[v4,1/1] dt-bindings: pwm: ti,pwm-omap-dmtimer: Update binding for yaml
Commit Message
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
Comments
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
* 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
deleted file mode 100644
@@ -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>;
- };
new file mode 100644
@@ -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>;
+ };