Re: [PATCH 1/7] Documentation: of: add type property

From: Rob Herring
Date: Fri Jun 24 2016 - 13:42:18 EST


On Thu, Jun 23, 2016 at 9:32 PM, Kuninori Morimoto
<kuninori.morimoto.gx@xxxxxxxxxxx> wrote:
>
> From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
>
> OF graph is used mainly from V4L2, but ALSA needs to use it too.
> Then, ALSA needs to know each port/endpoint type, otherwise it
> can't detect ALSA port/endpoint correctly.

Bindings should be defined in terms of hardware, not Linux subsystems.

> This patch enables to use type property on OF graph.
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/graph.txt | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/graph.txt b/Documentation/devicetree/bindings/graph.txt
> index fcb1c6a..b5b9040 100644
> --- a/Documentation/devicetree/bindings/graph.txt
> +++ b/Documentation/devicetree/bindings/graph.txt
> @@ -110,6 +110,32 @@ device-2 {
> };
> };
>
> +port / endpoint type
> +--------------------
> +
> +Each ports / port / endpoint can have its type if needed.

I think type should only apply to a port. ports is only a grouping for
multiple ports. endpoints are just the connection. A port is a single
data flow, so 2 endpoints on a port reflect 2 possible connections for
that data flow.

> +child node can take over parent node type. below example indicates
> +device0 type is "typeA" && "typeB",
> +device1 type is "typeA" && "typeB" && "typeC".

This does not make sense to me. A concrete example perhaps using HDMI
audio would be helpful.

> +
> +device {
> + ports {
> + type = "typeA";
> +
> + port@0 {
> + type = "typeB";
> +
> + device0: endpoint@0 {
> + };
> +
> + device1: endpoint@1 {
> + type = "typeC";
> + };
> + };
> + ...
> + };
> +};
> +
>
> Required properties
> -------------------
> --
> 1.9.1
>