RZ/G2L General PWM Timer (GPT) composed of 8 channels with 32-bit timer (GPT32E). It supports the following functions * 32 bits × 8 channels * Up-counting or down-counting (saw waves) or up/down-counting (triangle waves) for each counter. * Clock sources independently selectable for each channel * Two I/O pins per channel * Two output compare/input capture registers per channel * For the two output compare/input capture registers of each channel, four registers are provided as buffer registers and are capable of operating as comparison registers when buffering is not in use. * In output compare operation, buffer switching can be at crests or troughs, enabling the generation of laterally asymmetric PWM waveforms. * Registers for setting up frame cycles in each channel (with capability for generating interrupts at overflow or underflow) * Generation of dead times in PWM operation * Synchronous starting, stopping and clearing counters for arbitrary channels * Starting, stopping, clearing and up/down counters in response to input level comparison * Starting, clearing, stopping and up/down counters in response to a maximum of four external triggers * Output pin disable function by dead time error and detected short-circuits between output pins * A/D converter start triggers can be generated (GPT32E0 to GPT32E3) * Enables the noise filter for input capture and external trigger operation This patch series aims to add basic pwm support for RZ/G2L GPT driver by creating separate logical channels for each IOs. Please share your valuable suggestions. Biju Das (5): dt-bindings: pwm: Add RZ/G2L GPT binding pwm: Add support for RZ/G2L GPT arm64: dts: renesas: r9a07g044: Add GPT support arm64: dts: renesas: r9a07g054: Add GPT support [HACK] PWM testing .../bindings/pwm/renesas,rzg2l-gpt.yaml | 104 +++++ arch/arm64/boot/dts/renesas/r9a07g044.dtsi | 192 ++++++++++ arch/arm64/boot/dts/renesas/r9a07g054.dtsi | 192 ++++++++++ .../dts/renesas/rzg2l-smarc-pinfunction.dtsi | 5 + arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi | 14 + arch/arm64/configs/defconfig | 1 + arch/arm64/configs/renesas_defconfig | 1 + drivers/pwm/Kconfig | 11 + drivers/pwm/Makefile | 1 + drivers/pwm/pwm-rzg2l-gpt.c | 355 ++++++++++++++++++ 10 files changed, 876 insertions(+) create mode 100644 Documentation/devicetree/bindings/pwm/renesas,rzg2l-gpt.yaml create mode 100644 drivers/pwm/pwm-rzg2l-gpt.c -- 2.25.1