Message ID | 20221014102151.108539-6-p.rajanbabu@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/6] ASoC: samsung: i2s: TDM Support for CPU DAI driver | 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 5/6] arm64: dts: fsd: Add I2S DAI node for Tesla FSD > >Add device tree node for I2S0 and I2S1 CPU DAI instances for Tesla FSD board > >Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> >--- > arch/arm64/boot/dts/tesla/fsd-evb.dts | 8 +++++ > arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi | 14 ++++++++ > arch/arm64/boot/dts/tesla/fsd.dtsi | 38 ++++++++++++++++++++++ > 3 files changed, 60 insertions(+) > >diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts >b/arch/arm64/boot/dts/tesla/fsd-evb.dts >index 1db6ddf03f01..c0a4509499ab 100644 >--- a/arch/arm64/boot/dts/tesla/fsd-evb.dts >+++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts >@@ -41,3 +41,11 @@ > &ufs { > status = "okay"; > }; >+ >+&tdm_0 { >+ status = "okay"; >+}; >+ >+&tdm_1 { >+ status = "okay"; >+}; >diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi >b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi >index e3852c946352..ff6f5d4b16dd 100644 >--- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi >+++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi >@@ -339,6 +339,20 @@ > samsung,pin-pud = <FSD_PIN_PULL_UP>; > samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; >+ >+ i2s0_bus: i2s0-bus { >+ samsung,pins = "gpd1-0", "gpd1-1", "gpd1-2", "gpd1-3", >"gpd1-4"; >+ samsung,pin-function = <FSD_PIN_FUNC_2>; >+ samsung,pin-pud = <FSD_PIN_PULL_DOWN>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; >+ }; >+ >+ i2s1_bus: i2s1-bus { >+ samsung,pins = "gpd2-0", "gpd2-1", "gpd2-2", "gpd2-3", >"gpd2-4"; >+ samsung,pin-function = <FSD_PIN_FUNC_2>; >+ samsung,pin-pud = <FSD_PIN_PULL_DOWN>; >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; >+ }; > }; > > &pinctrl_pmu { >diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi >b/arch/arm64/boot/dts/tesla/fsd.dtsi >index f35bc5a288c2..5decad45a1b6 100644 >--- a/arch/arm64/boot/dts/tesla/fsd.dtsi >+++ b/arch/arm64/boot/dts/tesla/fsd.dtsi >@@ -32,6 +32,8 @@ > spi0 = &spi_0; > spi1 = &spi_1; > spi2 = &spi_2; >+ tdm0 = &tdm_0; >+ tdm1 = &tdm_1; > }; > > cpus { >@@ -809,6 +811,42 @@ > status = "disabled"; > }; > >+ tdm_0: tdm@140e0000 { >+ compatible = "samsung,exynos7-i2s"; >+ reg = <0x0 0x140E0000 0x0 0x100>; Address should be all in small caps Make sure you have run 'make dtbs_check' >+ interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; >+ dmas = <&pdma1 14>, <&pdma1 13>, <&pdma1 12>; >+ dma-names = "tx", "rx", "tx-sec"; >+ #clock-cells = <1>; >+ #sound-dai-cells = <1>; >+ clocks = <&clock_peric PERIC_HCLK_TDM0>, >+ <&clock_peric PERIC_HCLK_TDM0>, >+ <&clock_peric PERIC_PCLK_TDM0>; >+ clock-names = "i2s_opclk0", "i2s_opclk1", "iis"; >+ pinctrl-names = "default"; >+ pinctrl-0 = <&i2s0_bus>; >+ samsung,sec-dai-id = <0>; >+ status = "disabled"; >+ }; >+ >+ tdm_1: tdm@140f0000 { >+ compatible = "samsung,exynos7-i2s"; >+ reg = <0x0 0x140F0000 0x0 0x100>; Same as above >+ interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; >+ dmas = <&pdma1 17>, <&pdma1 16>, <&pdma1 15>; >+ dma-names = "tx", "rx", "tx-sec"; >+ #clock-cells = <1>; >+ #sound-dai-cells = <1>; >+ clocks = <&clock_peric PERIC_HCLK_TDM1>, >+ <&clock_peric PERIC_HCLK_TDM1>, >+ <&clock_peric PERIC_PCLK_TDM1>; >+ clock-names = "i2s_opclk0", "i2s_opclk1", "iis"; >+ pinctrl-names = "default"; >+ pinctrl-0 = <&i2s1_bus>; >+ samsung,sec-dai-id = <1>; >+ status = "disabled"; >+ }; >+ > timer@10040000 { > compatible = "tesla,fsd-mct", "samsung,exynos4210- >mct"; > reg = <0x0 0x10040000 0x0 0x800>; >-- >2.17.1
On 14/10/2022 06:21, Padmanabhan Rajanbabu wrote: > Add device tree node for I2S0 and I2S1 CPU DAI instances for Tesla > FSD board > > Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> > --- > arch/arm64/boot/dts/tesla/fsd-evb.dts | 8 +++++ > arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi | 14 ++++++++ > arch/arm64/boot/dts/tesla/fsd.dtsi | 38 ++++++++++++++++++++++ > 3 files changed, 60 insertions(+) > > diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts b/arch/arm64/boot/dts/tesla/fsd-evb.dts > index 1db6ddf03f01..c0a4509499ab 100644 > --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts > +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts > @@ -41,3 +41,11 @@ > &ufs { > status = "okay"; > }; > + > +&tdm_0 { Alphabetical order against other label-overrides. > + status = "okay"; > +}; > + > +&tdm_1 { > + status = "okay"; > +}; > diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > index e3852c946352..ff6f5d4b16dd 100644 > --- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > +++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > @@ -339,6 +339,20 @@ > samsung,pin-pud = <FSD_PIN_PULL_UP>; > samsung,pin-drv = <FSD_PIN_DRV_LV4>; > }; > + > + i2s0_bus: i2s0-bus { Does not look like you tested the DTS against bindings. Please run `make dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst for instructions). > + samsung,pins = "gpd1-0", "gpd1-1", "gpd1-2", "gpd1-3", "gpd1-4"; > + samsung,pin-function = <FSD_PIN_FUNC_2>; > + samsung,pin-pud = <FSD_PIN_PULL_DOWN>; > + samsung,pin-drv = <FSD_PIN_DRV_LV4>; > + }; > + > + i2s1_bus: i2s1-bus { > + samsung,pins = "gpd2-0", "gpd2-1", "gpd2-2", "gpd2-3", "gpd2-4"; > + samsung,pin-function = <FSD_PIN_FUNC_2>; > + samsung,pin-pud = <FSD_PIN_PULL_DOWN>; > + samsung,pin-drv = <FSD_PIN_DRV_LV4>; > + }; > }; > > &pinctrl_pmu { > diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi b/arch/arm64/boot/dts/tesla/fsd.dtsi > index f35bc5a288c2..5decad45a1b6 100644 > --- a/arch/arm64/boot/dts/tesla/fsd.dtsi > +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi > @@ -32,6 +32,8 @@ > spi0 = &spi_0; > spi1 = &spi_1; > spi2 = &spi_2; > + tdm0 = &tdm_0; > + tdm1 = &tdm_1; Why? > }; > > cpus { > @@ -809,6 +811,42 @@ > status = "disabled"; > }; > > + tdm_0: tdm@140e0000 { Node names should be generic, so this looks like i2s. https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "samsung,exynos7-i2s"; > + reg = <0x0 0x140E0000 0x0 0x100>; > + interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; > + dmas = <&pdma1 14>, <&pdma1 13>, <&pdma1 12>; > + dma-names = "tx", "rx", "tx-sec"; > + #clock-cells = <1>; > + #sound-dai-cells = <1>; > + clocks = <&clock_peric PERIC_HCLK_TDM0>, > + <&clock_peric PERIC_HCLK_TDM0>, > + <&clock_peric PERIC_PCLK_TDM0>; > + clock-names = "i2s_opclk0", "i2s_opclk1", "iis"; Does not look like you tested the DTS against bindings. Please run `make dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst for instructions). Best regards, Krzysztof
> -----Original Message----- > From: Alim Akhtar [mailto:alim.akhtar@samsung.com] > Sent: 14 October 2022 06:54 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 5/6] arm64: dts: fsd: Add I2S DAI 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 5/6] arm64: dts: fsd: Add I2S DAI node for Tesla FSD > > > >Add device tree node for I2S0 and I2S1 CPU DAI instances for Tesla FSD > >board > > > >Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> > >--- > > arch/arm64/boot/dts/tesla/fsd-evb.dts | 8 +++++ > > arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi | 14 ++++++++ > > arch/arm64/boot/dts/tesla/fsd.dtsi | 38 ++++++++++++++++++++++ > > 3 files changed, 60 insertions(+) > > > >diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts > >b/arch/arm64/boot/dts/tesla/fsd-evb.dts > >index 1db6ddf03f01..c0a4509499ab 100644 > >--- a/arch/arm64/boot/dts/tesla/fsd-evb.dts > >+++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts > >@@ -41,3 +41,11 @@ > > &ufs { > > status = "okay"; > > }; > >+ > >+&tdm_0 { > >+ status = "okay"; > >+}; > >+ > >+&tdm_1 { > >+ status = "okay"; > >+}; > >diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > >b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > >index e3852c946352..ff6f5d4b16dd 100644 > >--- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > >+++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > >@@ -339,6 +339,20 @@ > > samsung,pin-pud = <FSD_PIN_PULL_UP>; > > samsung,pin-drv = <FSD_PIN_DRV_LV4>; > > }; > >+ > >+ i2s0_bus: i2s0-bus { > >+ samsung,pins = "gpd1-0", "gpd1-1", "gpd1-2", "gpd1-3", > >"gpd1-4"; > >+ samsung,pin-function = <FSD_PIN_FUNC_2>; > >+ samsung,pin-pud = <FSD_PIN_PULL_DOWN>; > >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > >+ }; > >+ > >+ i2s1_bus: i2s1-bus { > >+ samsung,pins = "gpd2-0", "gpd2-1", "gpd2-2", "gpd2-3", > >"gpd2-4"; > >+ samsung,pin-function = <FSD_PIN_FUNC_2>; > >+ samsung,pin-pud = <FSD_PIN_PULL_DOWN>; > >+ samsung,pin-drv = <FSD_PIN_DRV_LV4>; > >+ }; > > }; > > > > &pinctrl_pmu { > >diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi > >b/arch/arm64/boot/dts/tesla/fsd.dtsi > >index f35bc5a288c2..5decad45a1b6 100644 > >--- a/arch/arm64/boot/dts/tesla/fsd.dtsi > >+++ b/arch/arm64/boot/dts/tesla/fsd.dtsi > >@@ -32,6 +32,8 @@ > > spi0 = &spi_0; > > spi1 = &spi_1; > > spi2 = &spi_2; > >+ tdm0 = &tdm_0; > >+ tdm1 = &tdm_1; > > }; > > > > cpus { > >@@ -809,6 +811,42 @@ > > status = "disabled"; > > }; > > > >+ tdm_0: tdm@140e0000 { > >+ compatible = "samsung,exynos7-i2s"; > >+ reg = <0x0 0x140E0000 0x0 0x100>; > Address should be all in small caps > Make sure you have run 'make dtbs_check' Okay > > >+ interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; > >+ dmas = <&pdma1 14>, <&pdma1 13>, <&pdma1 12>; > >+ dma-names = "tx", "rx", "tx-sec"; > >+ #clock-cells = <1>; > >+ #sound-dai-cells = <1>; > >+ clocks = <&clock_peric PERIC_HCLK_TDM0>, > >+ <&clock_peric PERIC_HCLK_TDM0>, > >+ <&clock_peric PERIC_PCLK_TDM0>; > >+ clock-names = "i2s_opclk0", "i2s_opclk1", "iis"; > >+ pinctrl-names = "default"; > >+ pinctrl-0 = <&i2s0_bus>; > >+ samsung,sec-dai-id = <0>; > >+ status = "disabled"; > >+ }; > >+ > >+ tdm_1: tdm@140f0000 { > >+ compatible = "samsung,exynos7-i2s"; > >+ reg = <0x0 0x140F0000 0x0 0x100>; > Same as above Okay > > >+ interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; > >+ dmas = <&pdma1 17>, <&pdma1 16>, <&pdma1 15>; > >+ dma-names = "tx", "rx", "tx-sec"; > >+ #clock-cells = <1>; > >+ #sound-dai-cells = <1>; > >+ clocks = <&clock_peric PERIC_HCLK_TDM1>, > >+ <&clock_peric PERIC_HCLK_TDM1>, > >+ <&clock_peric PERIC_PCLK_TDM1>; > >+ clock-names = "i2s_opclk0", "i2s_opclk1", "iis"; > >+ pinctrl-names = "default"; > >+ pinctrl-0 = <&i2s1_bus>; > >+ samsung,sec-dai-id = <1>; > >+ status = "disabled"; > >+ }; > >+ > > timer@10040000 { > > compatible = "tesla,fsd-mct", "samsung,exynos4210- > mct"; > > reg = <0x0 0x10040000 0x0 0x800>; > >-- > >2.17.1 >
> -----Original Message----- > From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@linaro.org] > Sent: 16 October 2022 08:44 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; > 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 > Subject: Re: [PATCH 5/6] arm64: dts: fsd: Add I2S DAI node for Tesla FSD > > On 14/10/2022 06:21, Padmanabhan Rajanbabu wrote: > > Add device tree node for I2S0 and I2S1 CPU DAI instances for Tesla FSD > > board > > > > Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> > > --- > > arch/arm64/boot/dts/tesla/fsd-evb.dts | 8 +++++ > > arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi | 14 ++++++++ > > arch/arm64/boot/dts/tesla/fsd.dtsi | 38 ++++++++++++++++++++++ > > 3 files changed, 60 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts > > b/arch/arm64/boot/dts/tesla/fsd-evb.dts > > index 1db6ddf03f01..c0a4509499ab 100644 > > --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts > > +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts > > @@ -41,3 +41,11 @@ > > &ufs { > > status = "okay"; > > }; > > + > > +&tdm_0 { > > Alphabetical order against other label-overrides. Okay > > > + status = "okay"; > > +}; > > + > > +&tdm_1 { > > + status = "okay"; > > +}; > > diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > > b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > > index e3852c946352..ff6f5d4b16dd 100644 > > --- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > > +++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi > > @@ -339,6 +339,20 @@ > > samsung,pin-pud = <FSD_PIN_PULL_UP>; > > samsung,pin-drv = <FSD_PIN_DRV_LV4>; > > }; > > + > > + i2s0_bus: i2s0-bus { > > Does not look like you tested the DTS against bindings. Please run `make > dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst > for instructions). I'll double check and run dtbs_check to see if I'm hitting any errors. > > > + samsung,pins = "gpd1-0", "gpd1-1", "gpd1-2", "gpd1-3", > "gpd1-4"; > > + samsung,pin-function = <FSD_PIN_FUNC_2>; > > + samsung,pin-pud = <FSD_PIN_PULL_DOWN>; > > + samsung,pin-drv = <FSD_PIN_DRV_LV4>; > > + }; > > + > > + i2s1_bus: i2s1-bus { > > + samsung,pins = "gpd2-0", "gpd2-1", "gpd2-2", "gpd2-3", > "gpd2-4"; > > + samsung,pin-function = <FSD_PIN_FUNC_2>; > > + samsung,pin-pud = <FSD_PIN_PULL_DOWN>; > > + samsung,pin-drv = <FSD_PIN_DRV_LV4>; > > + }; > > }; > > > > &pinctrl_pmu { > > diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi > > b/arch/arm64/boot/dts/tesla/fsd.dtsi > > index f35bc5a288c2..5decad45a1b6 100644 > > --- a/arch/arm64/boot/dts/tesla/fsd.dtsi > > +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi > > @@ -32,6 +32,8 @@ > > spi0 = &spi_0; > > spi1 = &spi_1; > > spi2 = &spi_2; > > + tdm0 = &tdm_0; > > + tdm1 = &tdm_1; > > Why? Sorry, these aliases are not used right now. I'll remove it. > > > }; > > > > cpus { > > @@ -809,6 +811,42 @@ > > status = "disabled"; > > }; > > > > + tdm_0: tdm@140e0000 { > > Node names should be generic, so this looks like i2s. > https://protect2.fireeye.com/v1/url?k=2cfaa5af-4d874de8-2cfb2ee0- > 74fe485fff30-cb16acc0c0c574e9&q=1&e=fc8e3b54-a0ef-475e-a4f2- > 83626a86ac8a&u=https%3A%2F%2Fdevicetree- > specification.readthedocs.io%2Fen%2Flatest%2Fchapter2-devicetree- > basics.html%23generic-names-recommendation Thank you for the link. I could only find audio-controller in the list and not i2s. so I believe I can use audio-controller node name. Please correct me otherwise. > > > + compatible = "samsung,exynos7-i2s"; > > + reg = <0x0 0x140E0000 0x0 0x100>; > > + interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; > > + dmas = <&pdma1 14>, <&pdma1 13>, <&pdma1 12>; > > + dma-names = "tx", "rx", "tx-sec"; > > + #clock-cells = <1>; > > + #sound-dai-cells = <1>; > > + clocks = <&clock_peric PERIC_HCLK_TDM0>, > > + <&clock_peric PERIC_HCLK_TDM0>, > > + <&clock_peric PERIC_PCLK_TDM0>; > > + clock-names = "i2s_opclk0", "i2s_opclk1", "iis"; > > Does not look like you tested the DTS against bindings. Please run `make > dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst > for instructions). I'll double check and run dtbs_check to see if I'm hitting any errors. > > Best regards, > Krzysztof Thank you for reviewing the patch
On 21/10/2022 04:49, Padmanabhan Rajanbabu wrote: >>> >>> cpus { >>> @@ -809,6 +811,42 @@ >>> status = "disabled"; >>> }; >>> >>> + tdm_0: tdm@140e0000 { >> >> Node names should be generic, so this looks like i2s. >> https://protect2.fireeye.com/v1/url?k=2cfaa5af-4d874de8-2cfb2ee0- >> 74fe485fff30-cb16acc0c0c574e9&q=1&e=fc8e3b54-a0ef-475e-a4f2- >> 83626a86ac8a&u=https%3A%2F%2Fdevicetree- >> specification.readthedocs.io%2Fen%2Flatest%2Fchapter2-devicetree- >> basics.html%23generic-names-recommendation > > Thank you for the link. I could only find audio-controller in the list and > not i2s. so I believe I can use audio-controller node name. Please correct > me otherwise. All I2S controllers use node name "i2s", so if this is I2S, then use "i2s". Best regards, Krzysztof
> -----Original Message----- > From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@linaro.org] > Sent: 21 October 2022 06:32 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; > 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 > Subject: Re: [PATCH 5/6] arm64: dts: fsd: Add I2S DAI node for Tesla FSD > > On 21/10/2022 04:49, Padmanabhan Rajanbabu wrote: > >>> > >>> cpus { > >>> @@ -809,6 +811,42 @@ > >>> status = "disabled"; > >>> }; > >>> > >>> + tdm_0: tdm@140e0000 { > >> > >> Node names should be generic, so this looks like i2s. > >> https://protect2.fireeye.com/v1/url?k=2cfaa5af-4d874de8-2cfb2ee0- > >> 74fe485fff30-cb16acc0c0c574e9&q=1&e=fc8e3b54-a0ef-475e-a4f2- > >> 83626a86ac8a&u=https%3A%2F%2Fdevicetree- > >> specification.readthedocs.io%2Fen%2Flatest%2Fchapter2-devicetree- > >> basics.html%23generic-names-recommendation > > > > Thank you for the link. I could only find audio-controller in the list > > and not i2s. so I believe I can use audio-controller node name. Please > > correct me otherwise. > > All I2S controllers use node name "i2s", so if this is I2S, then use "i2s". Okay, I'll ensure the next version will use "i2s" node name > > > Best regards, > Krzysztof
diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts b/arch/arm64/boot/dts/tesla/fsd-evb.dts index 1db6ddf03f01..c0a4509499ab 100644 --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts @@ -41,3 +41,11 @@ &ufs { status = "okay"; }; + +&tdm_0 { + status = "okay"; +}; + +&tdm_1 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi index e3852c946352..ff6f5d4b16dd 100644 --- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi +++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi @@ -339,6 +339,20 @@ samsung,pin-pud = <FSD_PIN_PULL_UP>; samsung,pin-drv = <FSD_PIN_DRV_LV4>; }; + + i2s0_bus: i2s0-bus { + samsung,pins = "gpd1-0", "gpd1-1", "gpd1-2", "gpd1-3", "gpd1-4"; + samsung,pin-function = <FSD_PIN_FUNC_2>; + samsung,pin-pud = <FSD_PIN_PULL_DOWN>; + samsung,pin-drv = <FSD_PIN_DRV_LV4>; + }; + + i2s1_bus: i2s1-bus { + samsung,pins = "gpd2-0", "gpd2-1", "gpd2-2", "gpd2-3", "gpd2-4"; + samsung,pin-function = <FSD_PIN_FUNC_2>; + samsung,pin-pud = <FSD_PIN_PULL_DOWN>; + samsung,pin-drv = <FSD_PIN_DRV_LV4>; + }; }; &pinctrl_pmu { diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi b/arch/arm64/boot/dts/tesla/fsd.dtsi index f35bc5a288c2..5decad45a1b6 100644 --- a/arch/arm64/boot/dts/tesla/fsd.dtsi +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi @@ -32,6 +32,8 @@ spi0 = &spi_0; spi1 = &spi_1; spi2 = &spi_2; + tdm0 = &tdm_0; + tdm1 = &tdm_1; }; cpus { @@ -809,6 +811,42 @@ status = "disabled"; }; + tdm_0: tdm@140e0000 { + compatible = "samsung,exynos7-i2s"; + reg = <0x0 0x140E0000 0x0 0x100>; + interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&pdma1 14>, <&pdma1 13>, <&pdma1 12>; + dma-names = "tx", "rx", "tx-sec"; + #clock-cells = <1>; + #sound-dai-cells = <1>; + clocks = <&clock_peric PERIC_HCLK_TDM0>, + <&clock_peric PERIC_HCLK_TDM0>, + <&clock_peric PERIC_PCLK_TDM0>; + clock-names = "i2s_opclk0", "i2s_opclk1", "iis"; + pinctrl-names = "default"; + pinctrl-0 = <&i2s0_bus>; + samsung,sec-dai-id = <0>; + status = "disabled"; + }; + + tdm_1: tdm@140f0000 { + compatible = "samsung,exynos7-i2s"; + reg = <0x0 0x140F0000 0x0 0x100>; + interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&pdma1 17>, <&pdma1 16>, <&pdma1 15>; + dma-names = "tx", "rx", "tx-sec"; + #clock-cells = <1>; + #sound-dai-cells = <1>; + clocks = <&clock_peric PERIC_HCLK_TDM1>, + <&clock_peric PERIC_HCLK_TDM1>, + <&clock_peric PERIC_PCLK_TDM1>; + clock-names = "i2s_opclk0", "i2s_opclk1", "iis"; + pinctrl-names = "default"; + pinctrl-0 = <&i2s1_bus>; + samsung,sec-dai-id = <1>; + status = "disabled"; + }; + timer@10040000 { compatible = "tesla,fsd-mct", "samsung,exynos4210-mct"; reg = <0x0 0x10040000 0x0 0x800>;
Add device tree node for I2S0 and I2S1 CPU DAI instances for Tesla FSD board Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com> --- arch/arm64/boot/dts/tesla/fsd-evb.dts | 8 +++++ arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi | 14 ++++++++ arch/arm64/boot/dts/tesla/fsd.dtsi | 38 ++++++++++++++++++++++ 3 files changed, 60 insertions(+)