Re: [PATCH] pwm: add pwm driver for HiSilicon BVT SOCs
From: Jian Yuan <hidden>
Date: 2016-08-03 06:34:32
Also in:
linux-pwm, lkml
On 2016/8/1 20:43, Mark Rutland wrote:
On Mon, Aug 01, 2016 at 09:42:08AM +0800, Jian Yuan wrote:quoted
From: yuanjian <redacted> Add pwm driver for HiSilicon BVT SOCs Reviewed-by: Jiancheng Xue <redacted> Signed-off-by: Jian Yuan <redacted> --- .../devicetree/bindings/pwm/pwm-hibvt.txt | 18 ++ drivers/pwm/Kconfig | 10 + drivers/pwm/Makefile | 1 + drivers/pwm/pwm-hibvt.c | 272 +++++++++++++++++++++ 4 files changed, 301 insertions(+) create mode 100644 Documentation/devicetree/bindings/pwm/pwm-hibvt.txt create mode 100644 drivers/pwm/pwm-hibvt.cdiff --git a/Documentation/devicetree/bindings/pwm/pwm-hibvt.txt b/Documentation/devicetree/bindings/pwm/pwm-hibvt.txt new file mode 100644 index 0000000..4efd83e --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/pwm-hibvt.txt@@ -0,0 +1,18 @@ +Hisilicon PWM controller + +Required properties: + - compatible: should be "hisilicon,hibvt-pwm" and one of the following: + "hisilicon,hi3516cv300-pwm".I take it "hisilicon,hibvt-pwm" is the fallback entry. It would be good to note that explicitly.
I do not understand what the fallback entry means. "hisilicon,hibvt-pwm" is a general compatible string, which is available for most HiSilicon BVT SOCs. Howerver, "hisilicon,hi3516cv300-pwm" is specially for hi3516cv300. Maybe I should note the compatible string as described above, right?
quoted
+ - reg: physical base address and length of the controller's registers. + - clocks: phandle and clock specifier of the PWM reference clock. + - resets: offset address and offset bit for reset or unreset of the controller. + - pwm-nums: pwm number of the controller.This should be 'num-pwms'. I assume this is the number of PWMs exposed by this controller. Is this not probeable, or dicoverable based on the compatible string? How does this vary in practice?
"pwm-nums" means the maximum number of PWMS that this controller can support, which is the hardware capability. E.g.,HI3516CV300 PWM controller supports 4 PWM, while other chips support 8 PWM. I agree that the PWM number is probeable based on the compatible string. I shall change it, thanks.
quoted
+ +Example: + pwm: pwm@12130000 { + compatible = "hisilicon,hibvt-pwm";This is missing "hisilicon,hi3516cv300-pwm" as per the requirements of the binding.
Ok, it's right. I'll fix it in next v2 patch.
quoted
+ reg = <0x12130000 0x10000>; + clocks = <&crg_ctrl HI3516CV300_PWM_CLK>; + resets = <&crg_ctrl 0x38 0>; + pwm-nums = <4>; + };Thanks, Mark. .
Thanks, Jian.