[PATCH] Support for MAX98090/91 codec in iMX8MM evk

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Wed Jan 11 09:58:50 CET 2023


On 11/01/2023 08:16, Hardevsinh Palaniya wrote:
> From: Hardevsinh Palaniya <hardevsinh.palaniya at siliconsignals.io>
> Date: Sat, 7 Jan 2023 17:08:28 +0530
> Subject: [PATCH] Support for MAX98090/91 codec in iMX8MM evk

Use subject prefixes matching the subsystem (which you can get for
example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
your patch is touching).

> 
> - Adding node for MAX98090/91 in dts imx8mm-evk.dtsi
> - Adding tristate option in <sound/soc/codecs/Kconfig>
> 
> Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya at siliconsignals.io>

Your CC list insane. Use get_maintainers.pl.

> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> index e0b604ac0da4..58ff63cbc930 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> @@ -132,6 +132,32 @@ simple-audio-card,codec {
>                   clocks = <&clk IMX8MM_CLK_SAI3_ROOT>;
>             };
>       };
> +
> +     sound-max98090 {
> +           compatible = "simple-audio-card";
> +           simple-audio-card,name = "max98090-audio";
> +           simple-audio-card,format = "i2s";
> +           simple-audio-card,frame-master = <&cpudai>;
> +           simple-audio-card,bitclock-master = <&cpudai>;
> +           simple-audio-card,widgets = "Speakers", "Speakers";
> +           simple-audio-card,routing =
> +                       "Speakers", "SPKR",
> +                       "Speakers", "SPKL",
> +                       "IN1", "MICBIAS",
> +                       "MIC1","IN1",
> +                       "MIC2","IN1";
> +
> +           cpudai: simple-audio-card,cpu {
> +                 sound-dai = <&sai5>;
> +                 dai-tdm-slot-num = <2>;
> +                 dai-tdm-slot-width = <32>;
> +           };
> +
> +           simple-audio-card,codec {
> +                 sound-dai = <&max98090>;
> +                 clocks = <&clk IMX8MM_CLK_SAI5_ROOT>;
> +           };
> +     };
>  };
>  
>  &A53_0 {
> @@ -339,6 +365,14 @@ &i2c3 {
>       pinctrl-0 = <&pinctrl_i2c3>;
>       status = "okay";
>  
> +     max98090: max98090 at 10 {

Node names should be generic.
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

> +           #sound-dai-cells = <0>;
> +           compatible = "maxim,max98090";

compatible is first, then reg.

> +           reg = <0x10>;
> +           clocks = <&clk IMX8MM_CLK_SAI5_ROOT>;
> +           clock-names = "mclk";
> +     };
> +
>       pca6416: gpio at 20 {
>             compatible = "ti,tca6416";
>             reg = <0x20>;
> @@ -391,6 +425,20 @@ &sai3 {
>       status = "okay";
>  };
>  
> +&sai5 {
> +     pinctrl-names = "default";
> +     pinctrl-0 = <&pinctrl_sai5>;
> +     assigned-clocks = <&clk IMX8MM_CLK_SAI5>;
> +     assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
> +     assigned-clock-rates = <24576000>;
> +     clocks = <&clk IMX8MM_CLK_SAI5_IPG>, <&clk IMX8MM_CLK_DUMMY>,
> +           <&clk IMX8MM_CLK_SAI5_ROOT>, <&clk IMX8MM_CLK_DUMMY>,
> +           <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_AUDIO_PLL1_OUT>,
> +           <&clk IMX8MM_AUDIO_PLL2_OUT>;
> +     clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";
> +     status = "okay";
> +};
> +
>  &snvs_pwrkey {
>       status = "okay";
>  };
> @@ -552,6 +600,16 @@ MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0     0xd6
>             >;
>       };
>  
> +     pinctrl_sai5: sai5grp {
> +           fsl,pins = <
> +                 MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK        0xd6
> +                 MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK     0xd6
> +                 MX8MM_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC     0xd6
> +                 MX8MM_IOMUXC_SAI5_RXD0_SAI5_RX_DATA0    0xd6
> +                 MX8MM_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0    0xd6
> +           >;
> +     }
> +
>       pinctrl_typec1: typec1grp {
>             fsl,pins = <
>                   MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11  0x159
> diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> index 0f9d71490075..efef2df362a4 100644
> --- a/sound/soc/codecs/Kconfig
> +++ b/sound/soc/codecs/Kconfig
> @@ -1009,7 +1009,7 @@ config SND_SOC_MAX98088
>       depends on I2C
>  
>  config SND_SOC_MAX98090
> -     tristate
> +     tristate "Maxim MAX98090/1, Stereo Audio Codec"

No, code cannot be mixed with DTS. This is unrelated and not explained
in commit msg.

>       depends on I2C
>  
>  config SND_SOC_MAX98095
> --
> 2.25.1

Best regards,
Krzysztof



More information about the Alsa-devel mailing list