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

Ariel D'Alessandro ariel.dalessandro at collabora.com
Thu Mar 17 11:47:56 PDT 2022


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 at collabora.com> wrote:
> 
>> +&i2c2 {
>> +       clock-frequency = <400000>;
>> +       pinctrl-names = "default";
>> +       pinctrl-0 = <&pinctrl_i2c2>;
>> +       status = "okay";
>> +
>> +       codec: tlv320dac3101 at 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



More information about the linux-arm-kernel mailing list