StarFive's Pulse Width Modulation driver support
From: | William Qiu <william.qiu-AT-starfivetech.com> | |
To: | <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <linux-riscv-AT-lists.infradead.org>, <linux-pwm-AT-vger.kernel.org> | |
Subject: | [PATCH v5 0/4] StarFive's Pulse Width Modulation driver support | |
Date: | Fri, 22 Sep 2023 17:28:44 +0800 | |
Message-ID: | <20230922092848.72664-1-william.qiu@starfivetech.com> | |
Cc: | Emil Renner Berthing <kernel-AT-esmil.dk>, Rob Herring <robh+dt-AT-kernel.org>, Thierry Reding <thierry.reding-AT-gmail.com>, Philipp Zabel <p.zabel-AT-pengutronix.de>, Krzysztof Kozlowski <krzysztof.kozlowski+dt-AT-linaro.org>, Conor Dooley <conor+dt-AT-kernel.org>, Uwe Kleine-König <u.kleine-koenig-AT-pengutronix.de>, "Hal Feng" <hal.feng-AT-starfivetech.com>, Paul Walmsley <paul.walmsley-AT-sifive.com>, Palmer Dabbelt <palmer-AT-dabbelt.com>, Albert Ou <aou-AT-eecs.berkeley.edu>, William Qiu <william.qiu-AT-starfivetech.com> | |
Archive-link: | Article |
Hi, This patchset adds initial rudimentary support for the StarFive Pulse Width Modulation controller driver. And this driver will be used in StarFive's VisionFive 2 board.The first patch add Documentations for the device and Patch 2 adds device probe for the module. Changes v4->v5: - Rebased to v6.6rc2. - Updated macro definition indent. - Replaced the clock initializes the interface. - Fixed patch description. Changes v3->v4: - Rebased to v6.5rc7. - Sorted the header files in alphabetic order. - Changed iowrite32() to writel(). - Added a way to turn off. - Moified polarity inversion implementation. - Added 7100 support. - Added dts patches. - Used the various helpers in linux/math.h. - Corrected formatting problems. - Renamed dtbinding to 'starfive,jh7100-pwm.yaml'. - Dropped the redundant code. Changes v2->v3: - Fixed some formatting issues. Changes v1->v2: - Renamed the dt-binding 'pwm-starfive.yaml' to 'starfive,jh7110-pwm.yaml'. - Dropped the compatible's Items. - Dropped the unuse defines. - Modified the code to follow the Linux coding style. - Changed return value to dev_err_probe. - Dropped the unnecessary local variable. The patch series is based on v6.6rc2. William Qiu (4): dt-bindings: pwm: Add StarFive PWM module pwm: starfive: Add PWM driver support riscv: dts: starfive: jh7110: Add PWM node and pins configuration riscv: dts: starfive: jh7100: Add PWM node and pins configuration .../bindings/pwm/starfive,jh7100-pwm.yaml | 55 +++++ MAINTAINERS | 7 + .../boot/dts/starfive/jh7100-common.dtsi | 24 +++ arch/riscv/boot/dts/starfive/jh7100.dtsi | 9 + .../jh7110-starfive-visionfive-2.dtsi | 22 ++ arch/riscv/boot/dts/starfive/jh7110.dtsi | 9 + drivers/pwm/Kconfig | 9 + drivers/pwm/Makefile | 1 + drivers/pwm/pwm-starfive.c | 190 ++++++++++++++++++ 9 files changed, 326 insertions(+) create mode 100644 Documentation/devicetree/bindings/pwm/starfive,jh7100-pwm.yaml create mode 100644 drivers/pwm/pwm-starfive.c -- 2.34.1