The RZ/G2L multi-function timer pulse unit 3 (MTU3a) is embedded in the Renesas RZ/G2L family SoC's. It consists of eight 16-bit timer channels and one 32-bit timer channel. It supports the following functions - Counter - Timer - PWM This patch series aim to add MFD and pwm driver for MTU3a. The 8/16/32 bit registers are mixed in each channel. The HW specifications of the IP is described in patch#1. Current patch set is tested for PWM mode1 on MTU3 channel. RFC->v1: * replaced devm_reset_control_get->devm_reset_control_get_exclusive * Dropped 'bindings' from the binding title * Updated the binding example * Added additionalProperties: false for counter bindings * Squashed all the binding patches * Modelled as a single counter device providing both 16-bit and 32-bit phase counting modes * Modelled as a single pwm device for supporting different pwm modes. * Moved counter and pwm bindings to respective subsystems. Biju Das (3): dt-bindings: mfd: Document RZ/G2L MTU3a bindings mfd: Add RZ/G2L MTU3 driver pwm: Add support for RZ/G2L MTU3 PWM .../counter/renesas,rz-mtu3-counter.yaml | 30 ++ .../bindings/mfd/renesas,rz-mtu3.yaml | 290 +++++++++++ .../bindings/pwm/renesas,rz-mtu3-pwm.yaml | 50 ++ drivers/mfd/Kconfig | 9 + drivers/mfd/Makefile | 1 + drivers/mfd/rz-mtu3.c | 395 +++++++++++++++ drivers/pwm/Kconfig | 11 + drivers/pwm/Makefile | 1 + drivers/pwm/pwm-rz-mtu3.c | 462 ++++++++++++++++++ include/linux/mfd/rz-mtu3.h | 160 ++++++ 10 files changed, 1409 insertions(+) create mode 100644 Documentation/devicetree/bindings/counter/renesas,rz-mtu3-counter.yaml create mode 100644 Documentation/devicetree/bindings/mfd/renesas,rz-mtu3.yaml create mode 100644 Documentation/devicetree/bindings/pwm/renesas,rz-mtu3-pwm.yaml create mode 100644 drivers/mfd/rz-mtu3.c create mode 100644 drivers/pwm/pwm-rz-mtu3.c create mode 100644 include/linux/mfd/rz-mtu3.h -- 2.25.1