162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci/dts-v1/;
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include "pxa300-raumfeld-common.dtsi"
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/ {
862306a36Sopenharmony_ci	model = "Raumfeld Speaker One (PXA3xx)";
962306a36Sopenharmony_ci	compatible = "raumfeld,raumfeld-speaker-one-pxa303", "marvell,pxa300";
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci	wm8782: wm8782 {
1262306a36Sopenharmony_ci		compatible = "wm8782";
1362306a36Sopenharmony_ci		#sound-dai-cells = <0>;
1462306a36Sopenharmony_ci		Vdd-supply = <&reg_3v3>;
1562306a36Sopenharmony_ci		Vdda-supply = <&reg_va_5v0>;
1662306a36Sopenharmony_ci	};
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	xo_11mhz: oscillator-11mhz {
1962306a36Sopenharmony_ci		compatible = "fixed-clock";
2062306a36Sopenharmony_ci		#clock-cells = <0>;
2162306a36Sopenharmony_ci		clock-frequency = <11289600>;
2262306a36Sopenharmony_ci		clock-accuracy = <100>;
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	xo_audio: clock-gate {
2662306a36Sopenharmony_ci		compatible = "gpio-gate-clock";
2762306a36Sopenharmony_ci		pinctrlnames = "default";
2862306a36Sopenharmony_ci		pinctrl-0 = <&xo_audio_pins>;
2962306a36Sopenharmony_ci		clocks = <&xo_11mhz>;
3062306a36Sopenharmony_ci		#clock-cells = <0>;
3162306a36Sopenharmony_ci		enable-gpios = <&gpio 111 GPIO_ACTIVE_HIGH>;
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	reg_va_30v0: regulator-va-30v0 {
3562306a36Sopenharmony_ci		compatible = "regulator-fixed";
3662306a36Sopenharmony_ci		regulator-name = "va-30v0-fixed-supply";
3762306a36Sopenharmony_ci		regulator-min-microvolt = <30000000>;
3862306a36Sopenharmony_ci		regulator-max-microvolt = <30000000>;
3962306a36Sopenharmony_ci	};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	sound {
4262306a36Sopenharmony_ci		compatible = "simple-audio-card";
4362306a36Sopenharmony_ci		simple-audio-card,name = "Raumfeld Speaker";
4462306a36Sopenharmony_ci		#address-cells = <1>;
4562306a36Sopenharmony_ci		#size-cells = <0>;
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci		simple-audio-card,dai-link@0 {
4862306a36Sopenharmony_ci			reg = <0>;
4962306a36Sopenharmony_ci			format = "i2s";
5062306a36Sopenharmony_ci			bitclock-master = <&dailink_master_analog_out>;
5162306a36Sopenharmony_ci			frame-master = <&dailink_master_analog_out>;
5262306a36Sopenharmony_ci			mclk-fs = <256>;
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci			dailink_master_analog_out: cpu {
5562306a36Sopenharmony_ci				sound-dai = <&ssp_dai0>;
5662306a36Sopenharmony_ci			};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci			codec {
5962306a36Sopenharmony_ci				sound-dai = <&sta320>;
6062306a36Sopenharmony_ci			};
6162306a36Sopenharmony_ci		};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci		simple-audio-card,dai-link@1 {
6462306a36Sopenharmony_ci			reg = <1>;
6562306a36Sopenharmony_ci			format = "i2s";
6662306a36Sopenharmony_ci			bitclock-master = <&dailink_master_analog_in>;
6762306a36Sopenharmony_ci			frame-master = <&dailink_master_analog_in>;
6862306a36Sopenharmony_ci			mclk-fs = <256>;
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci			dailink_master_analog_in: cpu {
7162306a36Sopenharmony_ci				sound-dai = <&ssp_dai0>;
7262306a36Sopenharmony_ci			};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci			codec {
7562306a36Sopenharmony_ci				sound-dai = <&wm8782>;
7662306a36Sopenharmony_ci			};
7762306a36Sopenharmony_ci		};
7862306a36Sopenharmony_ci	};
7962306a36Sopenharmony_ci};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci&ssp_dai0 {
8262306a36Sopenharmony_ci	clocks = <&xo_audio>;
8362306a36Sopenharmony_ci};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci&spi {
8662306a36Sopenharmony_ci	dac@2 {
8762306a36Sopenharmony_ci		compatible = "ti,dac7512";
8862306a36Sopenharmony_ci		reg = <2>;
8962306a36Sopenharmony_ci		spi-max-frequency = <1000000>;
9062306a36Sopenharmony_ci		vcc-supply = <&reg_3v3>;
9162306a36Sopenharmony_ci	};
9262306a36Sopenharmony_ci};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci&rotary {
9562306a36Sopenharmony_ci	status = "okay";
9662306a36Sopenharmony_ci};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci&pxai2c1 {
9962306a36Sopenharmony_ci	sta320: codec@1a {
10062306a36Sopenharmony_ci		compatible = "st,sta32x";
10162306a36Sopenharmony_ci		reg = <0x1a>;
10262306a36Sopenharmony_ci		pinctrl-names = "default";
10362306a36Sopenharmony_ci		pinctrl-0 = <&sta320_pins>;
10462306a36Sopenharmony_ci		clocks = <&xo_audio>;
10562306a36Sopenharmony_ci		clock-names = "xti";
10662306a36Sopenharmony_ci		reset-gpios = <&gpio 120 GPIO_ACTIVE_HIGH>;
10762306a36Sopenharmony_ci		Vdda-supply = <&reg_3v3>;
10862306a36Sopenharmony_ci		Vdd3-supply = <&reg_3v3>;
10962306a36Sopenharmony_ci		Vcc-supply = <&reg_va_30v0>;
11062306a36Sopenharmony_ci		#sound-dai-cells = <0>;
11162306a36Sopenharmony_ci		st,thermal-warning-adjustment;
11262306a36Sopenharmony_ci		st,thermal-warning-recovery;
11362306a36Sopenharmony_ci		st,fault-detect-recovery;
11462306a36Sopenharmony_ci		st,drop-compensation-ns = <80>;
11562306a36Sopenharmony_ci		st,max-power-use-mpcc;
11662306a36Sopenharmony_ci		st,invalid-input-detect-mute;
11762306a36Sopenharmony_ci		/* 2 (half-bridge) and 1 (full-bridge) on-board power */
11862306a36Sopenharmony_ci		st,output-conf = /bits/ 8 <0x1>;
11962306a36Sopenharmony_ci		st,ch1-output-mapping = /bits/ 8 <0>;
12062306a36Sopenharmony_ci		st,ch2-output-mapping = /bits/ 8 <1>;
12162306a36Sopenharmony_ci		st,ch3-output-mapping = /bits/ 8 <2>;
12262306a36Sopenharmony_ci		st,needs_esd_watchdog;
12362306a36Sopenharmony_ci	};
12462306a36Sopenharmony_ci};
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci&pinctrl {
12762306a36Sopenharmony_ci	xo_audio_pins: xo-audio-pins {
12862306a36Sopenharmony_ci		pinctrl-single,pins = <
12962306a36Sopenharmony_ci			MFP_PIN_PXA300(111) MFP_AF0	/* ENABLE */
13062306a36Sopenharmony_ci		>;
13162306a36Sopenharmony_ci		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
13262306a36Sopenharmony_ci	};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci	sta320_pins: sta320-pins {
13562306a36Sopenharmony_ci		pinctrl-single,pins = <
13662306a36Sopenharmony_ci			MFP_PIN_PXA300(120) MFP_AF0	/* CODEC_RESET	*/
13762306a36Sopenharmony_ci		>;
13862306a36Sopenharmony_ci		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
13962306a36Sopenharmony_ci	};
14062306a36Sopenharmony_ci};
141