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