diff mbox series

[6/6] arm64: dts: fsd: Add sound card node for Tesla FSD

Message ID 20221014102151.108539-7-p.rajanbabu@samsung.com
State New
Headers show
Series [1/6] ASoC: samsung: i2s: TDM Support for CPU DAI driver | expand

Commit Message

Padmanabhan Rajanbabu Oct. 14, 2022, 10:21 a.m. UTC
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(+)

Comments

Padmanabhan Rajanbabu Oct. 21, 2022, 8:12 a.m. UTC | #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
Padmanabhan Rajanbabu Nov. 8, 2022, 5:25 a.m. UTC | #2
> -----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 mbox series

Patch

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>;