1/*
2 * SPDX-License-Identifier: Apache-2.0
3 *
4 * Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
5 */
6
7#include <zephyr/dt-bindings/pwm/pwm.h>
8#include <zephyr/dt-bindings/gpio/gpio.h>
9#include <zephyr/dt-bindings/gpio/espressif-esp32-gpio.h>
10
11/ {
12	zephyr,user {
13		/* GPIO input pins order must match PWM pinctrl config */
14		gpios = <&gpio0 2 ESP32_GPIO_PIN_OUT_EN>,
15			<&gpio0 3 ESP32_GPIO_PIN_OUT_EN>,
16			<&gpio0 4 ESP32_GPIO_PIN_OUT_EN>,
17			<&gpio0 5 ESP32_GPIO_PIN_OUT_EN>;
18
19		pwms = <&ledc0 0 160000 PWM_POLARITY_NORMAL>,
20			<&ledc0 5 80000 PWM_POLARITY_INVERTED>,
21			<&ledc0 9 1000000 PWM_POLARITY_NORMAL>,
22			<&ledc0 10 1000000 PWM_POLARITY_INVERTED>;
23	};
24};
25
26&pinctrl {
27	ledc0_default: ledc0_default {
28		group1 {
29			pinmux = <LEDC_CH0_GPIO2>,
30				<LEDC_CH5_GPIO3>,
31				<LEDC_CH9_GPIO4>,
32				<LEDC_CH10_GPIO5>;
33			input-enable;
34		};
35	};
36};
37
38&ledc0 {
39	pinctrl-0 = <&ledc0_default>;
40	pinctrl-names = "default";
41	status = "okay";
42	#address-cells = <1>;
43	#size-cells = <0>;
44
45	channel0@0 {
46		reg = <0x0>;
47		timer = <0>;
48	};
49
50	channel5@5 {
51		reg = <0x5>;
52		timer = <1>;
53	};
54
55	/* HS channel */
56	channel9@9 {
57		reg = <0x9>;
58		timer = <0>;
59	};
60
61	/* share same timer with ch9 */
62	channel10@a {
63		reg = <0xa>;
64		timer = <0>;
65	};
66};
67