Re: [PATCH v2 2/2] arm64: dts: imx8mn-bsh-smm-s2pro: Add tlv320aic31xx audio card node

Ariel D'Alessandro
2022-03-25T11:19:45Z

Hi Fabio,

On 3/17/22 15:47, Ariel D'Alessandro wrote:
> 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@collabora.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);
> }
> }

Do you have any other comments on this one? Otherwise, could you perhaps
ack this patch? See latest version:
[PATCH v4] arm64: dts: imx8mn-bsh-smm-s2pro: Add tlv320aic31xx audio
card node

Thanks
Ariel