Message ID | 20221014102151.108539-7-p.rajanbabu@samsung.com |
---|---|
State | New |
Headers | show |
Series | ASoC: samsung: fsd: audio support for FSD SoC | expand |
>-----Original Message----- >From: Padmanabhan Rajanbabu [mailto:p.rajanbabu@samsung.com] >Sent: Friday, October 14, 2022 3:52 PM >To: lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org; >krzysztof.kozlowski+dt@linaro.org; s.nawrocki@samsung.com; >perex@perex.cz; tiwai@suse.com; pankaj.dubey@samsung.com; >alim.akhtar@samsung.com; rcsekar@samsung.com; >aswani.reddy@samsung.com >Cc: alsa-devel@alsa-project.org; devicetree@vger.kernel.org; linux- >kernel@vger.kernel.org; linux-samsung-soc@vger.kernel.org; Padmanabhan >Rajanbabu <p.rajanbabu@samsung.com> >Subject: [PATCH 6/6] arm64: dts: fsd: Add sound card node for Tesla FSD > >Add device tree node support for sound card on Tesla FSD board > >Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> >--- > arch/arm64/boot/dts/tesla/fsd-evb.dts | 49 >+++++++++++++++++++++++++++ > arch/arm64/boot/dts/tesla/fsd.dtsi | 3 ++ > 2 files changed, 52 insertions(+) > >diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts >b/arch/arm64/boot/dts/tesla/fsd-evb.dts >index c0a4509499ab..ecaa3c2e3045 100644 >--- a/arch/arm64/boot/dts/tesla/fsd-evb.dts >+++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts >@@ -49,3 +49,52 @@ > &tdm_1 { > status = "okay"; > }; >+ >+&sound { >+ compatible = "tesla,fsd-sndcard"; >+ status = "okay"; >+ model = "fsd-i2s"; >+ widgets = >+ "Speaker", "MAIN SPK", >+ "Microphone", "MAIN MIC"; >+ >+ primary-dai-link-0 { >+ link-name = "fsd-primary-0"; >+ dai-format = "i2s"; >+ tesla,bitclock-master = <&tdm_0>; >+ tesla,frame-master = <&tdm_0>; >+ cpu { >+ sound-dai = <&tdm_0 0>; >+ }; >+ }; >+ >+ secondary-dai-link-0 { >+ link-name = "fsd-secondary-0"; >+ dai-format = "i2s"; >+ tesla,bitclock-master = <&tdm_0>; >+ tesla,frame-master = <&tdm_0>; >+ cpu { >+ sound-dai = <&tdm_0 1>; >+ }; >+ }; >+ >+ primary-dai-link-1 { >+ link-name = "fsd-primary-1"; >+ dai-format = "i2s"; >+ tesla,bitclock-master = <&tdm_1>; >+ tesla,frame-master = <&tdm_1>; >+ cpu { >+ sound-dai = <&tdm_1 0>; >+ }; >+ }; >+ >+ secondary-dai-link-1 { >+ link-name = "fsd-secondary-1"; >+ dai-format = "i2s"; >+ tesla,bitclock-master = <&tdm_1>; >+ tesla,frame-master = <&tdm_1>; >+ cpu { >+ sound-dai = <&tdm_1 1>; >+ }; >+ }; >+}; >diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi >b/arch/arm64/boot/dts/tesla/fsd.dtsi >index 5decad45a1b6..fc8931f830a7 100644 >--- a/arch/arm64/boot/dts/tesla/fsd.dtsi >+++ b/arch/arm64/boot/dts/tesla/fsd.dtsi >@@ -847,6 +847,9 @@ > status = "disabled"; > }; > >+ sound: sound { >+ }; >+ Why to have an empty node in dtsi? > timer@10040000 { > compatible = "tesla,fsd-mct", "samsung,exynos4210- >mct"; > reg = <0x0 0x10040000 0x0 0x800>; >-- >2.17.1
> -----Original Message----- > From: Alim Akhtar [mailto:alim.akhtar@samsung.com] > Sent: 14 October 2022 06:59 PM > To: 'Padmanabhan Rajanbabu' <p.rajanbabu@samsung.com>; > lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org; > krzysztof.kozlowski+dt@linaro.org; s.nawrocki@samsung.com; > perex@perex.cz; tiwai@suse.com; pankaj.dubey@samsung.com; > rcsekar@samsung.com; aswani.reddy@samsung.com > Cc: alsa-devel@alsa-project.org; devicetree@vger.kernel.org; linux- > kernel@vger.kernel.org; linux-samsung-soc@vger.kernel.org > Subject: RE: [PATCH 6/6] arm64: dts: fsd: Add sound card node for Tesla FSD > > > > >-----Original Message----- > >From: Padmanabhan Rajanbabu [mailto:p.rajanbabu@samsung.com] > >Sent: Friday, October 14, 2022 3:52 PM > >To: lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org; > >krzysztof.kozlowski+dt@linaro.org; s.nawrocki@samsung.com; > >perex@perex.cz; tiwai@suse.com; pankaj.dubey@samsung.com; > >alim.akhtar@samsung.com; rcsekar@samsung.com; > aswani.reddy@samsung.com > >Cc: alsa-devel@alsa-project.org; devicetree@vger.kernel.org; linux- > >kernel@vger.kernel.org; linux-samsung-soc@vger.kernel.org; > Padmanabhan > >Rajanbabu <p.rajanbabu@samsung.com> > >Subject: [PATCH 6/6] arm64: dts: fsd: Add sound card node for Tesla FSD > > > >Add device tree node support for sound card on Tesla FSD board > > > >Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> > >--- > > arch/arm64/boot/dts/tesla/fsd-evb.dts | 49 > >+++++++++++++++++++++++++++ > > arch/arm64/boot/dts/tesla/fsd.dtsi | 3 ++ > > 2 files changed, 52 insertions(+) > > > >diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts > >b/arch/arm64/boot/dts/tesla/fsd-evb.dts > >index c0a4509499ab..ecaa3c2e3045 100644 > >--- a/arch/arm64/boot/dts/tesla/fsd-evb.dts > >+++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts > >@@ -49,3 +49,52 @@ > > &tdm_1 { > > status = "okay"; > > }; > >+ > >+&sound { > >+ compatible = "tesla,fsd-sndcard"; > >+ status = "okay"; > >+ model = "fsd-i2s"; > >+ widgets = > >+ "Speaker", "MAIN SPK", > >+ "Microphone", "MAIN MIC"; > >+ > >+ primary-dai-link-0 { > >+ link-name = "fsd-primary-0"; > >+ dai-format = "i2s"; > >+ tesla,bitclock-master = <&tdm_0>; > >+ tesla,frame-master = <&tdm_0>; > >+ cpu { > >+ sound-dai = <&tdm_0 0>; > >+ }; > >+ }; > >+ > >+ secondary-dai-link-0 { > >+ link-name = "fsd-secondary-0"; > >+ dai-format = "i2s"; > >+ tesla,bitclock-master = <&tdm_0>; > >+ tesla,frame-master = <&tdm_0>; > >+ cpu { > >+ sound-dai = <&tdm_0 1>; > >+ }; > >+ }; > >+ > >+ primary-dai-link-1 { > >+ link-name = "fsd-primary-1"; > >+ dai-format = "i2s"; > >+ tesla,bitclock-master = <&tdm_1>; > >+ tesla,frame-master = <&tdm_1>; > >+ cpu { > >+ sound-dai = <&tdm_1 0>; > >+ }; > >+ }; > >+ > >+ secondary-dai-link-1 { > >+ link-name = "fsd-secondary-1"; > >+ dai-format = "i2s"; > >+ tesla,bitclock-master = <&tdm_1>; > >+ tesla,frame-master = <&tdm_1>; > >+ cpu { > >+ sound-dai = <&tdm_1 1>; > >+ }; > >+ }; > >+}; > >diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi > >b/arch/arm64/boot/dts/tesla/fsd.dtsi > >index 5decad45a1b6..fc8931f830a7 100644 > >--- a/arch/arm64/boot/dts/tesla/fsd.dtsi > >+++ b/arch/arm64/boot/dts/tesla/fsd.dtsi > >@@ -847,6 +847,9 @@ > > status = "disabled"; > > }; > > > >+ sound: sound { > >+ }; > >+ > Why to have an empty node in dtsi? This is required as every node we use in dts should have the same declared in dtsi. Sound nodes in most of the platform is only declared (dummy node) in dtsi and defining only in dts. Thus we are following the same. > > > timer@10040000 { > > compatible = "tesla,fsd-mct", "samsung,exynos4210- > mct"; > > reg = <0x0 0x10040000 0x0 0x800>; > >-- > >2.17.1 > Thank you for reviewing the patch
On 21/10/2022 04:12, Padmanabhan Rajanbabu wrote: > > >> -----Original Message----- >> From: Alim Akhtar [mailto:alim.akhtar@samsung.com] >> Sent: 14 October 2022 06:59 PM >> To: 'Padmanabhan Rajanbabu' <p.rajanbabu@samsung.com>; >> lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org; >> krzysztof.kozlowski+dt@linaro.org; s.nawrocki@samsung.com; >> perex@perex.cz; tiwai@suse.com; pankaj.dubey@samsung.com; >> rcsekar@samsung.com; aswani.reddy@samsung.com >> Cc: alsa-devel@alsa-project.org; devicetree@vger.kernel.org; linux- >> kernel@vger.kernel.org; linux-samsung-soc@vger.kernel.org >> Subject: RE: [PATCH 6/6] arm64: dts: fsd: Add sound card node for Tesla FSD >> >> >> >>> -----Original Message----- >>> From: Padmanabhan Rajanbabu [mailto:p.rajanbabu@samsung.com] >>> Sent: Friday, October 14, 2022 3:52 PM >>> To: lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org; >>> krzysztof.kozlowski+dt@linaro.org; s.nawrocki@samsung.com; >>> perex@perex.cz; tiwai@suse.com; pankaj.dubey@samsung.com; >>> alim.akhtar@samsung.com; rcsekar@samsung.com; >> aswani.reddy@samsung.com >>> Cc: alsa-devel@alsa-project.org; devicetree@vger.kernel.org; linux- >>> kernel@vger.kernel.org; linux-samsung-soc@vger.kernel.org; >> Padmanabhan >>> Rajanbabu <p.rajanbabu@samsung.com> >>> Subject: [PATCH 6/6] arm64: dts: fsd: Add sound card node for Tesla FSD >>> >>> Add device tree node support for sound card on Tesla FSD board >>> >>> Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> >>> --- >>> arch/arm64/boot/dts/tesla/fsd-evb.dts | 49 >>> +++++++++++++++++++++++++++ >>> arch/arm64/boot/dts/tesla/fsd.dtsi | 3 ++ >>> 2 files changed, 52 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts >>> b/arch/arm64/boot/dts/tesla/fsd-evb.dts >>> index c0a4509499ab..ecaa3c2e3045 100644 >>> --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts >>> +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts >>> @@ -49,3 +49,52 @@ >>> &tdm_1 { >>> status = "okay"; >>> }; >>> + >>> +&sound { >>> + compatible = "tesla,fsd-sndcard"; >>> + status = "okay"; >>> + model = "fsd-i2s"; >>> + widgets = >>> + "Speaker", "MAIN SPK", >>> + "Microphone", "MAIN MIC"; >>> + >>> + primary-dai-link-0 { >>> + link-name = "fsd-primary-0"; >>> + dai-format = "i2s"; >>> + tesla,bitclock-master = <&tdm_0>; >>> + tesla,frame-master = <&tdm_0>; >>> + cpu { >>> + sound-dai = <&tdm_0 0>; >>> + }; >>> + }; >>> + >>> + secondary-dai-link-0 { >>> + link-name = "fsd-secondary-0"; >>> + dai-format = "i2s"; >>> + tesla,bitclock-master = <&tdm_0>; >>> + tesla,frame-master = <&tdm_0>; >>> + cpu { >>> + sound-dai = <&tdm_0 1>; >>> + }; >>> + }; >>> + >>> + primary-dai-link-1 { >>> + link-name = "fsd-primary-1"; >>> + dai-format = "i2s"; >>> + tesla,bitclock-master = <&tdm_1>; >>> + tesla,frame-master = <&tdm_1>; >>> + cpu { >>> + sound-dai = <&tdm_1 0>; >>> + }; >>> + }; >>> + >>> + secondary-dai-link-1 { >>> + link-name = "fsd-secondary-1"; >>> + dai-format = "i2s"; >>> + tesla,bitclock-master = <&tdm_1>; >>> + tesla,frame-master = <&tdm_1>; >>> + cpu { >>> + sound-dai = <&tdm_1 1>; >>> + }; >>> + }; >>> +}; >>> diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi >>> b/arch/arm64/boot/dts/tesla/fsd.dtsi >>> index 5decad45a1b6..fc8931f830a7 100644 >>> --- a/arch/arm64/boot/dts/tesla/fsd.dtsi >>> +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi >>> @@ -847,6 +847,9 @@ >>> status = "disabled"; >>> }; >>> >>> + sound: sound { >>> + }; >>> + >> Why to have an empty node in dtsi? > This is required as every node we use in dts should have the same declared in I see no reason why this is required. > dtsi. Sound nodes in most of the platform is only declared (dummy node) in > dtsi and defining only in dts. Thus we are following the same. Can you point me to Samsung platform doing this? Keep the code consistent with Exynos style. Best regards, Krzysztof
> -----Original Message----- > From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@linaro.org] > Sent: 21 October 2022 06:24 PM > To: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>; 'Alim Akhtar' > <alim.akhtar@samsung.com>; lgirdwood@gmail.com; broonie@kernel.org; > robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org; > s.nawrocki@samsung.com; perex@perex.cz; tiwai@suse.com; > pankaj.dubey@samsung.com; rcsekar@samsung.com; > aswani.reddy@samsung.com > Cc: alsa-devel@alsa-project.org; devicetree@vger.kernel.org; linux- > kernel@vger.kernel.org; linux-samsung-soc@vger.kernel.org > Subject: Re: [PATCH 6/6] arm64: dts: fsd: Add sound card node for Tesla FSD > > On 21/10/2022 04:12, Padmanabhan Rajanbabu wrote: > > > > > >> -----Original Message----- > >> From: Alim Akhtar [mailto:alim.akhtar@samsung.com] > >> Sent: 14 October 2022 06:59 PM > >> To: 'Padmanabhan Rajanbabu' <p.rajanbabu@samsung.com>; > >> lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org; > >> krzysztof.kozlowski+dt@linaro.org; s.nawrocki@samsung.com; > >> perex@perex.cz; tiwai@suse.com; pankaj.dubey@samsung.com; > >> rcsekar@samsung.com; aswani.reddy@samsung.com > >> Cc: alsa-devel@alsa-project.org; devicetree@vger.kernel.org; linux- > >> kernel@vger.kernel.org; linux-samsung-soc@vger.kernel.org > >> Subject: RE: [PATCH 6/6] arm64: dts: fsd: Add sound card node for > >> Tesla FSD > >> > >> > >> > >>> -----Original Message----- > >>> From: Padmanabhan Rajanbabu [mailto:p.rajanbabu@samsung.com] > >>> Sent: Friday, October 14, 2022 3:52 PM > >>> To: lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org; > >>> krzysztof.kozlowski+dt@linaro.org; s.nawrocki@samsung.com; > >>> perex@perex.cz; tiwai@suse.com; pankaj.dubey@samsung.com; > >>> alim.akhtar@samsung.com; rcsekar@samsung.com; > >> aswani.reddy@samsung.com > >>> Cc: alsa-devel@alsa-project.org; devicetree@vger.kernel.org; linux- > >>> kernel@vger.kernel.org; linux-samsung-soc@vger.kernel.org; > >> Padmanabhan > >>> Rajanbabu <p.rajanbabu@samsung.com> > >>> Subject: [PATCH 6/6] arm64: dts: fsd: Add sound card node for Tesla > >>> FSD > >>> > >>> Add device tree node support for sound card on Tesla FSD board > >>> > >>> Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> > >>> --- > >>> arch/arm64/boot/dts/tesla/fsd-evb.dts | 49 > >>> +++++++++++++++++++++++++++ > >>> arch/arm64/boot/dts/tesla/fsd.dtsi | 3 ++ > >>> 2 files changed, 52 insertions(+) > >>> > >>> diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts > >>> b/arch/arm64/boot/dts/tesla/fsd-evb.dts > >>> index c0a4509499ab..ecaa3c2e3045 100644 > >>> --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts > >>> +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts > >>> @@ -49,3 +49,52 @@ > >>> &tdm_1 { > >>> status = "okay"; > >>> }; > >>> + > >>> +&sound { > >>> + compatible = "tesla,fsd-sndcard"; > >>> + status = "okay"; > >>> + model = "fsd-i2s"; > >>> + widgets = > >>> + "Speaker", "MAIN SPK", > >>> + "Microphone", "MAIN MIC"; > >>> + > >>> + primary-dai-link-0 { > >>> + link-name = "fsd-primary-0"; > >>> + dai-format = "i2s"; > >>> + tesla,bitclock-master = <&tdm_0>; > >>> + tesla,frame-master = <&tdm_0>; > >>> + cpu { > >>> + sound-dai = <&tdm_0 0>; > >>> + }; > >>> + }; > >>> + > >>> + secondary-dai-link-0 { > >>> + link-name = "fsd-secondary-0"; > >>> + dai-format = "i2s"; > >>> + tesla,bitclock-master = <&tdm_0>; > >>> + tesla,frame-master = <&tdm_0>; > >>> + cpu { > >>> + sound-dai = <&tdm_0 1>; > >>> + }; > >>> + }; > >>> + > >>> + primary-dai-link-1 { > >>> + link-name = "fsd-primary-1"; > >>> + dai-format = "i2s"; > >>> + tesla,bitclock-master = <&tdm_1>; > >>> + tesla,frame-master = <&tdm_1>; > >>> + cpu { > >>> + sound-dai = <&tdm_1 0>; > >>> + }; > >>> + }; > >>> + > >>> + secondary-dai-link-1 { > >>> + link-name = "fsd-secondary-1"; > >>> + dai-format = "i2s"; > >>> + tesla,bitclock-master = <&tdm_1>; > >>> + tesla,frame-master = <&tdm_1>; > >>> + cpu { > >>> + sound-dai = <&tdm_1 1>; > >>> + }; > >>> + }; > >>> +}; > >>> diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi > >>> b/arch/arm64/boot/dts/tesla/fsd.dtsi > >>> index 5decad45a1b6..fc8931f830a7 100644 > >>> --- a/arch/arm64/boot/dts/tesla/fsd.dtsi > >>> +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi > >>> @@ -847,6 +847,9 @@ > >>> status = "disabled"; > >>> }; > >>> > >>> + sound: sound { > >>> + }; > >>> + > >> Why to have an empty node in dtsi? > > This is required as every node we use in dts should have the same > > declared in > > I see no reason why this is required. > > > dtsi. Sound nodes in most of the platform is only declared (dummy > > node) in dtsi and defining only in dts. Thus we are following the same. > > Can you point me to Samsung platform doing this? > > Keep the code consistent with Exynos style. Okay, will add the sound node in accordance with Exynos style > > Best regards, > Krzysztof
diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts b/arch/arm64/boot/dts/tesla/fsd-evb.dts index c0a4509499ab..ecaa3c2e3045 100644 --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts @@ -49,3 +49,52 @@ &tdm_1 { status = "okay"; }; + +&sound { + compatible = "tesla,fsd-sndcard"; + status = "okay"; + model = "fsd-i2s"; + widgets = + "Speaker", "MAIN SPK", + "Microphone", "MAIN MIC"; + + primary-dai-link-0 { + link-name = "fsd-primary-0"; + dai-format = "i2s"; + tesla,bitclock-master = <&tdm_0>; + tesla,frame-master = <&tdm_0>; + cpu { + sound-dai = <&tdm_0 0>; + }; + }; + + secondary-dai-link-0 { + link-name = "fsd-secondary-0"; + dai-format = "i2s"; + tesla,bitclock-master = <&tdm_0>; + tesla,frame-master = <&tdm_0>; + cpu { + sound-dai = <&tdm_0 1>; + }; + }; + + primary-dai-link-1 { + link-name = "fsd-primary-1"; + dai-format = "i2s"; + tesla,bitclock-master = <&tdm_1>; + tesla,frame-master = <&tdm_1>; + cpu { + sound-dai = <&tdm_1 0>; + }; + }; + + secondary-dai-link-1 { + link-name = "fsd-secondary-1"; + dai-format = "i2s"; + tesla,bitclock-master = <&tdm_1>; + tesla,frame-master = <&tdm_1>; + cpu { + sound-dai = <&tdm_1 1>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi b/arch/arm64/boot/dts/tesla/fsd.dtsi index 5decad45a1b6..fc8931f830a7 100644 --- a/arch/arm64/boot/dts/tesla/fsd.dtsi +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi @@ -847,6 +847,9 @@ status = "disabled"; }; + sound: sound { + }; + timer@10040000 { compatible = "tesla,fsd-mct", "samsung,exynos4210-mct"; reg = <0x0 0x10040000 0x0 0x800>;
Add device tree node support for sound card on Tesla FSD board Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> --- arch/arm64/boot/dts/tesla/fsd-evb.dts | 49 +++++++++++++++++++++++++++ arch/arm64/boot/dts/tesla/fsd.dtsi | 3 ++ 2 files changed, 52 insertions(+)