* [RESEND PATCH 2/3] ARM: dts: imx28-amarula-rmm: add I2S audio
[not found] <20250924130749.3012071-1-dario.binacchi@amarulasolutions.com>
@ 2025-09-24 13:07 ` Dario Binacchi
2025-10-27 0:49 ` Shawn Guo
0 siblings, 1 reply; 2+ 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] 2+ 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; 2+ 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] 2+ messages in thread
end of thread, other threads:[~2025-10-27 0:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20250924130749.3012071-1-dario.binacchi@amarulasolutions.com>
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
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).