Add a new binding for using a PWM signal as a trigger for SPI offloads.
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
v4 changes: new patch in v4
---
.../devicetree/bindings/spi/trigger-pwm.yaml | 39 ++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/Documentation/devicetree/bindings/spi/trigger-pwm.yaml b/Documentation/devicetree/bindings/spi/trigger-pwm.yaml
new file mode 100644
index 000000000000..987638aa4732
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/trigger-pwm.yaml
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/trigger-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic SPI offload trigger using PWM
+
+description: Remaps a PWM channel as a trigger source.
+
+maintainers:
+ - David Lechner <dlechner@baylibre.com>
+
+$ref: /schemas/spi/trigger-source.yaml#
+
+properties:
+ compatible:
+ const: trigger-pwm
+
+ '#trigger-source-cells':
+ const: 0
+
+ pwms:
+ maxItems: 1
+
+required:
+ - compatible
+ - '#trigger-source-cells'
+ - pwms
+
+additionalProperties: false
+
+examples:
+ - |
+ trigger {
+ compatible = "trigger-pwm";
+ #trigger-source-cells = <0>;
+ pwms = <&pwm 0 1000000 0>;
+ };
--
2.43.0
On Wed, 23 Oct 2024 15:59:12 -0500
David Lechner <dlechner@baylibre.com> wrote:
> Add a new binding for using a PWM signal as a trigger for SPI offloads.
I don't have a better suggestion for this, but it does smell rather like
other bridge binding (iio-hwmon for example) where we have had push back on
representing something that doesn't really exist but is just a way to
tie two bits of hardware together. Those kind of exist because we snuck
them in a long time back when no one was paying attention.
So this one may need more explanation and justification and I'd definitely
like some DT maintainer review on this at a fairly early stage!
(might have happened in earlier reviews but it has been a while so I've
forgotten if it did)
Jonathan
>
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
>
> v4 changes: new patch in v4
> ---
> .../devicetree/bindings/spi/trigger-pwm.yaml | 39 ++++++++++++++++++++++
> 1 file changed, 39 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/spi/trigger-pwm.yaml b/Documentation/devicetree/bindings/spi/trigger-pwm.yaml
> new file mode 100644
> index 000000000000..987638aa4732
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/trigger-pwm.yaml
> @@ -0,0 +1,39 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/spi/trigger-pwm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic SPI offload trigger using PWM
> +
> +description: Remaps a PWM channel as a trigger source.
> +
> +maintainers:
> + - David Lechner <dlechner@baylibre.com>
> +
> +$ref: /schemas/spi/trigger-source.yaml#
> +
> +properties:
> + compatible:
> + const: trigger-pwm
> +
> + '#trigger-source-cells':
> + const: 0
> +
> + pwms:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - '#trigger-source-cells'
> + - pwms
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + trigger {
> + compatible = "trigger-pwm";
> + #trigger-source-cells = <0>;
> + pwms = <&pwm 0 1000000 0>;
> + };
>
On Sat, Oct 26, 2024 at 04:18:37PM +0100, Jonathan Cameron wrote: > On Wed, 23 Oct 2024 15:59:12 -0500 > David Lechner <dlechner@baylibre.com> wrote: > > > Add a new binding for using a PWM signal as a trigger for SPI offloads. > > I don't have a better suggestion for this, but it does smell rather like > other bridge binding (iio-hwmon for example) where we have had push back on > representing something that doesn't really exist but is just a way to > tie two bits of hardware together. Those kind of exist because we snuck > them in a long time back when no one was paying attention. I dunno. iio-hwmon to me is a particularly strange one, because it is the exact same device being used in different subsystems. Like that voltage monitoring device with 10000 compatibles that I CCed you and Peter on the other day feels like it should really in your subsytem. A "hwmon" isn't a class of device at all. This however, I think is more like pwm-clock (or clk-pwm, they both exist and are opposites) where the node is used to change the type of device rather than the subsystem using it. > So this one may need more explanation and justification and I'd definitely > like some DT maintainer review on this at a fairly early stage! Ye, /shrug. Maybe the others have dissenting opinions. I'd like to hear from them, but I don't personally have a problem with this.
On 10/31/24 1:16 PM, Conor Dooley wrote: > On Sat, Oct 26, 2024 at 04:18:37PM +0100, Jonathan Cameron wrote: >> On Wed, 23 Oct 2024 15:59:12 -0500 >> David Lechner <dlechner@baylibre.com> wrote: >> >>> Add a new binding for using a PWM signal as a trigger for SPI offloads. >> >> I don't have a better suggestion for this, but it does smell rather like >> other bridge binding (iio-hwmon for example) where we have had push back on >> representing something that doesn't really exist but is just a way to >> tie two bits of hardware together. Those kind of exist because we snuck >> them in a long time back when no one was paying attention. > > I dunno. iio-hwmon to me is a particularly strange one, because it is > the exact same device being used in different subsystems. Like that > voltage monitoring device with 10000 compatibles that I CCed you and > Peter on the other day feels like it should really in your subsytem. A > "hwmon" isn't a class of device at all. > > This however, I think is more like pwm-clock (or clk-pwm, they both > exist and are opposites) where the node is used to change the type of > device rather than the subsystem using it. Yes, this is the key reason for the binding. When I was looking at the trigger bindings in the leds subsystem, I came to the realization that we need some way to get the underlying type of the trigger. In the leds bindings, I don't think this was intentional, but effectively this is done with the linux,default-trigger property. So unless there is a reason why copying the clk-pwm/pwm-clock style bindings is not a good idea, that seems the preferable way to do it to me and I'll stick with that. > >> So this one may need more explanation and justification and I'd definitely >> like some DT maintainer review on this at a fairly early stage! > > Ye, /shrug. Maybe the others have dissenting opinions. I'd like to hear > from them, but I don't personally have a problem with this.
On Sat, Oct 26, 2024 at 04:18:37PM +0100, Jonathan Cameron wrote: > So this one may need more explanation and justification and I'd definitely > like some DT maintainer review on this at a fairly early stage! > (might have happened in earlier reviews but it has been a while so I've > forgotten if it did) I intend looking at this, but it'll be Wednesday before I do.
On 10/26/24 10:18 AM, Jonathan Cameron wrote:
> On Wed, 23 Oct 2024 15:59:12 -0500
> David Lechner <dlechner@baylibre.com> wrote:
>
>> Add a new binding for using a PWM signal as a trigger for SPI offloads.
>
> I don't have a better suggestion for this, but it does smell rather like
> other bridge binding (iio-hwmon for example) where we have had push back on
> representing something that doesn't really exist but is just a way to
> tie two bits of hardware together. Those kind of exist because we snuck
> them in a long time back when no one was paying attention.
>
> So this one may need more explanation and justification and I'd definitely
> like some DT maintainer review on this at a fairly early stage!
> (might have happened in earlier reviews but it has been a while so I've
> forgotten if it did)
>
> Jonathan
>
We could probably make it work like the leds version of this
binding where the trigger-sources property can have phandles
to anything, not just a dedicated class of device. It just
gets messy to implement because every subsystem needs to have
core code modified to be able to handle using a device or
one channel/gpio/etc. of a device as a trigger instead of
whatever it normally is.
>
>>
>> Signed-off-by: David Lechner <dlechner@baylibre.com>
>> ---
>>
>> v4 changes: new patch in v4
>> ---
>> .../devicetree/bindings/spi/trigger-pwm.yaml | 39 ++++++++++++++++++++++
>> 1 file changed, 39 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/spi/trigger-pwm.yaml b/Documentation/devicetree/bindings/spi/trigger-pwm.yaml
>> new file mode 100644
>> index 000000000000..987638aa4732
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/spi/trigger-pwm.yaml
>> @@ -0,0 +1,39 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/spi/trigger-pwm.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Generic SPI offload trigger using PWM
>> +
>> +description: Remaps a PWM channel as a trigger source.
>> +
>> +maintainers:
>> + - David Lechner <dlechner@baylibre.com>
>> +
>> +$ref: /schemas/spi/trigger-source.yaml#
>> +
>> +properties:
>> + compatible:
>> + const: trigger-pwm
>> +
>> + '#trigger-source-cells':
>> + const: 0
>> +
>> + pwms:
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - '#trigger-source-cells'
>> + - pwms
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + trigger {
>> + compatible = "trigger-pwm";
>> + #trigger-source-cells = <0>;
>> + pwms = <&pwm 0 1000000 0>;
>> + };
>>
>
© 2016 - 2026 Red Hat, Inc.