[PATCH 3/5] arm64: dts: freescale: imx95-19x19-evk: Add IMX-AUD-IO board support
Chancel Liu
chancel.liu at nxp.com
Fri May 8 19:48:44 PDT 2026
IMX-AUD-IO is a daughter board which can be connected to i.MX95 19x19
EVK through a physical connector. This connector is described as a
fsl,io-connector connector to expose a constrained subset of GPIO and
clock resources to daughter board using fixed electrical wiring.
Also add required regulator, sound CPU DAI and I2C bus configuration to
support IMX-AUD-IO on this base board.
Signed-off-by: Chancel Liu <chancel.liu at nxp.com>
---
.../boot/dts/freescale/imx95-19x19-evk.dts | 53 ++++++++++++++++++-
1 file changed, 51 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
index 041fd838fabb..f9b53df85396 100644
--- a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
@@ -43,6 +43,17 @@ aliases {
serial4 = &lpuart5;
};
+ aud_io_conn: aud-io-connector {
+ compatible = "fsl,io-connector";
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-map = <0 0 &i2c6_pcal6416 8 1>;
+ gpio-map-mask = <0xff 0x0>;
+ gpio-map-pass-thru = <0x0 0x1>;
+ #clock-cells = <1>;
+ clock-map = <0 &scmi_clk IMX95_CLK_SAI2>;
+ };
+
bt_sco_codec: audio-codec-bt-sco {
#sound-dai-cells = <1>;
compatible = "linux,bt-sco";
@@ -94,7 +105,7 @@ flexcan2_phy: can-phy1 {
standby-gpios = <&i2c4_gpio_expander_21 3 GPIO_ACTIVE_LOW>;
};
- reg_vref_1v8: regulator-1p8v {
+ aud_io_reg_1v8: reg_vref_1v8: regulator-1p8v {
compatible = "regulator-fixed";
regulator-max-microvolt = <1800000>;
regulator-min-microvolt = <1800000>;
@@ -108,6 +119,22 @@ reg_3p3v: regulator-3p3v {
regulator-name = "+V3.3_SW";
};
+ aud_io_reg_3v3: regulator-aud-io-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "aud-io-3v3";
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ gpio = <&i2c6_pcal6416 11 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ aud_io_reg_5v: regulator-aud-io-5v {
+ compatible = "regulator-fixed";
+ regulator-name = "aud-io-5v";
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ };
+
reg_audio_pwr: regulator-audio-pwr {
compatible = "regulator-fixed";
regulator-name = "audio-pwr";
@@ -382,7 +409,7 @@ i2c5_pcal6408: gpio at 21 {
};
};
-&lpi2c6 {
+aud_io_i2c: &lpi2c6 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lpi2c6>;
@@ -588,6 +615,28 @@ &sai1 {
status = "okay";
};
+aud_io_cpu: &sai2 {
+ #sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai2>;
+ clocks = <&scmi_clk IMX95_CLK_BUSNETCMIX>, <&dummy>,
+ <&scmi_clk IMX95_CLK_SAI2>, <&dummy>,
+ <&dummy>, <&scmi_clk IMX95_CLK_AUDIOPLL1>,
+ <&scmi_clk IMX95_CLK_AUDIOPLL2>;
+ clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";
+ assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>,
+ <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>,
+ <&scmi_clk IMX95_CLK_AUDIOPLL1>,
+ <&scmi_clk IMX95_CLK_AUDIOPLL2>,
+ <&scmi_clk IMX95_CLK_SAI2>;
+ assigned-clock-parents = <0>, <0>, <0>, <0>,
+ <&scmi_clk IMX95_CLK_AUDIOPLL1>;
+ assigned-clock-rates = <3932160000>, <3612672000>,
+ <393216000>, <361267200>, <12288000>;
+ fsl,sai-mclk-direction-output;
+ fsl,sai-asynchronous;
+};
+
&sai3 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
--
2.50.1
More information about the linux-arm-kernel
mailing list