Re: [PATCH v3 6/7] ASoC: add audio-graph-card document

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Thu, Mar 02, 2017 at 05:28:24AM +0000, Kuninori Morimoto wrote:
> 
> From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> 
> "Audio Graph Card" = "Simple Card" + "OF-graph"
> 
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> ---
> v2 -> v3
> 
>  - simple-graph-card -> audio-graph-card
>  - cleanup unnecessary comments
> 
>  .../devicetree/bindings/sound/audio-graph-card.txt | 126 +++++++++++++++++++++
>  1 file changed, 126 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/audio-graph-card.txt
> 
> diff --git a/Documentation/devicetree/bindings/sound/audio-graph-card.txt b/Documentation/devicetree/bindings/sound/audio-graph-card.txt
> new file mode 100644
> index 0000000..81213ac
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/audio-graph-card.txt
> @@ -0,0 +1,126 @@
> +Audio Graph Card:
> +
> +Audio Graph Card specifies audio DAI connections of SoC <-> codec.
> +It is based on common bindings for device graphs.
> +see ${LINUX}/Documentation/devicetree/bindings/graph.txt
> +
> +Basically, Audio Graph Card property is same as Simple Card.
> +see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.txt
> +
> +Below are same as Simple-Card.
> +
> +- audio-graph-card,name
> +- audio-graph-card,format
> +- audio-graph-card,frame-master
> +- audio-graph-card,bitclock-master
> +- audio-graph-card,bitclock-inversion
> +- audio-graph-card,frame-inversion
> +- audio-graph-card,dai-tdm-slot-num
> +- audio-graph-card,dai-tdm-slot-width

Sorry, I meant we should drop prefix ("audio-graph-card,") as these are 
common properties and don't need a vendor prefix. We generally only do 
prefixes when properties are vendor specifc and these are common. The 
"simple-audio-card,*" prefix was a bit of an odd pattern.

Though if we do drop the prefix, just 'name' and 'format' are a bit 
vague. Maybe dai-format instead of format. For name, I'm not sure how 
that gets used. Does it really need to be per port? For user visible 
names for things like identifying connectors on boards we use 'label', 
so maybe that is appropriate here.

> +- clocks / system-clock-frequency
> +
> +Required properties:
> +
> +- compatible				: "asoc-audio-graph-card";

Just audio-graph-card. asoc is a Linux term.

> +- dais					: list of CPU DAI port{s}
> +
> +Example: Single DAI case
> +
> +	sound_card {
> +		compatible = "asoc-audio-graph-card";
> +
> +		dais = <&cpu_port>;
> +	};
> +
> +	dai-controller@0 {
> +		...
> +		cpu_port: port {
> +			cpu_endpoint: endpoint {
> +				remote-endpoint = <&codec_endpoint>;
> +
> +				audio-graph-card,format = "left_j";
> +				audio-graph-card,xxx = ...
> +				...
> +			};
> +		};
> +	};
> +
> +	dai-controller@1 {
> +		...
> +		port {
> +			codec_endpoint: endpoint {
> +				remote-endpoint = <&cpu_endpoint>;
> +			};
> +		};
> +	};
> +
> +Example: Multi DAI case
> +
> +	sound_card {
> +		compatible = "asoc-audio-graph-card";
> +
> +		dais = <&cpu_port0
> +			&cpu_port1
> +			&cpu_port2>;
> +	};
> +
> +	dai-controller@0 {

These should be audio-codec@...

> +		...
> +		port {
> +			codec0_endpoint: endpoint {
> +				remote-endpoint = <&cpu_endpoint0>;
> +			};
> +		};
> +	};
> +
> +	dai-controller@1 {
> +		...
> +		port {
> +			codec1_endpoint: endpoint {
> +				remote-endpoint = <&cpu_endpoint1>;
> +			};
> +		};
> +	};
> +
> +	dai-controller@2 {
> +		...
> +		port {
> +			codec2_endpoint: endpoint {
> +				remote-endpoint = <&cpu_endpoint2>;
> +			};
> +		};
> +	};
> +
> +	dai-controller@3 {
> +		...
> +		ports {
> +			cpu_port0: port@0 {
> +				cpu_endpoint0: endpoint {
> +					remote-endpoint = <&codec0_endpoint>;
> +
> +					audio-graph-card,format = "left_j";
> +					audio-graph-card,xxx = ...
> +					...
> +				};
> +			};
> +			cpu_port1: port@1 {
> +				cpu_endpoint1: endpoint {
> +					remote-endpoint = <&codec1_endpoint>;
> +
> +					audio-graph-card,format = "i2s";
> +					audio-graph-card,xxx = ...
> +					...
> +				};
> +			};
> +			cpu_port2: port@2 {
> +				cpu_endpoint2: endpoint {
> +					remote-endpoint = <&codec2_endpoint>;
> +
> +					audio-graph-card,format = "i2s";
> +					audio-graph-card,xxx = ...
> +					...
> +				};
> +			};
> +		};
> +	};
> +
> -- 
> 1.9.1
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux