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