Commit b88091f5 authored by Benjamin Gaignard's avatar Benjamin Gaignard Committed by Rob Herring
Browse files

dt-bindings: mfd: Convert stm32 low power timers bindings to json-schema



Convert the STM32 low power timers binding to DT schema format using json-schema

Signed-off-by: default avatarBenjamin Gaignard <benjamin.gaignard@st.com>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent b9da2fcc
Loading
Loading
Loading
Loading
+0 −29
Original line number Diff line number Diff line
STMicroelectronics STM32 Low-Power Timer quadrature encoder and counter

STM32 Low-Power Timer provides several counter modes. It can be used as:
- quadrature encoder to detect angular position and direction of rotary
  elements, from IN1 and IN2 input signals.
- simple counter from IN1 input signal.

Must be a sub-node of an STM32 Low-Power Timer device tree node.
See ../mfd/stm32-lptimer.txt for details about the parent node.

Required properties:
- compatible:		Must be "st,stm32-lptimer-counter".
- pinctrl-names: 	Set to "default". An additional "sleep" state can be
			defined to set pins in sleep state.
- pinctrl-n: 		List of phandles pointing to pin configuration nodes,
			to set IN1/IN2 pins in mode of operation for Low-Power
			Timer input on external pin.

Example:
	timer@40002400 {
		compatible = "st,stm32-lptimer";
		...
		counter {
			compatible = "st,stm32-lptimer-counter";
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&lptim1_in_pins>;
			pinctrl-1 = <&lptim1_sleep_in_pins>;
		};
	};
+0 −23
Original line number Diff line number Diff line
STMicroelectronics STM32 Low-Power Timer Trigger

STM32 Low-Power Timer provides trigger source (LPTIM output) that can be used
by STM32 internal ADC and/or DAC.

Must be a sub-node of an STM32 Low-Power Timer device tree node.
See ../mfd/stm32-lptimer.txt for details about the parent node.

Required properties:
- compatible:		Must be "st,stm32-lptimer-trigger".
- reg:			Identify trigger hardware block. Must be 0, 1 or 2
			respectively for lptimer1, lptimer2 or lptimer3
			trigger output.

Example:
	timer@40002400 {
		compatible = "st,stm32-lptimer";
		...
		trigger@0 {
			compatible = "st,stm32-lptimer-trigger";
			reg = <0>;
		};
	};
+120 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/st,stm32-lptimer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics STM32 Low-Power Timers bindings

description: |
  The STM32 Low-Power Timer (LPTIM) is a 16-bit timer that provides several
  functions
   - PWM output (with programmable prescaler, configurable polarity)
   - Trigger source for STM32 ADC/DAC (LPTIM_OUT)
   - Several counter modes:
     - quadrature encoder to detect angular position and direction of rotary
       elements, from IN1 and IN2 input signals.
     - simple counter from IN1 input signal.

maintainers:
  - Fabrice Gasnier <fabrice.gasnier@st.com>

properties:
  compatible:
    const: st,stm32-lptimer

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: mux

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  pwm:
    type: object

    properties:
      compatible:
        const: st,stm32-pwm-lp

      "#pwm-cells":
        const: 3

    required:
      - "#pwm-cells"
      - compatible

patternProperties:
  "^trigger@[0-9]+$":
    type: object

    properties:
      compatible:
        const: st,stm32-lptimer-trigger

      reg:
        description: Identify trigger hardware block.
        items:
         minimum: 0
         maximum: 2

    required:
      - compatible
      - reg

  counter:
    type: object

    properties:
      compatible:
        const: st,stm32-lptimer-counter

    required:
      - compatible

required:
  - "#address-cells"
  - "#size-cells"
  - compatible
  - reg
  - clocks
  - clock-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/stm32mp1-clks.h>
    timer@40002400 {
      compatible = "st,stm32-lptimer";
      reg = <0x40002400 0x400>;
      clocks = <&timer_clk>;
      clock-names = "mux";
      #address-cells = <1>;
      #size-cells = <0>;

      pwm {
        compatible = "st,stm32-pwm-lp";
        #pwm-cells = <3>;
      };

      trigger@0 {
        compatible = "st,stm32-lptimer-trigger";
        reg = <0>;
      };

      counter {
        compatible = "st,stm32-lptimer-counter";
      };
    };

...
+0 −48
Original line number Diff line number Diff line
STMicroelectronics STM32 Low-Power Timer

The STM32 Low-Power Timer (LPTIM) is a 16-bit timer that provides several
functions:
- PWM output (with programmable prescaler, configurable polarity)
- Quadrature encoder, counter
- Trigger source for STM32 ADC/DAC (LPTIM_OUT)

Required properties:
- compatible:		Must be "st,stm32-lptimer".
- reg:			Offset and length of the device's register set.
- clocks:		Phandle to the clock used by the LP Timer module.
- clock-names:		Must be "mux".
- #address-cells:	Should be '<1>'.
- #size-cells:		Should be '<0>'.

Optional subnodes:
- pwm:			See ../pwm/pwm-stm32-lp.txt
- counter:		See ../counter/stm32-lptimer-cnt.txt
- trigger:		See ../iio/timer/stm32-lptimer-trigger.txt

Example:

	timer@40002400 {
		compatible = "st,stm32-lptimer";
		reg = <0x40002400 0x400>;
		clocks = <&timer_clk>;
		clock-names = "mux";
		#address-cells = <1>;
		#size-cells = <0>;

		pwm {
			compatible = "st,stm32-pwm-lp";
			pinctrl-names = "default";
			pinctrl-0 = <&lppwm1_pins>;
		};

		trigger@0 {
			compatible = "st,stm32-lptimer-trigger";
			reg = <0>;
		};

		counter {
			compatible = "st,stm32-lptimer-counter";
			pinctrl-names = "default";
			pinctrl-0 = <&lptim1_in_pins>;
		};
	};
+0 −30
Original line number Diff line number Diff line
STMicroelectronics STM32 Low-Power Timer PWM

STM32 Low-Power Timer provides single channel PWM.

Must be a sub-node of an STM32 Low-Power Timer device tree node.
See ../mfd/stm32-lptimer.txt for details about the parent node.

Required parameters:
- compatible:		Must be "st,stm32-pwm-lp".
- #pwm-cells:		Should be set to 3. This PWM chip uses the default 3 cells
			bindings defined in pwm.yaml.

Optional properties:
- pinctrl-names: 	Set to "default". An additional "sleep" state can be
			defined to set pins in sleep state when in low power.
- pinctrl-n: 		Phandle(s) pointing to pin configuration node for PWM,
			respectively for "default" and "sleep" states.

Example:
	timer@40002400 {
		compatible = "st,stm32-lptimer";
		...
		pwm {
			compatible = "st,stm32-pwm-lp";
			#pwm-cells = <3>;
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&lppwm1_pins>;
			pinctrl-1 = <&lppwm1_sleep_pins>;
		};
	};