RE: [PATCH 5/6] arm64: dts: fsd: Add I2S DAI node for Tesla FSD

Padmanabhan Rajanbabu
2022-10-21T08:54:39Z

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