2023-10-05 16:23:30

by Devi Priya

[permalink] [raw]
Subject: [PATCH V15 0/4] Add PWM support for IPQ chipsets

Add PWM driver and binding support for IPQ chipsets.
Also, add support for pwm node in ipq6018.

V15:
Detailed Change logs are added to the respective patches.

V14 can be found at:
https://lore.kernel.org/linux-arm-msm/[email protected]/

Devi Priya (4):
pwm: driver for qualcomm ipq6018 pwm block
dt-bindings: pwm: add IPQ6018 binding
dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
arm64: dts: qcom: ipq6018: add pwm node

.../devicetree/bindings/mfd/qcom,tcsr.yaml | 112 +++++--
.../bindings/pwm/qcom,ipq6018-pwm.yaml | 45 +++
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 15 +-
drivers/pwm/Kconfig | 12 +
drivers/pwm/Makefile | 1 +
drivers/pwm/pwm-ipq.c | 282 ++++++++++++++++++
6 files changed, 435 insertions(+), 32 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
create mode 100644 drivers/pwm/pwm-ipq.c

--
2.34.1


2023-10-05 16:24:56

by Devi Priya

[permalink] [raw]
Subject: [PATCH V15 2/4] dt-bindings: pwm: add IPQ6018 binding

DT binding for the PWM block in Qualcomm IPQ6018 SoC.

Reviewed-by: Bjorn Andersson <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Co-developed-by: Baruch Siach <[email protected]>
Signed-off-by: Baruch Siach <[email protected]>
Signed-off-by: Devi Priya <[email protected]>
---
v15:

No change

v14:

Picked up the R-b tag

v13:

Updated the file name to match the compatible

Sorted the properties and updated the order in the required field

Dropped the syscon node from examples

v12:

Picked up the R-b tag

v11:

No change

v10:

No change

v9:

Add 'ranges' property to example (Rob)

Drop label in example (Rob)

v8:

Add size cell to 'reg' (Rob)

v7:

Use 'reg' instead of 'offset' (Rob)

Drop 'clock-names' and 'assigned-clock*' (Bjorn)

Use single cell address/size in example node (Bjorn)

Move '#pwm-cells' lower in example node (Bjorn)

List 'reg' as required

v6:

Device node is child of TCSR; remove phandle (Rob Herring)

Add assigned-clocks/assigned-clock-rates (Uwe Kleine-König)

v5: Use qcom,pwm-regs for phandle instead of direct regs (Bjorn
Andersson, Kathiravan T)

