Message ID | 1611048496-24650-6-git-send-email-spujar@nvidia.com |
---|---|
State | New |
Headers | show |
Series | Tegra210 audio graph card | expand |
On Tue, Jan 19, 2021 at 02:58:15PM +0530, Sameer Pujar wrote: > 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 <spujar@nvidia.com> > Reviewed-by: Jon Hunter <jonathanh@nvidia.com> > --- > .../boot/dts/nvidia/tegra210-audio-graph.dtsi | 153 +++++++++++++++++++++ > 1 file changed, 153 insertions(+) > create mode 100644 arch/arm64/boot/dts/nvidia/tegra210-audio-graph.dtsi I prefer keeping everything in tegra210.dtsi, but I can do that merge when I apply, after the DT bindings have been acked, so no need to resend just because of that. Thierry
On 1/19/2021 11:27 PM, Thierry Reding wrote: > On Tue, Jan 19, 2021 at 11:09:32PM +0530, Sameer Pujar wrote: >> >> On 1/19/2021 10:45 PM, Thierry Reding wrote: >>> On Tue, Jan 19, 2021 at 02:58:15PM +0530, Sameer Pujar wrote: >>>> 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 <spujar@nvidia.com> >>>> Reviewed-by: Jon Hunter <jonathanh@nvidia.com> >>>> --- >>>> .../boot/dts/nvidia/tegra210-audio-graph.dtsi | 153 +++++++++++++++++++++ >>>> 1 file changed, 153 insertions(+) >>>> create mode 100644 arch/arm64/boot/dts/nvidia/tegra210-audio-graph.dtsi >>> I prefer keeping everything in tegra210.dtsi, but I can do that merge >>> when I apply, after the DT bindings have been acked, so no need to >>> resend just because of that. >> I think this may be fine for Tegra210 based boards. But for Tegra186 and >> Tegra194, whenever we add support for it, can rely on a common audio-graph >> dtsi because there is no change w.r.t APE. This can help us to avoid >> duplication of the bindings. This most likely applies to future chips as >> well (where Tegra186 audio-graph bindings can be considered as base) when >> there is no significant change in APE. > Maybe. Although that argument is somewhat extreme because we already > have some of that same duplication throughout the other .dtsi files. By > the same argument we could save a bit of duplication by having something > like tegra-gpio.dtsi and including that in all the SoC .dtsi files and > only update the compatible string, because that's the only significant > change. > Duplication isn't a big problem for DTS files because the data is meant > to be stable anyway. So once it is in place and doesn't have to change, > it really doesn't matter if it comes from an include or it's duplicated. OK, if there is no issue with duplication then fine with me. Thanks.
On Tue, Jan 19, 2021 at 02:58:15PM +0530, Sameer Pujar wrote: > 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 <spujar@nvidia.com> > Reviewed-by: Jon Hunter <jonathanh@nvidia.com> > --- > .../boot/dts/nvidia/tegra210-audio-graph.dtsi | 153 +++++++++++++++++++++ > 1 file changed, 153 insertions(+) > create mode 100644 arch/arm64/boot/dts/nvidia/tegra210-audio-graph.dtsi Applied, thanks. Thierry
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 0000000..5c54358 --- /dev/null +++ b/arch/arm64/boot/dts/nvidia/tegra210-audio-graph.dtsi @@ -0,0 +1,153 @@ +// SPDX-License-Identifier: GPL-2.0 + +/ { + tegra_sound { + status = "disabled"; + + clocks = <&tegra_car TEGRA210_CLK_PLL_A>, + <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; + clock-names = "pll_a", "plla_out0"; + + 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 = <368640000>, <49152000>, <12288000>; + }; +}; + +&tegra_admaif { + ports { + #address-cells = <1>; + #size-cells = <0>; + + admaif1_port: port@0 { + reg = <0>; + admaif1_ep: endpoint { + remote-endpoint = <&xbar_admaif1_ep>; + }; + }; + admaif2_port: port@1 { + reg = <1>; + admaif2_ep: endpoint { + remote-endpoint = <&xbar_admaif2_ep>; + }; + }; + admaif3_port: port@2 { + reg = <2>; + admaif3_ep: endpoint { + remote-endpoint = <&xbar_admaif3_ep>; + }; + }; + admaif4_port: port@3 { + reg = <3>; + admaif4_ep: endpoint { + remote-endpoint = <&xbar_admaif4_ep>; + }; + }; + admaif5_port: port@4 { + reg = <4>; + admaif5_ep: endpoint { + remote-endpoint = <&xbar_admaif5_ep>; + }; + }; + admaif6_port: port@5 { + reg = <5>; + admaif6_ep: endpoint { + remote-endpoint = <&xbar_admaif6_ep>; + }; + }; + admaif7_port: port@6 { + reg = <6>; + admaif7_ep: endpoint { + remote-endpoint = <&xbar_admaif7_ep>; + }; + }; + admaif8_port: port@7 { + reg = <7>; + admaif8_ep: endpoint { + remote-endpoint = <&xbar_admaif8_ep>; + }; + }; + admaif9_port: port@8 { + reg = <8>; + admaif9_ep: endpoint { + remote-endpoint = <&xbar_admaif9_ep>; + }; + }; + admaif10_port: port@9 { + reg = <9>; + admaif10_ep: endpoint { + remote-endpoint = <&xbar_admaif10_ep>; + }; + }; + }; +}; + +&tegra_ahub { + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0x0>; + xbar_admaif1_ep: endpoint { + remote-endpoint = <&admaif1_ep>; + }; + }; + port@1 { + reg = <0x1>; + xbar_admaif2_ep: endpoint { + remote-endpoint = <&admaif2_ep>; + }; + }; + port@2 { + reg = <0x2>; + xbar_admaif3_ep: endpoint { + remote-endpoint = <&admaif3_ep>; + }; + }; + port@3 { + reg = <0x3>; + xbar_admaif4_ep: endpoint { + remote-endpoint = <&admaif4_ep>; + }; + }; + port@4 { + reg = <0x4>; + xbar_admaif5_ep: endpoint { + remote-endpoint = <&admaif5_ep>; + }; + }; + port@5 { + reg = <0x5>; + xbar_admaif6_ep: endpoint { + remote-endpoint = <&admaif6_ep>; + }; + }; + port@6 { + reg = <0x6>; + xbar_admaif7_ep: endpoint { + remote-endpoint = <&admaif7_ep>; + }; + }; + port@7 { + reg = <0x7>; + xbar_admaif8_ep: endpoint { + remote-endpoint = <&admaif8_ep>; + }; + }; + port@8 { + reg = <0x8>; + xbar_admaif9_ep: endpoint { + remote-endpoint = <&admaif9_ep>; + }; + }; + port@9 { + reg = <0x9>; + xbar_admaif10_ep: endpoint { + remote-endpoint = <&admaif10_ep>; + }; + }; + }; +};