diff mbox series

[1/3] dt-bindings: pwm: add support for MC33XS2410

Message ID 20240228133236.748225-2-dima.fedrau@gmail.com
State Changes Requested
Headers show
Series pwm: add support for NXPs high-side switch MC33XS2410 | expand

Commit Message

Dimitri Fedrau Feb. 28, 2024, 1:32 p.m. UTC
Adding documentation for MC33XS2410 pwm driver.

Signed-off-by: Dimitri Fedrau <dima.fedrau@gmail.com>
---
 .../bindings/pwm/nxp,mc33xs2410.yaml          | 105 ++++++++++++++++++
 1 file changed, 105 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml

Comments

Krzysztof Kozlowski Feb. 28, 2024, 1:59 p.m. UTC | #1
On 28/02/2024 14:32, Dimitri Fedrau wrote:
> Adding documentation for MC33XS2410 pwm driver.

Driver as Linux driver? If so, please rephrase to describe hardware.

> 
> Signed-off-by: Dimitri Fedrau <dima.fedrau@gmail.com>
> ---
>  .../bindings/pwm/nxp,mc33xs2410.yaml          | 105 ++++++++++++++++++
>  1 file changed, 105 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml
> 
> diff --git a/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml b/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml
> new file mode 100644
> index 000000000000..bd387dbe69be
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml
> @@ -0,0 +1,105 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pwm/nxp,mc33xs2410.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MC33XS2410 PWM driver

Driver as Linux driver? If so, please rephrase to describe hardware.

> +
> +maintainers:
> +  - Dimitri Fedrau <dima.fedrau@gmail.com>
> +
> +allOf:
> +  - $ref: pwm.yaml#
> +  - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +properties:
> +  compatible:
> +    const: nxp,mc33xs2410
> +
> +  reg:
> +    maxItems: 1
> +
> +  spi-max-frequency:
> +    maximum: 10000000
> +
> +  spi-cpha: true
> +
> +  spi-cs-setup-delay-ns:
> +    minimum: 100
> +    default: 100
> +
> +  spi-cs-hold-delay-ns:
> +    minimum: 10
> +    default: 10
> +
> +  spi-cs-inactive-delay-ns:
> +    minimum: 300
> +    default: 300
> +
> +  reset-gpios:
> +    description:
> +      GPIO connected to the active low reset pin.
> +    maxItems: 1
> +
> +  "#pwm-cells":
> +    const: 3
> +
> +  pwms:
> +    description:
> +      Direct inputs(di0-3) are used to directly turn-on or turn-off the
> +      outputs. The external PWM clock can be used if the internal clock
> +      doesn't meet timing requirements.

pwm is input for pwm?

> +    maxItems: 5
> +
> +  pwm-names:
> +    items:
> +      - const: di0
> +      - const: di1
> +      - const: di2
> +      - const: di3
> +      - const: ext_clk

Aren't these clocks?

> +
> +  vdd-supply:
> +    description:
> +      Logic supply voltage
> +
> +  vspi-supply:
> +    description:
> +      Supply voltage for SPI
> +
> +  vpwr-supply:
> +    description:
> +      Power switch supply
> +
> +  interrupts:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false

Instead:
unevaluatedProperties: false

> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    spi {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +       pwm@0 {
> +           compatible = "nxp,mc33xs2410";
> +           reg = <0x0>;
> +           spi-max-frequency = <4000000>;
> +           spi-cpha;
> +           spi-cs-setup-delay-ns = <100>;
> +           spi-cs-hold-delay-ns = <10>;
> +           spi-cs-inactive-delay-ns = <300>;
> +           reset-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
> +           #pwm-cells = <3>;

Make example complete, so provide all properties, like interrupts, pwms
and whatever you have in the binding.

Best regards,
Krzysztof
Dimitri Fedrau Feb. 28, 2024, 3:41 p.m. UTC | #2
Am Wed, Feb 28, 2024 at 02:59:48PM +0100 schrieb Krzysztof Kozlowski:
> On 28/02/2024 14:32, Dimitri Fedrau wrote:
> > Adding documentation for MC33XS2410 pwm driver.
> 
> Driver as Linux driver? If so, please rephrase to describe hardware.
> 
Will fix it.
> > 
> > Signed-off-by: Dimitri Fedrau <dima.fedrau@gmail.com>
> > ---
> >  .../bindings/pwm/nxp,mc33xs2410.yaml          | 105 ++++++++++++++++++
> >  1 file changed, 105 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml b/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml
> > new file mode 100644
> > index 000000000000..bd387dbe69be
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml
> > @@ -0,0 +1,105 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/pwm/nxp,mc33xs2410.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: MC33XS2410 PWM driver
> 
> Driver as Linux driver? If so, please rephrase to describe hardware.
>
Will fix it.
> > +
> > +maintainers:
> > +  - Dimitri Fedrau <dima.fedrau@gmail.com>
> > +
> > +allOf:
> > +  - $ref: pwm.yaml#
> > +  - $ref: /schemas/spi/spi-peripheral-props.yaml#
> > +
> > +properties:
> > +  compatible:
> > +    const: nxp,mc33xs2410
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  spi-max-frequency:
> > +    maximum: 10000000
> > +
> > +  spi-cpha: true
> > +
> > +  spi-cs-setup-delay-ns:
> > +    minimum: 100
> > +    default: 100
> > +
> > +  spi-cs-hold-delay-ns:
> > +    minimum: 10
> > +    default: 10
> > +
> > +  spi-cs-inactive-delay-ns:
> > +    minimum: 300
> > +    default: 300
> > +
> > +  reset-gpios:
> > +    description:
> > +      GPIO connected to the active low reset pin.
> > +    maxItems: 1
> > +
> > +  "#pwm-cells":
> > +    const: 3
> > +
> > +  pwms:
> > +    description:
> > +      Direct inputs(di0-3) are used to directly turn-on or turn-off the
> > +      outputs. The external PWM clock can be used if the internal clock
> > +      doesn't meet timing requirements.
> 
> pwm is input for pwm?
> 
Yes.
> > +    maxItems: 5
> > +
> > +  pwm-names:
> > +    items:
> > +      - const: di0
> > +      - const: di1
> > +      - const: di2
> > +      - const: di3
> > +      - const: ext_clk
> 
> Aren't these clocks?
> 
di0-3 are PWM input signals which are translated to output voltage "vpwr".
ext_clk is described as PWM clock in the datasheet. Didn't used it, just
mentioned it here for completeness.
> > +
> > +  vdd-supply:
> > +    description:
> > +      Logic supply voltage
> > +
> > +  vspi-supply:
> > +    description:
> > +      Supply voltage for SPI
> > +
> > +  vpwr-supply:
> > +    description:
> > +      Power switch supply
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +additionalProperties: false
> 
> Instead:
> unevaluatedProperties: false
> 
Will fix it.
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/gpio/gpio.h>
> > +    spi {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +       pwm@0 {
> > +           compatible = "nxp,mc33xs2410";
> > +           reg = <0x0>;
> > +           spi-max-frequency = <4000000>;
> > +           spi-cpha;
> > +           spi-cs-setup-delay-ns = <100>;
> > +           spi-cs-hold-delay-ns = <10>;
> > +           spi-cs-inactive-delay-ns = <300>;
> > +           reset-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
> > +           #pwm-cells = <3>;
> 
> Make example complete, so provide all properties, like interrupts, pwms
> and whatever you have in the binding.
> 
I could make the binding complete, but I haven't used all properties nor
does the driver supports them.
> Best regards,
> Krzysztof
> 
Best regards,
Dimitri
Krzysztof Kozlowski Feb. 29, 2024, 7:45 a.m. UTC | #3
On 28/02/2024 16:41, Dimitri Fedrau wrote:
>>> +    maxItems: 5
>>> +
>>> +  pwm-names:
>>> +    items:
>>> +      - const: di0
>>> +      - const: di1
>>> +      - const: di2
>>> +      - const: di3
>>> +      - const: ext_clk
>>
>> Aren't these clocks?
>>
> di0-3 are PWM input signals which are translated to output voltage "vpwr".
> ext_clk is described as PWM clock in the datasheet. Didn't used it, just
> mentioned it here for completeness.

Then it looks more like a clock, so clocks: property.

>>> +
>>> +  vdd-supply:
>>> +    description:
>>> +      Logic supply voltage
>>> +


Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml b/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml
new file mode 100644
index 000000000000..bd387dbe69be
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml
@@ -0,0 +1,105 @@ 
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/nxp,mc33xs2410.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MC33XS2410 PWM driver
+
+maintainers:
+  - Dimitri Fedrau <dima.fedrau@gmail.com>
+
+allOf:
+  - $ref: pwm.yaml#
+  - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+properties:
+  compatible:
+    const: nxp,mc33xs2410
+
+  reg:
+    maxItems: 1
+
+  spi-max-frequency:
+    maximum: 10000000
+
+  spi-cpha: true
+
+  spi-cs-setup-delay-ns:
+    minimum: 100
+    default: 100
+
+  spi-cs-hold-delay-ns:
+    minimum: 10
+    default: 10
+
+  spi-cs-inactive-delay-ns:
+    minimum: 300
+    default: 300
+
+  reset-gpios:
+    description:
+      GPIO connected to the active low reset pin.
+    maxItems: 1
+
+  "#pwm-cells":
+    const: 3
+
+  pwms:
+    description:
+      Direct inputs(di0-3) are used to directly turn-on or turn-off the
+      outputs. The external PWM clock can be used if the internal clock
+      doesn't meet timing requirements.
+    maxItems: 5
+
+  pwm-names:
+    items:
+      - const: di0
+      - const: di1
+      - const: di2
+      - const: di3
+      - const: ext_clk
+
+  vdd-supply:
+    description:
+      Logic supply voltage
+
+  vspi-supply:
+    description:
+      Supply voltage for SPI
+
+  vpwr-supply:
+    description:
+      Power switch supply
+
+  interrupts:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    spi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+       pwm@0 {
+           compatible = "nxp,mc33xs2410";
+           reg = <0x0>;
+           spi-max-frequency = <4000000>;
+           spi-cpha;
+           spi-cs-setup-delay-ns = <100>;
+           spi-cs-hold-delay-ns = <10>;
+           spi-cs-inactive-delay-ns = <300>;
+           reset-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
+           #pwm-cells = <3>;
+           vdd-supply = <&reg_3v3>;
+           vspi-supply = <&reg_3v3>;
+           vpwr-supply = <&reg_24v0>;
+       };
+    };