Message ID | 20241023-dlech-mainline-spi-engine-offload-2-v4-5-f8125b99f5a1@baylibre.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | spi: axi-spi-engine: add offload support | expand |
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 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>; >> + }; >> >
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 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.
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>; + };
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(+)