]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/arm/intel/pxa/pxa300-raumfeld-speaker-one.dts
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / src / arm / intel / pxa / pxa300-raumfeld-speaker-one.dts
1 // SPDX-License-Identifier: GPL-2.0
2
3 /dts-v1/;
4
5 #include "pxa300-raumfeld-common.dtsi"
6
7 / {
8 model = "Raumfeld Speaker One (PXA3xx)";
9 compatible = "raumfeld,raumfeld-speaker-one-pxa303", "marvell,pxa300";
10
11 wm8782: wm8782 {
12 compatible = "wm8782";
13 #sound-dai-cells = <0>;
14 Vdd-supply = <&reg_3v3>;
15 Vdda-supply = <&reg_va_5v0>;
16 };
17
18 xo_11mhz: oscillator-11mhz {
19 compatible = "fixed-clock";
20 #clock-cells = <0>;
21 clock-frequency = <11289600>;
22 clock-accuracy = <100>;
23 };
24
25 xo_audio: clock-gate {
26 compatible = "gpio-gate-clock";
27 pinctrlnames = "default";
28 pinctrl-0 = <&xo_audio_pins>;
29 clocks = <&xo_11mhz>;
30 #clock-cells = <0>;
31 enable-gpios = <&gpio 111 GPIO_ACTIVE_HIGH>;
32 };
33
34 reg_va_30v0: regulator-va-30v0 {
35 compatible = "regulator-fixed";
36 regulator-name = "va-30v0-fixed-supply";
37 regulator-min-microvolt = <30000000>;
38 regulator-max-microvolt = <30000000>;
39 };
40
41 sound {
42 compatible = "simple-audio-card";
43 simple-audio-card,name = "Raumfeld Speaker";
44 #address-cells = <1>;
45 #size-cells = <0>;
46
47 simple-audio-card,dai-link@0 {
48 reg = <0>;
49 format = "i2s";
50 bitclock-master = <&dailink_master_analog_out>;
51 frame-master = <&dailink_master_analog_out>;
52 mclk-fs = <256>;
53
54 dailink_master_analog_out: cpu {
55 sound-dai = <&ssp_dai0>;
56 };
57
58 codec {
59 sound-dai = <&sta320>;
60 };
61 };
62
63 simple-audio-card,dai-link@1 {
64 reg = <1>;
65 format = "i2s";
66 bitclock-master = <&dailink_master_analog_in>;
67 frame-master = <&dailink_master_analog_in>;
68 mclk-fs = <256>;
69
70 dailink_master_analog_in: cpu {
71 sound-dai = <&ssp_dai0>;
72 };
73
74 codec {
75 sound-dai = <&wm8782>;
76 };
77 };
78 };
79 };
80
81 &ssp_dai0 {
82 clocks = <&xo_audio>;
83 };
84
85 &spi {
86 dac@2 {
87 compatible = "ti,dac7512";
88 reg = <2>;
89 spi-max-frequency = <1000000>;
90 vcc-supply = <&reg_3v3>;
91 };
92 };
93
94 &rotary {
95 status = "okay";
96 };
97
98 &pxai2c1 {
99 sta320: codec@1a {
100 compatible = "st,sta32x";
101 reg = <0x1a>;
102 pinctrl-names = "default";
103 pinctrl-0 = <&sta320_pins>;
104 clocks = <&xo_audio>;
105 clock-names = "xti";
106 reset-gpios = <&gpio 120 GPIO_ACTIVE_HIGH>;
107 Vdda-supply = <&reg_3v3>;
108 Vdd3-supply = <&reg_3v3>;
109 Vcc-supply = <&reg_va_30v0>;
110 #sound-dai-cells = <0>;
111 st,thermal-warning-adjustment;
112 st,thermal-warning-recovery;
113 st,fault-detect-recovery;
114 st,drop-compensation-ns = <80>;
115 st,max-power-use-mpcc;
116 st,invalid-input-detect-mute;
117 /* 2 (half-bridge) and 1 (full-bridge) on-board power */
118 st,output-conf = /bits/ 8 <0x1>;
119 st,ch1-output-mapping = /bits/ 8 <0>;
120 st,ch2-output-mapping = /bits/ 8 <1>;
121 st,ch3-output-mapping = /bits/ 8 <2>;
122 st,needs_esd_watchdog;
123 };
124 };
125
126 &pinctrl {
127 xo_audio_pins: xo-audio-pins {
128 pinctrl-single,pins = <
129 MFP_PIN_PXA300(111) MFP_AF0 /* ENABLE */
130 >;
131 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
132 };
133
134 sta320_pins: sta320-pins {
135 pinctrl-single,pins = <
136 MFP_PIN_PXA300(120) MFP_AF0 /* CODEC_RESET */
137 >;
138 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
139 };
140 };