From: Peter Rosin <peda@axentia.se>
To: Aswath Govindraju <a-govindraju@ti.com>
Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
Rob Herring <robh+dt@kernel.org>,
Marc Kleine-Budde <mkl@pengutronix.de>,
Vignesh Raghavendra <vigneshr@ti.com>,
Kishon Vijay Abraham I <kishon@ti.com>
Subject: Re: [PATCH 1/2] dt-bindings: mux: Document mux-states property
Date: Tue, 30 Nov 2021 17:31:14 +0100 [thread overview]
Message-ID: <ce308034-b988-877d-8908-51ab4120c26e@axentia.se> (raw)
In-Reply-To: <20211130121847.11112-2-a-govindraju@ti.com>
Hi Aswath!
Some language nits. But other than that it looks good to me!
On 2021-11-30 13:18, Aswath Govindraju wrote:
> In some cases, it is required to provide the state to which the mux
> controller has be set to, from the consumer device tree node. Document the
s/has be/has to be/
> property mux-states that can be used for adding this support.
>
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> ---
> .../devicetree/bindings/mux/gpio-mux.yaml | 11 ++++++--
> .../devicetree/bindings/mux/mux-consumer.yaml | 14 ++++++++++
> .../bindings/mux/mux-controller.yaml | 26 ++++++++++++++++++-
> 3 files changed, 48 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mux/gpio-mux.yaml b/Documentation/devicetree/bindings/mux/gpio-mux.yaml
> index 0a7c8d64981a..ee4de9fbaf4d 100644
> --- a/Documentation/devicetree/bindings/mux/gpio-mux.yaml
> +++ b/Documentation/devicetree/bindings/mux/gpio-mux.yaml
> @@ -26,7 +26,10 @@ properties:
> List of gpios used to control the multiplexer, least significant bit first.
>
> '#mux-control-cells':
> - const: 0
> + enum: [ 0, 1 ]
> +
> + '#mux-state-cells':
> + enum: [ 1, 2 ]
>
> idle-state:
> default: -1
> @@ -34,7 +37,11 @@ properties:
> required:
> - compatible
> - mux-gpios
> - - "#mux-control-cells"
> +anyOf:
> + - required:
> + - "#mux-control-cells"
> + - required:
> + - "#mux-state-cells"
>
> additionalProperties: false
>
> diff --git a/Documentation/devicetree/bindings/mux/mux-consumer.yaml b/Documentation/devicetree/bindings/mux/mux-consumer.yaml
> index 7af93298ab5c..64f353714227 100644
> --- a/Documentation/devicetree/bindings/mux/mux-consumer.yaml
> +++ b/Documentation/devicetree/bindings/mux/mux-consumer.yaml
> @@ -25,6 +25,11 @@ description: |
> strings to label each of the mux controllers listed in the "mux-controls"
> property.
>
> + If it is required to provide the state that the mux controller needs to
> + be set to, the property "mux-states" must be used. An optional property
> + "mux-state-names" can be used to provide a list of strings, to label
> + each of the mux controllers listed in the "mux-states" property.
s/mux controllers/multiplexer states/
> +
> mux-ctrl-specifier typically encodes the chip-relative mux controller number.
> If the mux controller chip only provides a single mux controller, the
> mux-ctrl-specifier can typically be left out.
> @@ -35,12 +40,21 @@ properties:
> mux-controls:
> $ref: /schemas/types.yaml#/definitions/phandle-array
>
> + mux-states:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> mux-control-names:
> description:
> Devices that use more than a single mux controller can use the
> "mux-control-names" property to map the name of the requested mux
> controller to an index into the list given by the "mux-controls" property.
>
> + mux-state-names:
> + description:
> + Devices that use more than a single mux controller can use the
s/mux controller/multiplexer state/
> + "mux-state-names" property to map the name of the requested mux
> + controller to an index into the list given by the "mux-states" property.
And again, over the line break.
> +
> additionalProperties: true
>
> ...
> diff --git a/Documentation/devicetree/bindings/mux/mux-controller.yaml b/Documentation/devicetree/bindings/mux/mux-controller.yaml
> index 736a84c3b6a5..b29dbf521f01 100644
> --- a/Documentation/devicetree/bindings/mux/mux-controller.yaml
> +++ b/Documentation/devicetree/bindings/mux/mux-controller.yaml
> @@ -25,7 +25,9 @@ description: |
> --------------------
>
> Mux controller nodes must specify the number of cells used for the
> - specifier using the '#mux-control-cells' property.
> + specifier using the '#mux-control-cells' or 'mux-state-cells'
'#mux-state-cells' (missing #)
> + property. Value of '#mux-state-cells' will always be one greater then
s/Value/The value/
s/then/than/
Cheers,
Peter
> + the value of '#mux-control-cells'.
>
> Optionally, mux controller nodes can also specify the state the mux should
> have when it is idle. The idle-state property is used for this. If the
> @@ -67,6 +69,8 @@ select:
> pattern: '^mux-controller'
> - required:
> - '#mux-control-cells'
> + - required:
> + - '#mux-state-cells'
>
> properties:
> $nodename:
> @@ -75,6 +79,9 @@ properties:
> '#mux-control-cells':
> enum: [ 0, 1 ]
>
> + '#mux-state-cells':
> + enum: [ 1, 2 ]
> +
> idle-state:
> $ref: /schemas/types.yaml#/definitions/int32
> minimum: -2
> @@ -179,4 +186,21 @@ examples:
> };
> };
> };
> +
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + mux1: mux-controller {
> + compatible = "gpio-mux";
> + #mux-state-cells = <1>;
> + mux-gpios = <&exp_som 2 GPIO_ACTIVE_HIGH>;
> + };
> +
> + transceiver4: can-phy4 {
> + compatible = "ti,tcan1042";
> + #phy-cells = <0>;
> + max-bitrate = <5000000>;
> + standby-gpios = <&exp_som 7 GPIO_ACTIVE_HIGH>;
> + mux-states = <&mux1 1>;
> + };
> ...
>
next prev parent reply other threads:[~2021-11-30 16:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-30 12:18 [PATCH 0/2] MUX: Add support for mux-states Aswath Govindraju
2021-11-30 12:18 ` [PATCH 1/2] dt-bindings: mux: Document mux-states property Aswath Govindraju
2021-11-30 16:31 ` Peter Rosin [this message]
2021-11-30 17:43 ` Rob Herring
2021-11-30 20:14 ` Rob Herring
2021-11-30 20:48 ` Peter Rosin
2021-12-01 4:32 ` Aswath Govindraju
2021-12-01 16:16 ` Rob Herring
2021-11-30 12:18 ` [PATCH 2/2] mux: Add support for reading mux state from consumer DT node Aswath Govindraju
2021-11-30 16:32 ` Peter Rosin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ce308034-b988-877d-8908-51ab4120c26e@axentia.se \
--to=peda@axentia.se \
--cc=a-govindraju@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=kishon@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=robh+dt@kernel.org \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).