On 10/29/24 03:44, Uwe Kleine-König wrote:
Hello,
On Tue, Oct 15, 2024 at 10:07:10AM -0700, Florian Fainelli wrote:
On 10/15/24 09:32, Rob Herring wrote:
Another thing to consider is for any PWM controller with more than
1 output, you might want this to be per output and therefore should be
a flag in the cells.
Yes, that is a good point, this controller has two channels, so it seems
like increasing the #pwm-cells might be the way to go.
So the idea is something like:
diff --git a/include/dt-bindings/pwm/pwm.h b/include/dt-bindings/pwm/pwm.h
index ab9a077e3c7d..d18b006a7399 100644
--- a/include/dt-bindings/pwm/pwm.h
+++ b/include/dt-bindings/pwm/pwm.h
@@ -11,5 +11,6 @@
#define _DT_BINDINGS_PWM_PWM_H
#define PWM_POLARITY_INVERTED (1 << 0)
+#define PWM_OUTPUT_OPEN_DRAIN (1 << 1)
#endif
and then add support for that to the core and drivers? There is some
intersection with pinctrl (depending on hardware). I wonder if
abstracting this somehow using the typical pinctrl properties would be a
saner option??
But what if the pin is not managed by a pinctrl provider? I have started
going the route of implementing the PWM_OUTPUT_OPEN_DRAIN bit as an
additional specifier in the #pwm-cells, but I am not sure to what extent
this should be allowed to be changed at runtime.
--
Florian