| From: |
| Binbin Zhou <zhoubinbin-AT-loongson.cn> |
| To: |
| Binbin Zhou <zhoubb.aaron-AT-gmail.com>, Huacai Chen <chenhuacai-AT-loongson.cn>, Uwe Kleine-König <ukleinek-AT-kernel.org>, Rob Herring <robh+dt-AT-kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt-AT-linaro.org>, Conor Dooley <conor+dt-AT-kernel.org>, Juxin Gao <gaojuxin-AT-loongson.cn> |
| Subject: |
| [PATCH v5 0/2] pwm: Introduce pwm driver for the Loongson family chips |
| Date: |
| Wed, 10 Jul 2024 10:04:05 +0800 |
| Message-ID: |
| <cover.1720516327.git.zhoubinbin@loongson.cn> |
| Cc: |
| Huacai Chen <chenhuacai-AT-kernel.org>, linux-pwm-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, Xuerui Wang <kernel-AT-xen0n.name>, loongarch-AT-lists.linux.dev, Binbin Zhou <zhoubinbin-AT-loongson.cn> |
| Archive-link: |
| Article |
Hi all:
This patchset introduce a generic PWM framework driver for Loongson family.
Each PWM has one pulse width output signal and one pulse input signal to be measured.
It can be found on Loongson-2K series cpus and Loongson LS7A bridge chips.
Thanks.
-------
V5:
patch (2/2):
- Rebase on pwm/for-next;
- Test with PWM_DEBUG enabled;
- Rewrote pwm_loongson_apply() and adjusted the order of pwm status and
polarity to avoid test failure;
- Added DIV64_U64_ROUND_UP in pwm_loongson_get_state() to avoid
precision loss and to avoid test failures.
Link to V4:
https://lore.kernel.org/all/cover.1716795485.git.zhoubinb...
V4:
patch (2/2):
- Rebase on pwm/for-next;
- Addressed Uwe's review comments:
- Make use of devm_pwmchip_alloc() function;
- Add Limitations description;
- Add LOONGSON_ prefix for Loongson pwm register defines;
- Keep regs written only once;
- Rewrite duty/period calculation;
- Add dev_err_probe() in .probe();
- Fix some code style.
Link to V3:
https://lore.kernel.org/linux-pwm/cover.1713164810.git.zh...
V3:
patch (1/2):
- Add Reviewed-by tag from Krzysztof, thanks.
patch (2/2):
- Several code stlye adjustments, such as line breaks.
Link to V2:
https://lore.kernel.org/all/cover.1712732719.git.zhoubinb...
v2:
- Remove the dts-related patches and update dts at once after all
relevant drivers are complete.
patch (1/2):
- The dt-binding filename should match compatible, rename it as
loongson,ls7a-pwm.yaml;
- Update binding description;
- Add description for each pwm cell;
- Drop '#pwm-cells' from required, for pwm.yaml makes it required already.
Link to v1:
https://lore.kernel.org/linux-pwm/cover.1711953223.git.zh...
Binbin Zhou (2):
dt-bindings: pwm: Add Loongson PWM controller
pwm: Add Loongson PWM controller support
.../bindings/pwm/loongson,ls7a-pwm.yaml | 66 ++++
MAINTAINERS | 7 +
drivers/pwm/Kconfig | 12 +
drivers/pwm/Makefile | 1 +
drivers/pwm/pwm-loongson.c | 285 ++++++++++++++++++
5 files changed, 371 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pwm/loongson,ls7a-pwm.yaml
create mode 100644 drivers/pwm/pwm-loongson.c
--
2.43.5