Messages in this thread Patch in this message |  | | From | Chancel Liu <> | | Subject | [PATCH 3/5] arm64: dts: freescale: imx95-19x19-evk: Add IMX-AUD-IO board support | | Date | Sat, 9 May 2026 11:48:44 +0900 |
| |
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@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@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
|  |