From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin GAIGNARD Subject: Re: [PATCH 4/4] dt-bindings: mfd: Convert stm32 timers bindings to json-schema Date: Wed, 6 Nov 2019 19:57:06 +0000 Message-ID: <41c43d09-9371-8b23-a3dd-e43f5df5c5bc@st.com> References: <20191031123040.26316-1-benjamin.gaignard@st.com> <20191031123040.26316-5-benjamin.gaignard@st.com> <20191106041518.GC5294@bogus> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20191106041518.GC5294@bogus> Content-Language: en-US Content-ID: <1FEAA25580E4C446BBC3EF2B74C20D0E@st.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Rob Herring Cc: "mark.rutland@arm.com" , "devicetree@vger.kernel.org" , "lars@metafoo.de" , Alexandre TORGUE , "linux-pwm@vger.kernel.org" , "linux-iio@vger.kernel.org" , "u.kleine-koenig@pengutronix.de" , "linux-kernel@vger.kernel.org" , "thierry.reding@gmail.com" , "linux-arm-kernel@lists.infradead.org" , "pmeerw@pmeerw.net" , "knaack.h@gmx.de" , Fabrice GASNIER , "lee.jones@linaro.org" , "linux-stm32@st-md-mailman.stormreply.com" , "jic23@kernel.org" List-Id: linux-pwm@vger.kernel.org On 11/6/19 5:15 AM, Rob Herring wrote: > On Thu, Oct 31, 2019 at 01:30:40PM +0100, Benjamin Gaignard wrote: >> Convert the STM32 timers binding to DT schema format using json-schema >> >> Signed-off-by: Benjamin Gaignard >> --- >> .../devicetree/bindings/mfd/st,stm32-timers.yaml | 91 ++++++++++++++++++++++ >> .../devicetree/bindings/mfd/stm32-timers.txt | 73 ----------------- >> 2 files changed, 91 insertions(+), 73 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml >> delete mode 100644 Documentation/devicetree/bindings/mfd/stm32-timers.txt >> >> diff --git a/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml >> new file mode 100644 >> index 000000000000..3f0a65fb2bc0 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml >> @@ -0,0 +1,91 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/mfd/st,stm32-timers.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: STMicroelectronics STM32 Timers bindings >> + >> +description: | >> + This hardware block provides 3 types of timer along with PWM functionality: \ > Don't need the \ ok > >> + - advanced-control timers consist of a 16-bit auto-reload counter driven by a programmable \ >> + prescaler, break input feature, PWM outputs and complementary PWM ouputs channels. \ >> + - general-purpose timers consist of a 16-bit or 32-bit auto-reload counter driven by a \ >> + programmable prescaler and PWM outputs.\ >> + - basic timers consist of a 16-bit auto-reload counter driven by a programmable prescaler. >> + >> +maintainers: >> + - Benjamin Gaignard >> + - Fabrice Gasnier >> + >> +allOf: >> + - $ref: "../pwm/st,stm32-pwm.yaml#" >> + - $ref: "../iio/timer/st,stm32-timer-trigger.yaml#" >> + - $ref: "../counter/st,stm32-timer-cnt.yaml#" > This works, but I prefer the child node names be listed under properties > here with a ref: > > counter: > $ref: "../counter/st,stm32-timer-cnt.yaml#" If I wrote everything in one file I guess what won't be needed anymore > >> + >> +properties: >> + compatible: >> + const: st,stm32-timers >> + >> + reg: >> + maxItems: 1 >> + >> + clocks: >> + maxItems: 1 >> + >> + clock-names: >> + items: >> + - const: int >> + >> + reset: >> + maxItems: 1 >> + >> + dmas: true > How many? from 0 up to 8, but I don't know the syntax for that. minItems = 0 isn't accepted. Any hints for me ? > >> + >> + dma-names: true > What are the names? it could be ch1 ... ch8, "trig" or "up" in any order. Again I haven't be able to find a syntax that allow to list the names and use them in any orders. Benjamin > >> + >> + "#address-cells": >> + const: 1 >> + >> + "#size-cells": >> + const: 0 >> + >> +required: >> + - "#address-cells" >> + - "#size-cells" >> + - compatible >> + - reg >> + - clocks >> + - clock-names >> + >> +examples: >> + - | >> + #include >> + timers2: timer@40000000 { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + compatible = "st,stm32-timers"; >> + reg = <0x40000000 0x400>; >> + clocks = <&rcc TIM2_K>; >> + clock-names = "int"; >> + dmas = <&dmamux1 18 0x400 0x1>, >> + <&dmamux1 19 0x400 0x1>, >> + <&dmamux1 20 0x400 0x1>, >> + <&dmamux1 21 0x400 0x1>, >> + <&dmamux1 22 0x400 0x1>; >> + dma-names = "ch1", "ch2", "ch3", "ch4", "up"; >> + pwm { >> + compatible = "st,stm32-pwm"; >> + #pwm-cells = <3>; >> + st,breakinput = <0 1 5>; >> + }; >> + timer@0 { >> + compatible = "st,stm32-timer-trigger"; >> + reg = <0>; >> + }; >> + counter { >> + compatible = "st,stm32-timer-counter"; >> + }; >> + }; >> + >> +...