[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d748d03d-4e9c-50a5-6c9e-089ec44a2540@collabora.com>
Date: Thu, 17 Mar 2022 15:47:56 -0300
From: Ariel D'Alessandro <ariel.dalessandro@...labora.com>
To: Fabio Estevam <festevam@...il.com>
Cc: Linux-ALSA <alsa-devel@...a-project.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>, Sascha Hauer <kernel@...gutronix.de>,
"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
<linux-arm-kernel@...ts.infradead.org>,
NXP Linux Team <linux-imx@....com>,
linux-kernel <linux-kernel@...r.kernel.org>,
Mark Brown <broonie@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>,
Liam Girdwood <lgirdwood@...il.com>,
Michael Trimarchi <michael@...rulasolutions.com>,
Rob Herring <robh+dt@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Shawn Guo <shawnguo@...nel.org>
Subject: Re: [PATCH v2 2/2] arm64: dts: imx8mn-bsh-smm-s2pro: Add
tlv320aic31xx audio card node
Hi Fabio,
On 3/10/22 09:29, Fabio Estevam wrote:
> Hi Ariel,
>
> On Thu, Feb 10, 2022 at 10:41 AM Ariel D'Alessandro
> <ariel.dalessandro@...labora.com> wrote:
>
>> +&i2c2 {
>> + clock-frequency = <400000>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_i2c2>;
>> + status = "okay";
>> +
>> + codec: tlv320dac3101@18 {
>> + #sound-dai-cells = <0>;
>> + compatible = "ti,tlv320dac3101";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_dac_rst>;
>> + reg = <0x18>;
>> +
>> + ai31xx-micbias-vg = <MICBIAS_AVDDV>;
>> +
>> + HPVDD-supply = <&buck4_reg>;
>> + SPRVDD-supply = <&vdd_input>;
>> + SPLVDD-supply = <&vdd_input>;
>> + AVDD-supply = <&buck4_reg>;
>> + IOVDD-supply = <&buck4_reg>;
>> + DVDD-supply = <&buck5_reg>;
>> + reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
>> +
>> + clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
>> + clock-names = "mclk";
>
> The clocks and clock-names properties are not documented in the codec bindings.
>
> Also, the driver does not use call clk_get() on this mclk clock.
>
> You should drop the clocks and clock-names properties.
The sound card driver is calling clk_get() on the codec's clock. See
sound/soc/fsl/fsl-asoc-card.c:
/* Get the MCLK rate only, and leave it controlled by CODEC drivers */
if (codec_dev) {
struct clk *codec_clk = clk_get(codec_dev, NULL);
if (!IS_ERR(codec_clk)) {
priv->codec_priv.mclk_freq = clk_get_rate(codec_clk);
clk_put(codec_clk);
}
}
Regards,
Ariel
Powered by blists - more mailing lists