Linux PWM subsystem development
 help / color / mirror / Atom feed
* [PATCH v6 0/2] pwm: Introduce pwm driver for the Loongson family chips
@ 2024-10-10  8:30 Binbin Zhou
  2024-10-10  8:30 ` [PATCH v6 1/2] dt-bindings: pwm: Add Loongson PWM controller Binbin Zhou
  2024-10-10  8:30 ` [PATCH v6 2/2] pwm: Add Loongson PWM controller support Binbin Zhou
  0 siblings, 2 replies; 6+ messages in thread
From: Binbin Zhou @ 2024-10-10  8:30 UTC (permalink / raw)
  To: Binbin Zhou, Huacai Chen, Uwe Kleine-König, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Juxin Gao
  Cc: Huacai Chen, linux-pwm, devicetree, Xuerui Wang, loongarch,
	Binbin Zhou

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.

-------
V6:
patch (2/2):
 - Rebase on pwm/for-next;
 - Add Reference Manual;
 - Shortcut if !pwm->state.enabled;
 - When state->enabled is true, unconditionally execute
   pwm_loongson_set_polarity() to avoid that the polarity register is
not set correctly.

Link to V5:
https://lore.kernel.org/all/cover.1720516327.git.zhoubinbin@loongson.cn/

V5:
patch (2/2):
 - Rebase on pwm/for-next;
 - Test with PWM_DEBUG enabled.
 - In pwm_loongson_apply(), the pwm state is determined before the pwm
   polarity, avoid test failures when PWM_DEBUG is enabled;
 - Added DIV64_U64_ROUND_UP in pwm_loongson_get_state() to avoid
   precision loss and to avoid test failures when PWM_DEBUG is enabled.

Link to V4:
https://lore.kernel.org/all/cover.1716795485.git.zhoubinbin@loongson.cn/

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.zhoubinbin@loongson.cn/

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.zhoubinbin@loongson.cn/

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.zhoubinbin@loongson.cn/

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                    | 287 ++++++++++++++++++
 5 files changed, 373 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pwm/loongson,ls7a-pwm.yaml
 create mode 100644 drivers/pwm/pwm-loongson.c


base-commit: ff25451372ee1aa4c4f4401dc96516782a00dd4d
-- 
2.43.5


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-10-17 13:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-10  8:30 [PATCH v6 0/2] pwm: Introduce pwm driver for the Loongson family chips Binbin Zhou
2024-10-10  8:30 ` [PATCH v6 1/2] dt-bindings: pwm: Add Loongson PWM controller Binbin Zhou
2024-10-10  8:30 ` [PATCH v6 2/2] pwm: Add Loongson PWM controller support Binbin Zhou
2024-10-14 13:32   ` Sean Young
2024-10-17 12:24     ` Binbin Zhou
2024-10-17 13:35       ` Sean Young

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox