162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2013 Christian Hemp, Phytec Messtechnik GmbH
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <dt-bindings/sound/fsl-imx-audmux.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/ {
962306a36Sopenharmony_ci	chosen {
1062306a36Sopenharmony_ci		stdout-path = &uart4;
1162306a36Sopenharmony_ci	};
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	sound_1v8: regulator-sound-1v8 {
1462306a36Sopenharmony_ci		compatible = "regulator-fixed";
1562306a36Sopenharmony_ci		regulator-name = "i2s-audio-1v8";
1662306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1762306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
1862306a36Sopenharmony_ci	};
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	sound_3v3: regulator-sound-3v3 {
2162306a36Sopenharmony_ci		compatible = "regulator-fixed";
2262306a36Sopenharmony_ci		regulator-name = "i2s-audio-3v3";
2362306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
2462306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	tlv320_mclk: oscillator {
2862306a36Sopenharmony_ci		compatible = "fixed-clock";
2962306a36Sopenharmony_ci		#clock-cells = <0>;
3062306a36Sopenharmony_ci		clock-frequency = <19200000>;
3162306a36Sopenharmony_ci		clock-output-names = "tlv320-mclk";
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	sound {
3562306a36Sopenharmony_ci		compatible = "simple-audio-card";
3662306a36Sopenharmony_ci		simple-audio-card,name = "OnboardTLV320AIC3007";
3762306a36Sopenharmony_ci		simple-audio-card,format = "i2s";
3862306a36Sopenharmony_ci		simple-audio-card,bitclock-master = <&dailink_master>;
3962306a36Sopenharmony_ci		simple-audio-card,frame-master = <&dailink_master>;
4062306a36Sopenharmony_ci		simple-audio-card,widgets =
4162306a36Sopenharmony_ci			"Microphone", "Mic Jack",
4262306a36Sopenharmony_ci			"Line", "Line In",
4362306a36Sopenharmony_ci			"Line", "Line Out",
4462306a36Sopenharmony_ci			"Speaker", "Speaker",
4562306a36Sopenharmony_ci			"Headphone", "Headphone Jack";
4662306a36Sopenharmony_ci		simple-audio-card,routing =
4762306a36Sopenharmony_ci			"Line Out", "LLOUT",
4862306a36Sopenharmony_ci			"Line Out", "RLOUT",
4962306a36Sopenharmony_ci			"Speaker", "SPOP",
5062306a36Sopenharmony_ci			"Speaker", "SPOM",
5162306a36Sopenharmony_ci			"Headphone Jack", "HPLOUT",
5262306a36Sopenharmony_ci			"Headphone Jack", "HPROUT",
5362306a36Sopenharmony_ci			"MIC3L", "Mic Jack",
5462306a36Sopenharmony_ci			"MIC3R", "Mic Jack",
5562306a36Sopenharmony_ci			"Mic Jack", "Mic Bias",
5662306a36Sopenharmony_ci			"LINE1L", "Line In",
5762306a36Sopenharmony_ci			"LINE1R", "Line In";
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci		simple-audio-card,cpu {
6062306a36Sopenharmony_ci			sound-dai = <&ssi2>;
6162306a36Sopenharmony_ci		};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci		dailink_master: simple-audio-card,codec {
6462306a36Sopenharmony_ci			sound-dai = <&codec>;
6562306a36Sopenharmony_ci			clocks = <&tlv320_mclk>;
6662306a36Sopenharmony_ci		};
6762306a36Sopenharmony_ci	};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci&audmux {
7262306a36Sopenharmony_ci	status = "okay";
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	mux-ssi2 {
7562306a36Sopenharmony_ci		fsl,audmux-port = <1>;
7662306a36Sopenharmony_ci		fsl,port-config = <
7762306a36Sopenharmony_ci			(IMX_AUDMUX_V2_PTCR_SYN |
7862306a36Sopenharmony_ci			IMX_AUDMUX_V2_PTCR_TFSDIR |
7962306a36Sopenharmony_ci			IMX_AUDMUX_V2_PTCR_TFSEL(4) |
8062306a36Sopenharmony_ci			IMX_AUDMUX_V2_PTCR_TCLKDIR |
8162306a36Sopenharmony_ci			IMX_AUDMUX_V2_PTCR_TCSEL(4))
8262306a36Sopenharmony_ci			IMX_AUDMUX_V2_PDCR_RXDSEL(4)
8362306a36Sopenharmony_ci		>;
8462306a36Sopenharmony_ci	};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	mux-pins5 {
8762306a36Sopenharmony_ci		fsl,audmux-port = <4>;
8862306a36Sopenharmony_ci		fsl,port-config = <
8962306a36Sopenharmony_ci			IMX_AUDMUX_V2_PTCR_SYN
9062306a36Sopenharmony_ci			IMX_AUDMUX_V2_PDCR_RXDSEL(1)
9162306a36Sopenharmony_ci		>;
9262306a36Sopenharmony_ci	};
9362306a36Sopenharmony_ci};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci&can1 {
9662306a36Sopenharmony_ci	status = "okay";
9762306a36Sopenharmony_ci};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci&fec {
10062306a36Sopenharmony_ci	status = "okay";
10162306a36Sopenharmony_ci};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci&hdmi {
10462306a36Sopenharmony_ci	status = "okay";
10562306a36Sopenharmony_ci};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci&i2c2 {
10862306a36Sopenharmony_ci	status = "okay";
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci	codec: tlv320@18 {
11162306a36Sopenharmony_ci		compatible = "ti,tlv320aic3007";
11262306a36Sopenharmony_ci		#sound-dai-cells = <0>;
11362306a36Sopenharmony_ci		reg = <0x18>;
11462306a36Sopenharmony_ci		ai3x-micbias-vg = <2>;
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci		AVDD-supply = <&sound_3v3>;
11762306a36Sopenharmony_ci		IOVDD-supply = <&sound_3v3>;
11862306a36Sopenharmony_ci		DRVDD-supply = <&sound_3v3>;
11962306a36Sopenharmony_ci		DVDD-supply = <&sound_1v8>;
12062306a36Sopenharmony_ci	};
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci	stmpe@41 {
12362306a36Sopenharmony_ci		compatible = "st,stmpe811";
12462306a36Sopenharmony_ci		reg = <0x41>;
12562306a36Sopenharmony_ci	};
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci	rtc@51 {
12862306a36Sopenharmony_ci		compatible = "epson,rtc8564";
12962306a36Sopenharmony_ci		reg = <0x51>;
13062306a36Sopenharmony_ci	};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci	adc@64 {
13362306a36Sopenharmony_ci		compatible = "maxim,max1037";
13462306a36Sopenharmony_ci		reg = <0x64>;
13562306a36Sopenharmony_ci	};
13662306a36Sopenharmony_ci};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci&i2c3 {
13962306a36Sopenharmony_ci	status = "okay";
14062306a36Sopenharmony_ci};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci&pcie {
14362306a36Sopenharmony_ci	status = "okay";
14462306a36Sopenharmony_ci};
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci&ssi2 {
14762306a36Sopenharmony_ci	status = "okay";
14862306a36Sopenharmony_ci};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci&uart3 {
15162306a36Sopenharmony_ci	status = "okay";
15262306a36Sopenharmony_ci};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci&uart4 {
15562306a36Sopenharmony_ci	status = "okay";
15662306a36Sopenharmony_ci};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci&usbh1 {
15962306a36Sopenharmony_ci	status = "okay";
16062306a36Sopenharmony_ci};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci&usbotg {
16362306a36Sopenharmony_ci	status = "okay";
16462306a36Sopenharmony_ci	dr_mode = "peripheral";
16562306a36Sopenharmony_ci};
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci&usdhc2 {
16862306a36Sopenharmony_ci	status = "okay";
16962306a36Sopenharmony_ci};
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci&usdhc3 {
17262306a36Sopenharmony_ci	status = "okay";
17362306a36Sopenharmony_ci};
174