v4: Update the binding example node as well (Rob Herring's bot)

v3: s/qcom,pwm-ipq6018/qcom,ipq6018-pwm/ (Rob Herring)

v2: Make #pwm-cells const (Rob Herring)

.../bindings/pwm/qcom,ipq6018-pwm.yaml | 45 +++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml

diff --git a/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
new file mode 100644
index 000000000000..6d0d7ed271f7
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/qcom,ipq6018-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm IPQ6018 PWM controller
+
+maintainers:
+ - Baruch Siach <[email protected]>
+
+properties:
+ compatible:
+ const: qcom,ipq6018-pwm
+
+ reg:
+ description: Offset of PWM register in the TCSR block.
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ "#pwm-cells":
+ const: 2
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - "#pwm-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/qcom,gcc-ipq6018.h>
+
+ pwm: pwm@a010 {
+ compatible = "qcom,ipq6018-pwm";
+ reg = <0xa010 0x20>;
+ clocks = <&gcc GCC_ADSS_PWM_CLK>;
+ assigned-clocks = <&gcc GCC_ADSS_PWM_CLK>;
+ assigned-clock-rates = <100000000>;
+ #pwm-cells = <2>;
+ };
--
2.34.1

2023-10-05 16:59:03

by Devi Priya

[permalink] [raw]
Subject: [PATCH V15 4/4] arm64: dts: qcom: ipq6018: add pwm node

Describe the PWM block on IPQ6018.

The PWM is in the TCSR area. Make &tcsr "simple-mfd" compatible, and add
&pwm as child of &tcsr.

Add also ipq6018 specific compatible string.

Reviewed-by: Krzysztof Kozlowski <[email protected]>
Co-developed-by: Baruch Siach <[email protected]>
Signed-off-by: Baruch Siach <[email protected]>
Signed-off-by: Devi Priya <[email protected]>
---
v15:

Fixed the indentation of pwm node

v14:

Moved ranges just after reg as suggested by Krzysztof

Picked up the R-b tag

v13:

No change

v12:

No change

v11:

No change

v10:

No change

v9:

Add 'ranges' property (Rob)

v8:

Add size cell to 'reg' (Rob)

v7:

Use 'reg' instead of 'offset' (Rob)

Add qcom,tcsr-ipq6018 (Rob)

Drop clock-names (Bjorn)

v6:

Make the PWM node child of TCSR (Rob Herring)

Add assigned-clocks/assigned-clock-rates (Uwe Kleine-König)

v5: Use qcom,pwm-regs for TCSR phandle instead of direct regs

v3: s/qcom,pwm-ipq6018/qcom,ipq6018-pwm/ (Rob Herring)

arch/arm64/boot/dts/qcom/ipq6018.dtsi | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
index e59b9df96c7e..18f9fffba08b 100644
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -390,8 +390,21 @@ tcsr_mutex: hwlock@1905000 {
};

tcsr: syscon@1937000 {
- compatible = "qcom,tcsr-ipq6018", "syscon";
+ compatible = "qcom,tcsr-ipq6018", "syscon", "simple-mfd";
reg = <0x0 0x01937000 0x0 0x21000>;
+ ranges = <0x0 0x0 0x01937000 0x21000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ pwm: pwm@a010 {
+ compatible = "qcom,ipq6018-pwm";
+ reg = <0xa010 0x20>;
+ clocks = <&gcc GCC_ADSS_PWM_CLK>;
+ assigned-clocks = <&gcc GCC_ADSS_PWM_CLK>;
+ assigned-clock-rates = <100000000>;
+ #pwm-cells = <2>;
+ status = "disabled";
+ };
};

usb2: usb@70f8800 {
--
2.34.1

2023-10-12 10:06:30

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH V15 0/4] Add PWM support for IPQ chipsets

On Thu, 05 Oct 2023 21:35:46 +0530, Devi Priya wrote:
> Add PWM driver and binding support for IPQ chipsets.
> Also, add support for pwm node in ipq6018.
>
> V15:
> Detailed Change logs are added to the respective patches.
>
> V14 can be found at:
> https://lore.kernel.org/linux-arm-msm/[email protected]/
>
> [...]

Applied, thanks!

[1/4] pwm: driver for qualcomm ipq6018 pwm block
(no commit info)
[2/4] dt-bindings: pwm: add IPQ6018 binding
(no commit info)
[3/4] dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
commit: b4a32d218d424b81a58fbd419e1114b1c1f76168
[4/4] arm64: dts: qcom: ipq6018: add pwm node
(no commit info)

--
Lee Jones [李琼斯]

2023-10-12 10:26:06

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH V15 0/4] Add PWM support for IPQ chipsets

On Thu, 12 Oct 2023, Lee Jones wrote:

> On Thu, 05 Oct 2023 21:35:46 +0530, Devi Priya wrote:
> > Add PWM driver and binding support for IPQ chipsets.
> > Also, add support for pwm node in ipq6018.
> >
> > V15:
> > Detailed Change logs are added to the respective patches.
> >
> > V14 can be found at:
> > https://lore.kernel.org/linux-arm-msm/[email protected]/
> >
> > [...]
>
> Applied, thanks!
>
> [1/4] pwm: driver for qualcomm ipq6018 pwm block
> (no commit info)
> [2/4] dt-bindings: pwm: add IPQ6018 binding
> (no commit info)
> [3/4] dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
> commit: b4a32d218d424b81a58fbd419e1114b1c1f76168
> [4/4] arm64: dts: qcom: ipq6018: add pwm node
> (no commit info)

