mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] Support for MAX98090/91 codec in iMX8MM evk
@ 2023-01-11  7:16 Hardevsinh Palaniya
  2023-01-11  8:58 ` Krzysztof Kozlowski
  2023-01-11  9:05 ` Daniel Baluta
  0 siblings, 2 replies; 5+ messages in thread
From: Hardevsinh Palaniya @ 2023-01-11  7:16 UTC (permalink / raw)
  To: robh+dt, krzysztof.kozlowski+dt, shawnguo, s.hauer, kernel,
	festevam, linux-imx, lgirdwood, broonie, perex, tiwai, peng.fan,
	m.felsch, shengjiu.wang, Markus.Niebel, hongxing.zhu,
	tommaso.merciai, Hardevsinh Palaniya, jun.li, ckeepax, rf,
	povik+lin, pierre-louis.bossart, james.schulman, flatmax,
	srinivas.kandagatla, ryan.lee.analog, devicetree,
	linux-arm-kernel, linux-kernel, alsa-devel

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

- 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@siliconsignals.io>

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@10 {
+           #sound-dai-cells = <0>;
+           compatible = "maxim,max98090";
+           reg = <0x10>;
+           clocks = <&clk IMX8MM_CLK_SAI5_ROOT>;
+           clock-names = "mclk";
+     };
+
      pca6416: gpio@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"
      depends on I2C
 
 config SND_SOC_MAX98095
--
2.25.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-13  8:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-11  7:16 [PATCH] Support for MAX98090/91 codec in iMX8MM evk Hardevsinh Palaniya
2023-01-11  8:58 ` Krzysztof Kozlowski
2023-01-11  9:05 ` Daniel Baluta
     [not found]   ` <MA0PR01MB71451A4A70DBD85680E90AE0FFFC9@MA0PR01MB7145.INDPRD01.PROD.OUTLOOK.COM>
     [not found]     ` <CAEnQRZDowp=-Cqvy=hJzQDDN_+cEUS7Pj-GJ-0oAhqq=N2STWw@mail.gmail.com>
2023-01-13  5:50       ` Hardevsinh Palaniya
2023-01-13  8:31         ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®