* [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card
@ 2025-09-24 13:07 Dario Binacchi
2025-09-24 13:07 ` [RESEND PATCH 2/3] ARM: dts: imx28-amarula-rmm: add I2S audio Dario Binacchi
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Dario Binacchi @ 2025-09-24 13:07 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Frank Li, Sascha Hauer, Shawn Guo, Mark Brown,
Dario Binacchi, Michael Trimarchi, Fabio Estevam, Jaroslav Kysela,
Liam Girdwood, Pengutronix Kernel Team, Takashi Iwai, imx,
linux-arm-kernel, linux-sound
Add support for enabling MCLK output when using the simple-audio-card
driver. In the sound/soc/mxs/mxs-sgtl5000.c use case, that driver
handles MCLK enable/disable by calling mxs_saif_get_mclk() and
mxs_saif_put_mclk() at probe/remove. This does not happen when the
simple-audio-card driver is used. Extend the mxs-saif driver to enable
MCLK output in that scenario.
Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
sound/soc/mxs/mxs-saif.c | 123 ++++++++++++++++++++++++++++-----------
1 file changed, 90 insertions(+), 33 deletions(-)
diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c
index 3e3a62df3d7e..a01a680ad4d7 100644
--- a/sound/soc/mxs/mxs-saif.c
+++ b/sound/soc/mxs/mxs-saif.c
@@ -24,8 +24,79 @@
#define MXS_SET_ADDR 0x4
#define MXS_CLR_ADDR 0x8
+#define MXS_SAIF_BUSY_TIMEOUT_US 10000
+
static struct mxs_saif *mxs_saif[2];
+/*
+ * Since SAIF may work on EXTMASTER mode, IOW, it's working BITCLK&LRCLK
+ * is provided by other SAIF, we provide a interface here to get its master
+ * from its master_id.
+ * Note that the master could be itself.
+ */
+static inline struct mxs_saif *mxs_saif_get_master(struct mxs_saif *saif)
+{
+ return mxs_saif[saif->master_id];
+}
+
+static int __mxs_saif_put_mclk(struct mxs_saif *saif)
+{
+ u32 stat;
+ int ret;
+
+ ret = readx_poll_timeout(__raw_readl, saif->base + SAIF_STAT, stat,
+ (stat & BM_SAIF_STAT_BUSY) == 0,
+ MXS_SAIF_BUSY_TIMEOUT_US,
+ USEC_PER_SEC);
+ if (ret) {
+ dev_err(saif->dev, "error: busy\n");
+ return -EBUSY;
+ }
+
+ /* disable MCLK output */
+ __raw_writel(BM_SAIF_CTRL_CLKGATE,
+ saif->base + SAIF_CTRL + MXS_SET_ADDR);
+ __raw_writel(BM_SAIF_CTRL_RUN,
+ saif->base + SAIF_CTRL + MXS_CLR_ADDR);
+
+ saif->mclk_in_use = 0;
+
+ return 0;
+}
+
+static int __mxs_saif_get_mclk(struct mxs_saif *saif)
+{
+ u32 stat;
+ struct mxs_saif *master_saif;
+
+ if (!saif)
+ return -EINVAL;
+
+ /* Clear Reset */
+ __raw_writel(BM_SAIF_CTRL_SFTRST,
+ saif->base + SAIF_CTRL + MXS_CLR_ADDR);
+
+ /* FIXME: need clear clk gate for register r/w */
+ __raw_writel(BM_SAIF_CTRL_CLKGATE,
+ saif->base + SAIF_CTRL + MXS_CLR_ADDR);
+
+ master_saif = mxs_saif_get_master(saif);
+ if (saif != master_saif) {
+ dev_err(saif->dev, "can not get mclk from a non-master saif\n");
+ return -EINVAL;
+ }
+
+ stat = __raw_readl(saif->base + SAIF_STAT);
+ if (stat & BM_SAIF_STAT_BUSY) {
+ dev_err(saif->dev, "error: busy\n");
+ return -EBUSY;
+ }
+
+ saif->mclk_in_use = 1;
+
+ return 0;
+}
+
/*
* SAIF is a little different with other normal SOC DAIs on clock using.
*
@@ -48,6 +119,7 @@ static int mxs_saif_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
int clk_id, unsigned int freq, int dir)
{
struct mxs_saif *saif = snd_soc_dai_get_drvdata(cpu_dai);
+ int ret;
switch (clk_id) {
case MXS_SAIF_MCLK:
@@ -56,18 +128,22 @@ static int mxs_saif_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
default:
return -EINVAL;
}
- return 0;
-}
-/*
- * Since SAIF may work on EXTMASTER mode, IOW, it's working BITCLK&LRCLK
- * is provided by other SAIF, we provide a interface here to get its master
- * from its master_id.
- * Note that the master could be itself.
- */
-static inline struct mxs_saif *mxs_saif_get_master(struct mxs_saif * saif)
-{
- return mxs_saif[saif->master_id];
+ if (!saif->mclk_in_use && freq) {
+ ret = __mxs_saif_get_mclk(saif);
+ if (ret)
+ return ret;
+
+ /* enable MCLK output */
+ __raw_writel(BM_SAIF_CTRL_RUN,
+ saif->base + SAIF_CTRL + MXS_SET_ADDR);
+ } else if (saif->mclk_in_use && freq == 0) {
+ ret = __mxs_saif_put_mclk(saif);
+ if (ret)
+ return ret;
+ }
+
+ return 0;
}
/*
@@ -238,34 +314,15 @@ int mxs_saif_get_mclk(unsigned int saif_id, unsigned int mclk,
unsigned int rate)
{
struct mxs_saif *saif = mxs_saif[saif_id];
- u32 stat;
int ret;
- struct mxs_saif *master_saif;
if (!saif)
return -EINVAL;
- /* Clear Reset */
- __raw_writel(BM_SAIF_CTRL_SFTRST,
- saif->base + SAIF_CTRL + MXS_CLR_ADDR);
-
- /* FIXME: need clear clk gate for register r/w */
- __raw_writel(BM_SAIF_CTRL_CLKGATE,
- saif->base + SAIF_CTRL + MXS_CLR_ADDR);
-
- master_saif = mxs_saif_get_master(saif);
- if (saif != master_saif) {
- dev_err(saif->dev, "can not get mclk from a non-master saif\n");
- return -EINVAL;
- }
-
- stat = __raw_readl(saif->base + SAIF_STAT);
- if (stat & BM_SAIF_STAT_BUSY) {
- dev_err(saif->dev, "error: busy\n");
- return -EBUSY;
- }
+ ret = __mxs_saif_get_mclk(saif);
+ if (ret)
+ return ret;
- saif->mclk_in_use = 1;
ret = mxs_saif_set_clk(saif, mclk, rate);
if (ret)
return ret;
--
2.43.0
base-commit: cec1e6e5d1ab33403b809f79cd20d6aff124ccfe
branch: microgea-rmm-audio
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [RESEND PATCH 2/3] ARM: dts: imx28-amarula-rmm: add I2S audio
2025-09-24 13:07 [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card Dario Binacchi
@ 2025-09-24 13:07 ` Dario Binacchi
2025-10-27 0:49 ` Shawn Guo
2025-09-24 13:07 ` [RESEND PATCH 3/3] ARM: mxs_defconfig: enable sound drivers for imx28-amarula-rmm Dario Binacchi
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Dario Binacchi @ 2025-09-24 13:07 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Frank Li, Sascha Hauer, Shawn Guo, Mark Brown,
Dario Binacchi, Michael Trimarchi, Conor Dooley, Fabio Estevam,
Krzysztof Kozlowski, Pengutronix Kernel Team, Rob Herring,
devicetree, imx, linux-arm-kernel
Add support for I2S audio on Amarula rmm board. Audio codec
TLV320AIC3X is connected as slave to SAIF0, which provides
bitclock, frame and MCLK.
Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
.../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
index af59211842fb..0c5b52f67178 100644
--- a/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
+++ b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
@@ -112,6 +112,29 @@ reg_usb1_vbus: regulator-usb1-vbus {
enable-active-high;
regulator-always-on;
};
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "imx28-mrmmi-tlv320aic3x-audio";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,bitclock-master = <&cpu_dai>;
+ simple-audio-card,frame-master = <&cpu_dai>;
+ simple-audio-card,widgets =
+ "Headphone", "Headphone Jack";
+ simple-audio-card,routing =
+ "Headphone Jack", "HPROUT",
+ "Headphone Jack", "HPRCOM";
+ simple-audio-card,mclk-fs = <512>;
+
+ cpu_dai: simple-audio-card,cpu {
+ sound-dai = <&saif0>;
+ clocks = <&saif0>;
+ };
+
+ codec_dai: simple-audio-card,codec {
+ sound-dai = <&tlv320aic3x>;
+ };
+ };
};
&auart0 {
@@ -154,6 +177,20 @@ &i2c0 {
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
+ tlv320aic3x: tlv320aic3x@18 {
+ compatible = "ti,tlv320aic3x";
+ pinctrl-names = "default";
+ pinctrl-0 = <&tlv320aic3x_pins>;
+ reg = <0x18>;
+ reset-gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+
+ DVDD-supply = <®_1v8>;
+ IOVDD-supply = <®_3v3>;
+ AVDD-supply = <®_3v3>;
+ DRVDD-supply = <®_3v3>;
+ };
+
touchscreen: touchscreen@38 {
compatible = "edt,edt-ft5306";
reg = <0x38>;
@@ -246,6 +283,14 @@ MX28_PAD_PWM1__GPIO_3_17
fsl,voltage = <MXS_VOLTAGE_HIGH>;
};
+ tlv320aic3x_pins: tlv320aic3x-pins@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <MX28_PAD_SSP0_DATA4__GPIO_2_4>;
+ fsl,drive-strength = <MXS_DRIVE_4mA>;
+ fsl,pull-up = <MXS_PULL_ENABLE>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ };
+
usb0_vbus_enable_pin: usb0-vbus-enable@0 {
reg = <0>;
fsl,pinmux-ids = <MX28_PAD_SSP0_DATA5__GPIO_2_5>;
@@ -269,6 +314,12 @@ &pwm {
status = "okay";
};
+&saif0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&saif0_pins_a>;
+ status = "okay";
+};
+
/* microSD */
&ssp0 {
compatible = "fsl,imx28-mmc";
--
2.43.0
base-commit: cec1e6e5d1ab33403b809f79cd20d6aff124ccfe
branch: microgea-rmm-audio
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [RESEND PATCH 3/3] ARM: mxs_defconfig: enable sound drivers for imx28-amarula-rmm
2025-09-24 13:07 [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card Dario Binacchi
2025-09-24 13:07 ` [RESEND PATCH 2/3] ARM: dts: imx28-amarula-rmm: add I2S audio Dario Binacchi
@ 2025-09-24 13:07 ` Dario Binacchi
2025-09-25 1:18 ` [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card Rob Herring (Arm)
2025-10-17 11:24 ` (subset) " Mark Brown
3 siblings, 0 replies; 6+ messages in thread
From: Dario Binacchi @ 2025-09-24 13:07 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Frank Li, Sascha Hauer, Shawn Guo, Mark Brown,
Dario Binacchi, Ard Biesheuvel, Eric Biggers, Fabio Estevam,
Martin K. Petersen, Pengutronix Kernel Team, Russell King, imx,
linux-arm-kernel
Enable TLV320AIC3X I2C codec and simple-card support used on Amarula
rmm board.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
arch/arm/configs/mxs_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/configs/mxs_defconfig b/arch/arm/configs/mxs_defconfig
index 3b08c63b6de4..603fb003b223 100644
--- a/arch/arm/configs/mxs_defconfig
+++ b/arch/arm/configs/mxs_defconfig
@@ -100,6 +100,8 @@ CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_SND_MXS_SOC=y
CONFIG_SND_SOC_MXS_SGTL5000=y
+CONFIG_SND_SOC_TLV320AIC3X_I2C=y
+CONFIG_SND_SIMPLE_CARD=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
--
2.43.0
base-commit: cec1e6e5d1ab33403b809f79cd20d6aff124ccfe
branch: microgea-rmm-audio
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card
2025-09-24 13:07 [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card Dario Binacchi
2025-09-24 13:07 ` [RESEND PATCH 2/3] ARM: dts: imx28-amarula-rmm: add I2S audio Dario Binacchi
2025-09-24 13:07 ` [RESEND PATCH 3/3] ARM: mxs_defconfig: enable sound drivers for imx28-amarula-rmm Dario Binacchi
@ 2025-09-25 1:18 ` Rob Herring (Arm)
2025-10-17 11:24 ` (subset) " Mark Brown
3 siblings, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2025-09-25 1:18 UTC (permalink / raw)
To: Dario Binacchi
Cc: Mark Brown, Fabio Estevam, Jaroslav Kysela, linux-arm-kernel,
linux-sound, Sascha Hauer, imx, Pengutronix Kernel Team,
linux-kernel, Takashi Iwai, Michael Trimarchi, Liam Girdwood,
Shawn Guo, linux-amarula, Frank Li
On Wed, 24 Sep 2025 15:07:44 +0200, Dario Binacchi wrote:
> Add support for enabling MCLK output when using the simple-audio-card
> driver. In the sound/soc/mxs/mxs-sgtl5000.c use case, that driver
> handles MCLK enable/disable by calling mxs_saif_get_mclk() and
> mxs_saif_put_mclk() at probe/remove. This does not happen when the
> simple-audio-card driver is used. Extend the mxs-saif driver to enable
> MCLK output in that scenario.
>
> Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> ---
>
> sound/soc/mxs/mxs-saif.c | 123 ++++++++++++++++++++++++++++-----------
> 1 file changed, 90 insertions(+), 33 deletions(-)
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
This patch series was applied (using b4) to base:
Base: using specified base-commit cec1e6e5d1ab33403b809f79cd20d6aff124ccfe
If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)
New warnings running 'make CHECK_DTBS=y for arch/arm/boot/dts/nxp/' for 20250924130749.3012071-1-dario.binacchi@amarulasolutions.com:
arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: pinctrl@80018000 (fsl,imx28-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pins@0', 'duart@0', 'duart@1', 'edt-ft5x06-wake@0', 'edt-ft5x06@0', 'fec-3v3-enable@0', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lcdif-24bit@0', 'lcdif-sync@0', 'leds@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'tlv320aic3x-pins@0', 'usb0-vbus-enable@0', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1-vb
us-enable@0', 'usb1@0', 'usb1@1' do not match any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml#
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: (subset) [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card
2025-09-24 13:07 [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card Dario Binacchi
` (2 preceding siblings ...)
2025-09-25 1:18 ` [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card Rob Herring (Arm)
@ 2025-10-17 11:24 ` Mark Brown
3 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2025-10-17 11:24 UTC (permalink / raw)
To: linux-kernel, Dario Binacchi
Cc: linux-amarula, Frank Li, Sascha Hauer, Shawn Guo,
Michael Trimarchi, Fabio Estevam, Jaroslav Kysela, Liam Girdwood,
Pengutronix Kernel Team, Takashi Iwai, imx, linux-arm-kernel,
linux-sound
On Wed, 24 Sep 2025 15:07:44 +0200, Dario Binacchi wrote:
> Add support for enabling MCLK output when using the simple-audio-card
> driver. In the sound/soc/mxs/mxs-sgtl5000.c use case, that driver
> handles MCLK enable/disable by calling mxs_saif_get_mclk() and
> mxs_saif_put_mclk() at probe/remove. This does not happen when the
> simple-audio-card driver is used. Extend the mxs-saif driver to enable
> MCLK output in that scenario.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/3] ASoC: mxs-saif: support usage with simple-audio-card
commit: 1e570e77392f43a3cdab2849d1f81535f8a033e2
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RESEND PATCH 2/3] ARM: dts: imx28-amarula-rmm: add I2S audio
2025-09-24 13:07 ` [RESEND PATCH 2/3] ARM: dts: imx28-amarula-rmm: add I2S audio Dario Binacchi
@ 2025-10-27 0:49 ` Shawn Guo
0 siblings, 0 replies; 6+ messages in thread
From: Shawn Guo @ 2025-10-27 0:49 UTC (permalink / raw)
To: Dario Binacchi
Cc: linux-kernel, linux-amarula, Frank Li, Sascha Hauer, Shawn Guo,
Mark Brown, Michael Trimarchi, Conor Dooley, Fabio Estevam,
Krzysztof Kozlowski, Pengutronix Kernel Team, Rob Herring,
devicetree, imx, linux-arm-kernel
On Wed, Sep 24, 2025 at 03:07:45PM +0200, Dario Binacchi wrote:
> Add support for I2S audio on Amarula rmm board. Audio codec
> TLV320AIC3X is connected as slave to SAIF0, which provides
> bitclock, frame and MCLK.
>
> Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> ---
>
> .../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
>
> diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> index af59211842fb..0c5b52f67178 100644
> --- a/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> +++ b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> @@ -112,6 +112,29 @@ reg_usb1_vbus: regulator-usb1-vbus {
> enable-active-high;
> regulator-always-on;
> };
> +
> + sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "imx28-mrmmi-tlv320aic3x-audio";
> + simple-audio-card,format = "i2s";
> + simple-audio-card,bitclock-master = <&cpu_dai>;
> + simple-audio-card,frame-master = <&cpu_dai>;
> + simple-audio-card,widgets =
> + "Headphone", "Headphone Jack";
> + simple-audio-card,routing =
> + "Headphone Jack", "HPROUT",
> + "Headphone Jack", "HPRCOM";
> + simple-audio-card,mclk-fs = <512>;
> +
> + cpu_dai: simple-audio-card,cpu {
> + sound-dai = <&saif0>;
> + clocks = <&saif0>;
> + };
> +
> + codec_dai: simple-audio-card,codec {
> + sound-dai = <&tlv320aic3x>;
> + };
> + };
> };
>
> &auart0 {
> @@ -154,6 +177,20 @@ &i2c0 {
> pinctrl-0 = <&i2c0_pins_a>;
> status = "okay";
>
> + tlv320aic3x: tlv320aic3x@18 {
Can we use a generic node name?
> + compatible = "ti,tlv320aic3x";
> + pinctrl-names = "default";
> + pinctrl-0 = <&tlv320aic3x_pins>;
> + reg = <0x18>;
> + reset-gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
> + #sound-dai-cells = <0>;
> +
Nitpick: unnecessary newline
Shawn
> + DVDD-supply = <®_1v8>;
> + IOVDD-supply = <®_3v3>;
> + AVDD-supply = <®_3v3>;
> + DRVDD-supply = <®_3v3>;
> + };
> +
> touchscreen: touchscreen@38 {
> compatible = "edt,edt-ft5306";
> reg = <0x38>;
> @@ -246,6 +283,14 @@ MX28_PAD_PWM1__GPIO_3_17
> fsl,voltage = <MXS_VOLTAGE_HIGH>;
> };
>
> + tlv320aic3x_pins: tlv320aic3x-pins@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <MX28_PAD_SSP0_DATA4__GPIO_2_4>;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,pull-up = <MXS_PULL_ENABLE>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + };
> +
> usb0_vbus_enable_pin: usb0-vbus-enable@0 {
> reg = <0>;
> fsl,pinmux-ids = <MX28_PAD_SSP0_DATA5__GPIO_2_5>;
> @@ -269,6 +314,12 @@ &pwm {
> status = "okay";
> };
>
> +&saif0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&saif0_pins_a>;
> + status = "okay";
> +};
> +
> /* microSD */
> &ssp0 {
> compatible = "fsl,imx28-mmc";
> --
> 2.43.0
>
> base-commit: cec1e6e5d1ab33403b809f79cd20d6aff124ccfe
> branch: microgea-rmm-audio
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-10-27 0:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-24 13:07 [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card Dario Binacchi
2025-09-24 13:07 ` [RESEND PATCH 2/3] ARM: dts: imx28-amarula-rmm: add I2S audio Dario Binacchi
2025-10-27 0:49 ` Shawn Guo
2025-09-24 13:07 ` [RESEND PATCH 3/3] ARM: mxs_defconfig: enable sound drivers for imx28-amarula-rmm Dario Binacchi
2025-09-25 1:18 ` [RESEND PATCH 1/3] ASoC: mxs-saif: support usage with simple-audio-card Rob Herring (Arm)
2025-10-17 11:24 ` (subset) " Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).