Disregard - tooling error!

--
Lee Jones [李琼斯]

2023-10-18 16:29:45

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH V15 0/4] Add PWM support for IPQ chipsets

On 05/10/2023 18:05, Devi Priya wrote:
> Add PWM driver and binding support for IPQ chipsets.
> Also, add support for pwm node in ipq6018.
>

You need to clearly mark dependencies. Next is now broken because of
this patchset.

Best regards,
Krzysztof

2023-10-18 20:47:02

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH V15 2/4] dt-bindings: pwm: add IPQ6018 binding

Hello,

On Thu, Oct 05, 2023 at 09:35:48PM +0530, Devi Priya wrote:
> DT binding for the PWM block in Qualcomm IPQ6018 SoC.
>
> Reviewed-by: Bjorn Andersson <[email protected]>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
> Co-developed-by: Baruch Siach <[email protected]>
> Signed-off-by: Baruch Siach <[email protected]>
> Signed-off-by: Devi Priya <[email protected]>
> ---
> v15:
>
> No change
>
> v14:
>
> Picked up the R-b tag
>
> v13:
>
> Updated the file name to match the compatible
>
> Sorted the properties and updated the order in the required field
>
> Dropped the syscon node from examples
>
> v12:
>
> Picked up the R-b tag
>
> v11:
>
> No change
>
> v10:
>
> No change
>
> v9:
>
> Add 'ranges' property to example (Rob)
>
> Drop label in example (Rob)
>
> v8:
>
> Add size cell to 'reg' (Rob)
>
> v7:
>
> Use 'reg' instead of 'offset' (Rob)
>
> Drop 'clock-names' and 'assigned-clock*' (Bjorn)
>
> Use single cell address/size in example node (Bjorn)
>
> Move '#pwm-cells' lower in example node (Bjorn)
>
> List 'reg' as required
>
> v6:
>
> Device node is child of TCSR; remove phandle (Rob Herring)
>
> Add assigned-clocks/assigned-clock-rates (Uwe Kleine-K?nig)
>
> v5: Use qcom,pwm-regs for phandle instead of direct regs (Bjorn
> Andersson, Kathiravan T)
>
> v4: Update the binding example node as well (Rob Herring's bot)
>
> v3: s/qcom,pwm-ipq6018/qcom,ipq6018-pwm/ (Rob Herring)
>
> v2: Make #pwm-cells const (Rob Herring)
>
> .../bindings/pwm/qcom,ipq6018-pwm.yaml | 45 +++++++++++++++++++
> 1 file changed, 45 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
>
> diff --git a/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
> new file mode 100644
> index 000000000000..6d0d7ed271f7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
> @@ -0,0 +1,45 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pwm/qcom,ipq6018-pwm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm IPQ6018 PWM controller
> +
> +maintainers:
> + - Baruch Siach <[email protected]>

Not being very fluent in dt and binding yaml I wonder if adding

allOf:
- $ref: pwm.yaml#

would be beneficial?!

> +properties:
> + compatible:
> + const: qcom,ipq6018-pwm
> +
> + reg:
> + description: Offset of PWM register in the TCSR block.
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + "#pwm-cells":
> + const: 2

The driver only supports normal polarity. Is this a shortcoming of the
driver, or is the hardware incapable to do that, too?

If it's only the former I'd want #pwm-cells = <3> here. For ease of use
I'd not oppose if you pick #pwm-cells = <3> even if the hardware can
only do normal polarity.

> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - "#pwm-cells"
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/qcom,gcc-ipq6018.h>
> +
> + pwm: pwm@a010 {
> + compatible = "qcom,ipq6018-pwm";
> + reg = <0xa010 0x20>;
> + clocks = <&gcc GCC_ADSS_PWM_CLK>;
> + assigned-clocks = <&gcc GCC_ADSS_PWM_CLK>;
> + assigned-clock-rates = <100000000>;
> + #pwm-cells = <2>;
> + };

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |


Attachments:
(No filename) (3.74 kB)
signature.asc (499.00 B)
Download all attachments

2023-10-18 20:53:15

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH V15 0/4] Add PWM support for IPQ chipsets

