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

From: Alim Akhtar
Date: Fri Oct 14 2022 - 09:24:24 EST




>-----Original Message-----
>From: Padmanabhan Rajanbabu [mailto:p.rajanbabu@xxxxxxxxxxx]
>Sent: Friday, October 14, 2022 3:52 PM
>To: lgirdwood@xxxxxxxxx; broonie@xxxxxxxxxx; robh+dt@xxxxxxxxxx;
>krzysztof.kozlowski+dt@xxxxxxxxxx; s.nawrocki@xxxxxxxxxxx;
>perex@xxxxxxxx; tiwai@xxxxxxxx; pankaj.dubey@xxxxxxxxxxx;
>alim.akhtar@xxxxxxxxxxx; rcsekar@xxxxxxxxxxx;
>aswani.reddy@xxxxxxxxxxx
>Cc: alsa-devel@xxxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-
>kernel@xxxxxxxxxxxxxxx; linux-samsung-soc@xxxxxxxxxxxxxxx; Padmanabhan
>Rajanbabu <p.rajanbabu@xxxxxxxxxxx>
>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@xxxxxxxxxxx>
>---
> 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