StarFive's Pulse Width Modulation driver support
Subsystems (2)
v2 cover StarFive's Pulse Width Modulation driver support
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 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.2.
William Qiu (2):
dt-bindings: PWM: Add StarFive PWM module
pwm: starfive: Add PWM driver support
.../bindings/pwm/starfive,jh7110-pwm.yaml | 53 ++++ MAINTAINERS | 7 + drivers/pwm/Kconfig | 10 + drivers/pwm/Makefile | 1 + drivers/pwm/pwm-starfive-ptc.c | 245 ++++++++++++++++++ 5 files changed, 316 insertions(+) create mode 100644 Documentation/devicetree/bindings/pwm/starfive,jh7110-pwm.yaml create mode 100644 drivers/pwm/pwm-starfive-ptc.c
--
2.34.1
PATCH v2 1/2 dt-bindings: PWM: Add StarFive PWM module
Add documentation to describe StarFive Pulse Width Modulation controller driver.
--- .../bindings/pwm/starfive,jh7110-pwm.yaml | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Documentation/devicetree/bindings/pwm/starfive,jh7110-pwm.yaml
Documentation/devicetree/bindings/pwm/starfive,jh7110-pwm.yaml new file +53 -0
@@ -0,0 +1,53 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pwm/starfive,jh7110-pwm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: StarFive PWM controller + +maintainers: + - William Qiu <[email protected]> + +description: + StarFive SoCs contain PWM and when operating in PWM mode, the PTC core generates + binary signal with user-programmable low and high periods. Clock source for the + PWM can be either system clockor external clock. Each PWM timer block provides 8 + PWM channels. + +allOf: + - $ref: pwm.yaml# + +properties: + compatible: + const: starfive,jh7110-pwm + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + resets: + maxItems: 1 + + "#pwm-cells": + const: 3 + +required: + - compatible + - reg + - clocks + - resets + +additionalProperties: false + +examples: + - | + pwm@120d0000 { + compatible = "starfive,jh7110-pwm"; + reg = <0x120d0000 0x10000>; + clocks = <&syscrg 121>; + resets = <&syscrg 108>; + #pwm-cells=<3>; + };
Signature · 1 line
2.34.1
Re: [PATCH v2 1/2] dt-bindings: PWM: Add StarFive PWM module
Quoted 4 lines · William Qiu
Add documentation to describe StarFive Pulse Width Modulation controller driver.
Signed-off-by William Qiu <[email protected]>
(...)
Documentation/devicetree/bindings/pwm/starfive,jh7110-pwm.yaml line 52
Quoted 11 lines
Documentation/devicetree/bindings/pwm/starfive,jh7110-pwm.yaml new file +11
-0+ +additionalProperties: false + +examples: + - | + pwm@120d0000 { + compatible = "starfive,jh7110-pwm"; + reg = <0x120d0000 0x10000>; + clocks = <&syscrg 121>; + resets = <&syscrg 108>; + #pwm-cells=<3>;
Missing spaces around =
With above:
Best regards,
Krzysztof
Re: [PATCH v2 1/2] dt-bindings: PWM: Add StarFive PWM module
Quoted 22 lines · Krzysztof Kozlowski
Quoted 4 lines · William Qiu
Add documentation to describe StarFive Pulse Width Modulation controller driver.
Signed-off-by William Qiu <[email protected]>(...)
Documentation/devicetree/bindings/pwm/starfive,jh7110-pwm.yaml line 52
Quoted 11 lines
Documentation/devicetree/bindings/pwm/starfive,jh7110-pwm.yaml new file +11
-0+ +additionalProperties: false + +examples: + - | + pwm@120d0000 { + compatible = "starfive,jh7110-pwm"; + reg = <0x120d0000 0x10000>; + clocks = <&syscrg 121>; + resets = <&syscrg 108>; + #pwm-cells=<3>;Missing spaces around =
Quoted 8 lines
With above:
Reviewed-by Krzysztof Kozlowski <[email protected]>Best regards,
Krzysztof
Will update.
Thanks for taking time to review this patch series.
Best regards
William
PATCH v2 2/2 pwm: starfive: Add PWM driver support
In reply to William QiuAdd Pulse Width Modulation driver support for StarFive JH7110 soc.
--- MAINTAINERS | 7 + drivers/pwm/Kconfig | 10 ++ drivers/pwm/Makefile | 1 + drivers/pwm/pwm-starfive-ptc.c | 245 +++++++++++++++++++++++++++++++++ 4 files changed, 263 insertions(+) create mode 100644 drivers/pwm/pwm-starfive-ptc.c
MAINTAINERS +7 -0
@@ -19929,6 +19929,13 @@ F: drivers/pinctrl/starfive/pinctrl-starfive-jh71* F: include/dt-bindings/pinctrl/pinctrl-starfive-jh7100.h F: include/dt-bindings/pinctrl/starfive,jh7110-pinctrl.h +STARFIVE JH71X0 PWM DRIVERS +M: William Qiu <[email protected]> +M: Hal Feng <[email protected]> +S: Supported +F: Documentation/devicetree/bindings/pwm/starfive,jh7110-pwm.yaml +F: drivers/pwm/pwm-starfive-ptc.c + STARFIVE JH71X0 RESET CONTROLLER DRIVERS M: Emil Renner Berthing <[email protected]> M: Hal Feng <[email protected]>
drivers/pwm/Kconfig +10 -0
@@ -536,6 +536,16 @@ config PWM_SPRD To compile this driver as a module, choose M here: the module will be called pwm-sprd. +config PWM_STARFIVE_PTC + tristate "StarFive PWM PTC support" + depends on OF + depends on COMMON_CLK + help + Generic PWM framework driver for StarFive SoCs. + + To compile this driver as a module, choose M here: the module + will be called pwm-starfive-ptc. + config PWM_STI tristate "STiH4xx PWM support" depends on ARCH_STI || COMPILE_TEST
drivers/pwm/Makefile +1 -0
@@ -49,6 +49,7 @@ obj-$(CONFIG_PWM_SIFIVE) += pwm-sifive.o obj-$(CONFIG_PWM_SL28CPLD) += pwm-sl28cpld.o obj-$(CONFIG_PWM_SPEAR) += pwm-spear.o obj-$(CONFIG_PWM_SPRD) += pwm-sprd.o +obj-$(CONFIG_PWM_STARFIVE_PTC) += pwm-starfive-ptc.o obj-$(CONFIG_PWM_STI) += pwm-sti.o obj-$(CONFIG_PWM_STM32) += pwm-stm32.o obj-$(CONFIG_PWM_STM32_LP) += pwm-stm32-lp.o
drivers/pwm/pwm-starfive-ptc.c new file +245 -0
245 lines not on this page · raw message
Signature · 1 line
2.34.1