Hello,

On Wed, Oct 18, 2023 at 06:29:30PM +0200, Krzysztof Kozlowski wrote:
> On 05/10/2023 18:05, Devi Priya wrote:
> > Add PWM driver and binding support for IPQ chipsets.
> > Also, add support for pwm node in ipq6018.
> >
>
> You need to clearly mark dependencies.

This is something I wouldn't blame Devi for. The dependency is not very
obvious and its kind of normal and expected for a patch series to have
dependencies. *shrug*

> Next is now broken because of this patchset.

If I understand correctly this affects "only" the dtb check targets,
right? Is this bad enough that it needs an urgent fix? I would expect it
doesn't hurt much, am I right here?

I just looked into patch #2 and had a few comments for it.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |


Attachments:
(No filename) (925.00 B)
signature.asc (499.00 B)
Download all attachments

2023-10-18 21:06:48

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH V15 0/4] Add PWM support for IPQ chipsets

On 18/10/2023 22:52, Uwe Kleine-König wrote:
> Hello,
>
> On Wed, Oct 18, 2023 at 06:29:30PM +0200, Krzysztof Kozlowski wrote:
>> On 05/10/2023 18:05, Devi Priya wrote:
>>> Add PWM driver and binding support for IPQ chipsets.
>>> Also, add support for pwm node in ipq6018.
>>>
>>
>> You need to clearly mark dependencies.
>
> This is something I wouldn't blame Devi for. The dependency is not very
> obvious and its kind of normal and expected for a patch series to have
> dependencies. *shrug*
>
>> Next is now broken because of this patchset.
>
> If I understand correctly this affects "only" the dtb check targets,
> right? Is this bad enough that it needs an urgent fix? I would expect it
> doesn't hurt much, am I right here?
>
> I just looked into patch #2 and had a few comments for it.

Check/Tests of bindings (make dt_binding_check) has warnings because of
missing PWM schema.

Best regards,
Krzysztof

2023-10-20 15:16:53

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH V15 2/4] dt-bindings: pwm: add IPQ6018 binding

On Wed, Oct 18, 2023 at 3:46 PM Uwe Kleine-König
<[email protected]> wrote:
>
> Hello,
>
> On Thu, Oct 05, 2023 at 09:35:48PM +0530, Devi Priya wrote:
> > DT binding for the PWM block in Qualcomm IPQ6018 SoC.
> >
> > Reviewed-by: Bjorn Andersson <[email protected]>
> > Reviewed-by: Krzysztof Kozlowski <[email protected]>
> > Co-developed-by: Baruch Siach <[email protected]>
> > Signed-off-by: Baruch Siach <[email protected]>
> > Signed-off-by: Devi Priya <[email protected]>
> > ---
> > v15:
> >
> > No change
> >
> > v14:
> >
> > Picked up the R-b tag
> >
> > v13:
> >
> > Updated the file name to match the compatible
> >
> > Sorted the properties and updated the order in the required field
> >
> > Dropped the syscon node from examples
> >
> > v12:
> >
> > Picked up the R-b tag
> >
> > v11:
> >
> > No change
> >
> > v10:
> >
> > No change
> >
> > v9:
> >
> > Add 'ranges' property to example (Rob)
> >
> > Drop label in example (Rob)
> >
> > v8:
> >
> > Add size cell to 'reg' (Rob)
> >
> > v7:
> >
> > Use 'reg' instead of 'offset' (Rob)
> >
> > Drop 'clock-names' and 'assigned-clock*' (Bjorn)
> >
> > Use single cell address/size in example node (Bjorn)
> >
> > Move '#pwm-cells' lower in example node (Bjorn)
> >
> > List 'reg' as required
> >
> > v6:
> >
> > Device node is child of TCSR; remove phandle (Rob Herring)
> >
> > Add assigned-clocks/assigned-clock-rates (Uwe Kleine-König)
> >
> > v5: Use qcom,pwm-regs for phandle instead of direct regs (Bjorn
> > Andersson, Kathiravan T)
> >
> > v4: Update the binding example node as well (Rob Herring's bot)
> >
> > v3: s/qcom,pwm-ipq6018/qcom,ipq6018-pwm/ (Rob Herring)
> >
> > v2: Make #pwm-cells const (Rob Herring)
> >
> > .../bindings/pwm/qcom,ipq6018-pwm.yaml | 45 +++++++++++++++++++
> > 1 file changed, 45 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
> > new file mode 100644
> > index 000000000000..6d0d7ed271f7
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
> > @@ -0,0 +1,45 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/pwm/qcom,ipq6018-pwm.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Qualcomm IPQ6018 PWM controller
> > +
> > +maintainers:
> > + - Baruch Siach <[email protected]>
>
> Not being very fluent in dt and binding yaml I wonder if adding
>
> allOf:
> - $ref: pwm.yaml#
>
> would be beneficial?!

Not really because the only thing you pick up is #pwm-cells, but
that's still needed here since that varies by binding. A reference
generally becomes useful when there are child nodes (e.g. a bus
binding) or multiple properties.

> > +properties:
> > + compatible:
> > + const: qcom,ipq6018-pwm
> > +
> > + reg:
> > + description: Offset of PWM register in the TCSR block.
> > + maxItems: 1
> > +
> > + clocks:
> > + maxItems: 1
> > +
> > + "#pwm-cells":
> > + const: 2
>
> The driver only supports normal polarity. Is this a shortcoming of the
> driver, or is the hardware incapable to do that, too?
>
> If it's only the former I'd want #pwm-cells = <3> here. For ease of use
> I'd not oppose if you pick #pwm-cells = <3> even if the hardware can
> only do normal polarity.

Devi, Can we get an answer here soon.

The MFD part has been applied and it references this schema causing
warnings. So this needs to land or MFD schema reverted.

Rob

2023-10-20 15:31:31

by Kathiravan Thirumoorthy

[permalink] [raw]
Subject: Re: [PATCH V15 2/4] dt-bindings: pwm: add IPQ6018 binding


On 10/20/2023 8:44 PM, Rob Herring wrote:
> On Wed, Oct 18, 2023 at 3:46 PM Uwe Kleine-König
> <[email protected]> wrote:
>> Hello,
>>
>> On Thu, Oct 05, 2023 at 09:35:48PM +0530, Devi Priya wrote:
>>> DT binding for the PWM block in Qualcomm IPQ6018 SoC.
>>>
>>> Reviewed-by: Bjorn Andersson <[email protected]>
>>> Reviewed-by: Krzysztof Kozlowski <[email protected]>
>>> Co-developed-by: Baruch Siach <[email protected]>
>>> Signed-off-by: Baruch Siach <[email protected]>
>>> Signed-off-by: Devi Priya <[email protected]>
>>> ---
>>> v15:
>>>
>>> No change
>>>
>>> v14:
>>>
>>> Picked up the R-b tag
>>>
>>> v13:
>>>
>>> Updated the file name to match the compatible
>>>
>>> Sorted the properties and updated the order in the required field
>>>
>>> Dropped the syscon node from examples
>>>
>>> v12:
>>>
>>> Picked up the R-b tag
>>>
>>> v11:
>>>
>>> No change
>>>
>>> v10:
>>>
>>> No change
>>>
>>> v9:
>>>
>>> Add 'ranges' property to example (Rob)
>>>
>>> Drop label in example (Rob)
>>>
>>> v8:
>>>
>>> Add size cell to 'reg' (Rob)
>>>
>>> v7:
>>>
>>> Use 'reg' instead of 'offset' (Rob)
>>>
>>> Drop 'clock-names' and 'assigned-clock*' (Bjorn)
>>>
>>> Use single cell address/size in example node (Bjorn)
>>>
>>> Move '#pwm-cells' lower in example node (Bjorn)
>>>
>>> List 'reg' as required
>>>
>>> v6:
>>>
>>> Device node is child of TCSR; remove phandle (Rob Herring)
>>>
>>> Add assigned-clocks/assigned-clock-rates (Uwe Kleine-König)
>>>
>>> v5: Use qcom,pwm-regs for phandle instead of direct regs (Bjorn
>>> Andersson, Kathiravan T)
>>>
>>> v4: Update the binding example node as well (Rob Herring's bot)
>>>
>>> v3: s/qcom,pwm-ipq6018/qcom,ipq6018-pwm/ (Rob Herring)
>>>
>>> v2: Make #pwm-cells const (Rob Herring)
>>>
>>> .../bindings/pwm/qcom,ipq6018-pwm.yaml | 45 +++++++++++++++++++
>>> 1 file changed, 45 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
>>> new file mode 100644
>>> index 000000000000..6d0d7ed271f7
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/pwm/qcom,ipq6018-pwm.yaml
>>> @@ -0,0 +1,45 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/pwm/qcom,ipq6018-pwm.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Qualcomm IPQ6018 PWM controller
>>> +
>>> +maintainers:
>>> + - Baruch Siach <[email protected]>
>> Not being very fluent in dt and binding yaml I wonder if adding
>>
>> allOf:
>> - $ref: pwm.yaml#
>>
>> would be beneficial?!
> Not really because the only thing you pick up is #pwm-cells, but
> that's still needed here since that varies by binding. A reference
> generally becomes useful when there are child nodes (e.g. a bus
> binding) or multiple properties.
>
>>> +properties:
>>> + compatible:
>>> + const: qcom,ipq6018-pwm
>>> +
>>> + reg:
>>> + description: Offset of PWM register in the TCSR block.
>>> + maxItems: 1
>>> +
>>> + clocks:
>>> + maxItems: 1
>>> +
>>> + "#pwm-cells":
>>> + const: 2
>> The driver only supports normal polarity. Is this a shortcoming of the
>> driver, or is the hardware incapable to do that, too?
>>
>> If it's only the former I'd want #pwm-cells = <3> here. For ease of use
>> I'd not oppose if you pick #pwm-cells = <3> even if the hardware can
>> only do normal polarity.
> Devi, Can we get an answer here soon.


Rob, Devi is on vacation for couple of weeks. I don't have much idea on
this as of now, how can I help here, if needed?


>
> The MFD part has been applied and it references this schema causing
> warnings. So this needs to land or MFD schema reverted.
>
> Rob

2023-10-20 15:40:03

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH V15 2/4] dt-bindings: pwm: add IPQ6018 binding

Hello,

On Fri, Oct 20, 2023 at 10:14:48AM -0500, Rob Herring wrote:
> On Wed, Oct 18, 2023 at 3:46 PM Uwe Kleine-König
> <[email protected]> wrote:
> > On Thu, Oct 05, 2023 at 09:35:48PM +0530, Devi Priya wrote:
> > > + "#pwm-cells":
> > > + const: 2
> >
> > The driver only supports normal polarity. Is this a shortcoming of the
> > driver, or is the hardware incapable to do that, too?
> >
> > If it's only the former I'd want #pwm-cells = <3> here. For ease of use
> > I'd not oppose if you pick #pwm-cells = <3> even if the hardware can
> > only do normal polarity.
>
> Devi, Can we get an answer here soon.
>
> The MFD part has been applied and it references this schema causing
> warnings. So this needs to land or MFD schema reverted.

Or the reference to the pwm stuff deleted from the mfd binding?

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |


Attachments:
(No filename) (1.01 kB)
signature.asc (499.00 B)
Download all attachments