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