xref: /linux/scripts/dtc/include-prefixes/arm64/freescale/imx8mp-hummingboard-pulse-codec.dtsi (revision 0f048c878ee32a4259dbf28e0ad8fd0b71ee0085)
1*2a222aa2SJosua Mayer// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*2a222aa2SJosua Mayer/*
3*2a222aa2SJosua Mayer * Copyright 2025 Josua Mayer <josua@solid-run.com>
4*2a222aa2SJosua Mayer */
5*2a222aa2SJosua Mayer
6*2a222aa2SJosua Mayer/ {
7*2a222aa2SJosua Mayer	sound-wm8904 {
8*2a222aa2SJosua Mayer		compatible = "fsl,imx-audio-wm8904";
9*2a222aa2SJosua Mayer		model = "audio-wm8904";
10*2a222aa2SJosua Mayer		audio-cpu = <&sai3>;
11*2a222aa2SJosua Mayer		audio-codec = <&codec>;
12*2a222aa2SJosua Mayer		audio-routing =
13*2a222aa2SJosua Mayer			"Headphone Jack", "HPOUTL",
14*2a222aa2SJosua Mayer			"Headphone Jack", "HPOUTR",
15*2a222aa2SJosua Mayer			"AMIC", "MICBIAS",
16*2a222aa2SJosua Mayer			"IN2R", "AMIC";
17*2a222aa2SJosua Mayer	};
18*2a222aa2SJosua Mayer};
19*2a222aa2SJosua Mayer
20*2a222aa2SJosua Mayer&i2c2 {
21*2a222aa2SJosua Mayer	codec: audio-codec@1a {
22*2a222aa2SJosua Mayer		compatible = "wlf,wm8904";
23*2a222aa2SJosua Mayer		reg = <0x1a>;
24*2a222aa2SJosua Mayer		#sound-dai-cells = <0>;
25*2a222aa2SJosua Mayer		clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>;
26*2a222aa2SJosua Mayer		clock-names = "mclk";
27*2a222aa2SJosua Mayer		AVDD-supply = <&v_1_8>;
28*2a222aa2SJosua Mayer		CPVDD-supply = <&v_1_8>;
29*2a222aa2SJosua Mayer		DBVDD-supply = <&v_3_3>;
30*2a222aa2SJosua Mayer		DCVDD-supply = <&v_1_8>;
31*2a222aa2SJosua Mayer		MICVDD-supply = <&v_3_3>;
32*2a222aa2SJosua Mayer	};
33*2a222aa2SJosua Mayer};
34*2a222aa2SJosua Mayer
35*2a222aa2SJosua Mayer&iomuxc {
36*2a222aa2SJosua Mayer	sai3_pins: pinctrl-sai3-grp {
37*2a222aa2SJosua Mayer		fsl,pins = <
38*2a222aa2SJosua Mayer			MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK	0xd6
39*2a222aa2SJosua Mayer			MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC	0xd6
40*2a222aa2SJosua Mayer			MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK	0xd6
41*2a222aa2SJosua Mayer			MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00	0xd6
42*2a222aa2SJosua Mayer			MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00	0xd6
43*2a222aa2SJosua Mayer		>;
44*2a222aa2SJosua Mayer	};
45*2a222aa2SJosua Mayer};
46*2a222aa2SJosua Mayer
47*2a222aa2SJosua Mayer&sai3 {
48*2a222aa2SJosua Mayer	pinctrl-names = "default";
49*2a222aa2SJosua Mayer	pinctrl-0 = <&sai3_pins>;
50*2a222aa2SJosua Mayer	assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
51*2a222aa2SJosua Mayer	assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
52*2a222aa2SJosua Mayer	assigned-clock-rates = <12288000>;
53*2a222aa2SJosua Mayer	clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_IPG>, <&clk IMX8MP_CLK_DUMMY>,
54*2a222aa2SJosua Mayer		 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>, <&clk IMX8MP_CLK_DUMMY>,
55*2a222aa2SJosua Mayer		 <&clk IMX8MP_CLK_DUMMY>;
56*2a222aa2SJosua Mayer	clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
57*2a222aa2SJosua Mayer	fsl,sai-mclk-direction-output;
58*2a222aa2SJosua Mayer	status = "okay";
59*2a222aa2SJosua Mayer};
60