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

Krzysztof Kozlowski
2022-10-16T15:14:18Z

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