Messages in this thread Patch in this message | | | Date | Thu, 25 Nov 2021 14:35:38 +0100 | Subject | Re: [PATCH RFC v3 1/4] dt-bindings: mux: Increase the number of arguments in mux-controls | From | Peter Rosin <> |
| |
Hi!
You need to have some description on how #mux-control-cells now work. The previous description is in mux-consumer.yaml and an update there is needed.
However, I have realized that the adg792a binding uses #mux-control-cells to indicate if it should expose its three muxes with one mux-control and operate the muxes in parallel, or if it should be expose three independent mux-controls. So, the approach in this series to always have the #mux-control-cells property fixed at <2> when indicating a state will not work for that binding. And I see no fix for that binding without adding a new property.
So, I would like a different approach. Since I dislike how mux-controls -after this series- is not (always) specifying a mux-control like the name says, but instead optionally a specific state, the new property I would like to add is #mux-state-cells such that it would always be one more than #mux-control-cells.
mux: mux-controller { compatible = "gpio-mux"; #mux-control-cells = <0>; #mux-state-cells = <1>;
mux-gpios = <...>; };
can-phy { compatible = "ti,tcan1043"; ... mux-states = <&mux 1>; };
That solves the naming issue, the unused argument for mux-conrtrollers that previously had #mux-control-cells = <0>, and the binding for adg792a need no longer be inconsistent.
Or, how should this be solved? I'm sure there are other options...
Cheers, Peter
On 2021-11-23 09:12, Aswath Govindraju wrote: > Increase the allowed number of arguments in mux-controls to add support for > passing information regarding the state of the mux to be set, for a given > device. > > Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> > --- > Documentation/devicetree/bindings/mux/gpio-mux.yaml | 2 +- > Documentation/devicetree/bindings/mux/mux-controller.yaml | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/mux/gpio-mux.yaml b/Documentation/devicetree/bindings/mux/gpio-mux.yaml > index 0a7c8d64981a..c810b7df39de 100644 > --- a/Documentation/devicetree/bindings/mux/gpio-mux.yaml > +++ b/Documentation/devicetree/bindings/mux/gpio-mux.yaml > @@ -26,7 +26,7 @@ properties: > List of gpios used to control the multiplexer, least significant bit first. > > '#mux-control-cells': > - const: 0 > + enum: [ 0, 1, 2 ] > > idle-state: > default: -1 > diff --git a/Documentation/devicetree/bindings/mux/mux-controller.yaml b/Documentation/devicetree/bindings/mux/mux-controller.yaml > index 736a84c3b6a5..0b4b067a97bf 100644 > --- a/Documentation/devicetree/bindings/mux/mux-controller.yaml > +++ b/Documentation/devicetree/bindings/mux/mux-controller.yaml > @@ -73,7 +73,7 @@ properties: > pattern: '^mux-controller(@.*|-[0-9a-f]+)?$' > > '#mux-control-cells': > - enum: [ 0, 1 ] > + enum: [ 0, 1, 2 ] > > idle-state: > $ref: /schemas/types.yaml#/definitions/int32 >
| |