Re: [PATCH 09/10] arm64: tegra: Audio graph header for Tegra210
On 7/20/2020 10:21 AM, Kuninori Morimoto wrote: External email: Use caution opening links or attachments Hi Sameer +&tegra_admaif { + admaif_port: port { + admaif0: endpoint@0 { + remote-endpoint = <&xbar_admaif0>; + }; + admaif1: endpoint@1 { + remote-endpoint = <&xbar_admaif1>; + }; (snip) + admaif8: endpoint@8 { + remote-endpoint = <&xbar_admaif8>; + }; + admaif9: endpoint@9 { + remote-endpoint = <&xbar_admaif9>; + }; + }; +}; I'm not familiar with your system, so, one question. Does this ADMAIF has total 10 interface which is used in the same time ? or select one of 10 connections when use ? One ore more ADMAIF interfaces can be used simultaneously. In fact all of them can be used at the same time. Ah, sorry my questoin was not correct. I want to clarify was that below. In my understanding, if your system has 10 interfaces, you need to create 10 ports, not 10 endpoints. If your system has 1 interface, but is connected from 10 devices, it has 1 port 10 endpoints. OK, I see your point. I will work on re-organizing ports/endpoints and once tested will publish V2 for current series. Thanks for inputs. Thank you for your help !! Best regards --- Kuninori Morimoto
Re: [PATCH 09/10] arm64: tegra: Audio graph header for Tegra210
Hi Sameer > >> +&tegra_admaif { > >> + admaif_port: port { > >> + admaif0: endpoint@0 { > >> + remote-endpoint = <&xbar_admaif0>; > >> + }; > >> + admaif1: endpoint@1 { > >> + remote-endpoint = <&xbar_admaif1>; > >> + }; > > (snip) > >> + admaif8: endpoint@8 { > >> + remote-endpoint = <&xbar_admaif8>; > >> + }; > >> + admaif9: endpoint@9 { > >> + remote-endpoint = <&xbar_admaif9>; > >> + }; > >> + }; > >> +}; > > I'm not familiar with your system, so, one question. > > Does this ADMAIF has total 10 interface which is used in the same time ? > > or select one of 10 connections when use ? > > One ore more ADMAIF interfaces can be used simultaneously. In fact all > of them can be used at the same time. Ah, sorry my questoin was not correct. I want to clarify was that below. In my understanding, if your system has 10 interfaces, you need to create 10 ports, not 10 endpoints. If your system has 1 interface, but is connected from 10 devices, it has 1 port 10 endpoints. Thank you for your help !! Best regards --- Kuninori Morimoto
Re: [PATCH 09/10] arm64: tegra: Audio graph header for Tegra210
On 7/20/2020 5:40 AM, Kuninori Morimoto wrote: External email: Use caution opening links or attachments Hi Sameer +&tegra_admaif { + admaif_port: port { + admaif0: endpoint@0 { + remote-endpoint = <&xbar_admaif0>; + }; + admaif1: endpoint@1 { + remote-endpoint = <&xbar_admaif1>; + }; (snip) + admaif8: endpoint@8 { + remote-endpoint = <&xbar_admaif8>; + }; + admaif9: endpoint@9 { + remote-endpoint = <&xbar_admaif9>; + }; + }; +}; I'm not familiar with your system, so, one question. Does this ADMAIF has total 10 interface which is used in the same time ? or select one of 10 connections when use ? One ore more ADMAIF interfaces can be used simultaneously. In fact all of them can be used at the same time. Thank you for your help !! Best regards --- Kuninori Morimoto
Re: [PATCH 09/10] arm64: tegra: Audio graph header for Tegra210
Hi Sameer > +&tegra_admaif { > + admaif_port: port { > + admaif0: endpoint@0 { > + remote-endpoint = <&xbar_admaif0>; > + }; > + admaif1: endpoint@1 { > + remote-endpoint = <&xbar_admaif1>; > + }; (snip) > + admaif8: endpoint@8 { > + remote-endpoint = <&xbar_admaif8>; > + }; > + admaif9: endpoint@9 { > + remote-endpoint = <&xbar_admaif9>; > + }; > + }; > +}; I'm not familiar with your system, so, one question. Does this ADMAIF has total 10 interface which is used in the same time ? or select one of 10 connections when use ? Thank you for your help !! Best regards --- Kuninori Morimoto
[PATCH 09/10] arm64: tegra: Audio graph header for Tegra210
Expose a header which describes DT bindings required to use audio-graph based sound card. All Tegra210 based platforms can include this header and add platform specific information. Currently, from SoC point of view, all links are exposed for ADMAIF, AHUB, I2S and DMIC components. Signed-off-by: Sameer Pujar --- .../boot/dts/nvidia/tegra210-audio-graph.dtsi | 120 + 1 file changed, 120 insertions(+) create mode 100644 arch/arm64/boot/dts/nvidia/tegra210-audio-graph.dtsi diff --git a/arch/arm64/boot/dts/nvidia/tegra210-audio-graph.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-audio-graph.dtsi new file mode 100644 index 000..1cf2c87 --- /dev/null +++ b/arch/arm64/boot/dts/nvidia/tegra210-audio-graph.dtsi @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: GPL-2.0 + +/ { + tegra_sound { + status = "disabled"; + + compatible = "audio-graph-cc-card"; + + clocks = <&tegra_car TEGRA210_CLK_PLL_A>, +<&tegra_car TEGRA210_CLK_PLL_A_OUT0>, +<&tegra_car TEGRA210_CLK_EXTERN1>; + clock-names = "pll_a", "plla_out0", "aud_mclk"; + + assigned-clocks = <&tegra_car TEGRA210_CLK_PLL_A>, + <&tegra_car TEGRA210_CLK_PLL_A_OUT0>, + <&tegra_car TEGRA210_CLK_EXTERN1>; + assigned-clock-parents = <0>, <0>, <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; + assigned-clock-rates = <36864>, <49152000>, <12288000>; + }; +}; + +&tegra_admaif { + admaif_port: port { + admaif0: endpoint@0 { + remote-endpoint = <&xbar_admaif0>; + }; + admaif1: endpoint@1 { + remote-endpoint = <&xbar_admaif1>; + }; + admaif2: endpoint@2 { + remote-endpoint = <&xbar_admaif2>; + }; + admaif3: endpoint@3 { + remote-endpoint = <&xbar_admaif3>; + }; + admaif4: endpoint@4 { + remote-endpoint = <&xbar_admaif4>; + }; + admaif5: endpoint@5 { + remote-endpoint = <&xbar_admaif5>; + }; + admaif6: endpoint@6 { + remote-endpoint = <&xbar_admaif6>; + }; + admaif7: endpoint@7 { + remote-endpoint = <&xbar_admaif7>; + }; + admaif8: endpoint@8 { + remote-endpoint = <&xbar_admaif8>; + }; + admaif9: endpoint@9 { + remote-endpoint = <&xbar_admaif9>; + }; + }; +}; + +&tegra_ahub { + port@0 { + #address-cells = <1>; + #size-cells = <0>; + + /* +* Audio Crossbar Codec endpoints. +* Connected with FE endpoints. +*/ + + xbar_admaif0: endpoint@0 { + reg = <0>; + remote-endpoint = <&admaif0>; + }; + xbar_admaif1: endpoint@1 { + reg = <1>; + remote-endpoint = <&admaif1>; + }; + xbar_admaif2: endpoint@2 { + reg = <2>; + remote-endpoint = <&admaif2>; + }; + xbar_admaif3: endpoint@3 { + reg = <3>; + remote-endpoint = <&admaif3>; + }; + xbar_admaif4: endpoint@4 { + reg = <4>; + remote-endpoint = <&admaif4>; + }; + xbar_admaif5: endpoint@5 { + reg = <5>; + remote-endpoint = <&admaif5>; + }; + xbar_admaif6: endpoint@6 { + reg = <6>; + remote-endpoint = <&admaif6>; + }; + xbar_admaif7: endpoint@7 { + reg = <7>; + remote-endpoint = <&admaif7>; + }; + xbar_admaif8: endpoint@8 { + reg = <8>; + remote-endpoint = <&admaif8>; + }; + xbar_admaif9: endpoint@9 { + reg = <9>; + remote-endpoint = <&admaif9>; + }; + }; + + xbar_port: port@1 { + #address-cells = <1>; + #size-cells = <0>; + + /* +* Audio crossbar CPU endpoints: +* Describe connections to HW accelerators (which will +* be addded going forward) and I/O interfaces (which +* are specified in Platform DT files). +*/ + }; +}; -- 2.7.4