Add support for RZ/G2L MTU3 PWM driver. The IP supports following PWM modes 1) PWM mode 1 2) PWM mode 2 3) Reset-synchronized PWM mode 4) Complementary PWM mode 1 (transfer at crest) 5) Complementary PWM mode 2 (transfer at trough) 6) Complementary PWM mode 3 (transfer at crest and trough) This patch adds basic pwm mode 1 support for RZ/G2L MTU3 driver by creating separate logical channels for each IOs. Current patch set is tested with PWM mode 1 on the MTU3 channel that has 2 IO's. Please share your valuable comments on this patch series. This RFC patch series depend upon MFD driver[1] [1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220926132114.60396-4-biju.das.jz@xxxxxxxxxxxxxx/ Biju Das (7): dt-bindings: mfd: Document RZ/G2L MTU3a bindings dt-bindings: mfd: rzg2l-mtu3: Document RZ/G2L MTU3 counter dt-bindings: mfd: rz-mtu3: Document RZ/G2L MTU3 PWM pwm: Add support for RZ/G2L MTU3 PWM arm64: dts: renesas: r9a07g044: Add MTU3 PWM support arm64: dts: renesas: r9a07g054: Add MTU3 PWM support arm64: dts: renesas: rzg2l-smarc: [HACK] Enable MTU3 PWM channel 3 for PWM mode 1 testing .../bindings/mfd/renesas,rzg2l-mtu3.yaml | 360 ++++++++++++++++ arch/arm64/boot/dts/renesas/r9a07g044.dtsi | 42 ++ arch/arm64/boot/dts/renesas/r9a07g054.dtsi | 42 ++ .../boot/dts/renesas/rz-smarc-common.dtsi | 2 + .../dts/renesas/rzg2l-smarc-pinfunction.dtsi | 11 + arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi | 5 + arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi | 20 + drivers/pwm/Kconfig | 11 + drivers/pwm/Makefile | 1 + drivers/pwm/pwm-rz-mtu3.c | 384 ++++++++++++++++++ 10 files changed, 878 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/renesas,rzg2l-mtu3.yaml create mode 100644 drivers/pwm/pwm-rz-mtu3.c -- 2.25.1