linux-loongson/Documentation/devicetree/bindings/pwm/nxp,mc33xs2410.yaml
Dimitri Fedrau 8b872a912a dt-bindings: pwm: add support for MC33XS2410
Adding documentation for NXPs MC33XS2410 high side switch.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
Link: https://lore.kernel.org/r/20250407-mc33xs2410-v9-1-57adcb56a6e4@liebherr.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2025-05-02 18:39:21 +02:00

119 lines
2.4 KiB
YAML

# 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: High-side switch MC33XS2410
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
pwm-names:
items:
- const: di0
- const: di1
- const: di2
- const: di3
pwms:
description:
Direct inputs(di0-3) are used to directly turn-on or turn-off the
outputs.
maxItems: 4
interrupts:
maxItems: 1
clocks:
description:
The external clock can be used if the internal clock doesn't meet
timing requirements over temperature and voltage operating range.
maxItems: 1
vdd-supply:
description:
Logic supply voltage
vspi-supply:
description:
Supply voltage for SPI
vpwr-supply:
description:
Power switch supply
required:
- compatible
- reg
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.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>;
pwm-names = "di0", "di1", "di2", "di3";
pwms = <&pwm0 0 1000000>,
<&pwm1 0 1000000>,
<&pwm2 0 1000000>,
<&pwm3 0 1000000>;
interrupt-parent = <&gpio0>;
interrupts = <31 IRQ_TYPE_LEVEL_LOW>;
clocks = <&clk_ext_fixed>;
vdd-supply = <&reg_3v3>;
vspi-supply = <&reg_3v3>;
vpwr-supply = <&reg_24v0>;
};
};