| 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 v6 0/4] StarFive's Pulse Width Modulation driver support |
| Date: |
| Fri, 20 Oct 2023 18:37:37 +0800 |
| Message-ID: |
| <20231020103741.557735-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 v5->v6:
- Rebased to v6.6rc5.
- Changed driver into a generic OpenCores driver.
- Modified dt-bindings description into OpenCores.
- Uesd the StarFive compatible string to parameterize.
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.
- Modified 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.6rc5.
William Qiu (4):
dt-bindings: pwm: Add OpenCores PWM module
pwm: opencores: 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/opencores,pwm-ocores.yaml | 53 +++++
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 | 11 +
drivers/pwm/Makefile | 1 +
drivers/pwm/pwm-ocores.c | 211 ++++++++++++++++++
9 files changed, 347 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pwm/opencores,pwm-ocores.yaml
create mode 100644 drivers/pwm/pwm-ocores.c
--
2.34.1