]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
pwm: Add support for RZ/G2L GPT
authorBiju Das <biju.das.jz@bp.renesas.com>
Wed, 26 Feb 2025 14:45:22 +0000 (14:45 +0000)
committerUwe Kleine-König <ukleinek@kernel.org>
Thu, 17 Apr 2025 09:52:13 +0000 (11:52 +0200)
commit061f087f5d0bcae9f43ae0101121fcaa999d2809
treee92fca658175d745a5f9fcda2b0e83aacaaf0f0c
parent9549d22684f19919f23576977830eca3d7b0cd90
pwm: Add support for RZ/G2L GPT

RZ/G2L General PWM Timer (GPT) composed of 8 channels with 32-bit timer
(GPT32E). It supports the following functions
 * 32 bits x 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

Add basic pwm support for RZ/G2L GPT driver by creating separate
logical channels for each IOs.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250226144531.176819-4-biju.das.jz@bp.renesas.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
drivers/pwm/Kconfig
drivers/pwm/Makefile
drivers/pwm/pwm-rzg2l-gpt.c [new file with mode: 0644]