blob: 307398ef2317d4a5f31937579a74c1409d1487df [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001STA350 audio CODEC
2
3The driver for this device only supports I2C.
4
5Required properties:
6
7 - compatible: "st,sta350"
8 - reg: the I2C address of the device for I2C
9 - reset-gpios: a GPIO spec for the reset pin. If specified, it will be
10 deasserted before communication to the codec starts.
11
12 - power-down-gpios: a GPIO spec for the power down pin. If specified,
13 it will be deasserted before communication to the codec
14 starts.
15
16 - vdd-dig-supply: regulator spec, providing 3.3V
17 - vdd-pll-supply: regulator spec, providing 3.3V
18 - vcc-supply: regulator spec, providing 5V - 26V
19
20Optional properties:
21
22 - st,output-conf: number, Selects the output configuration:
23 0: 2-channel (full-bridge) power, 2-channel data-out
24 1: 2 (half-bridge). 1 (full-bridge) on-board power
25 2: 2 Channel (Full-Bridge) Power, 1 Channel FFX
26 3: 1 Channel Mono-Parallel
27 If parameter is missing, mode 0 will be enabled.
28 This property has to be specified as '/bits/ 8' value.
29
30 - st,ch1-output-mapping: Channel 1 output mapping
31 - st,ch2-output-mapping: Channel 2 output mapping
32 - st,ch3-output-mapping: Channel 3 output mapping
33 0: Channel 1
34 1: Channel 2
35 2: Channel 3
36 If parameter is missing, channel 1 is chosen.
37 This properties have to be specified as '/bits/ 8' values.
38
39 - st,thermal-warning-recover:
40 If present, thermal warning recovery is enabled.
41
42 - st,thermal-warning-adjustment:
43 If present, thermal warning adjustment is enabled.
44
45 - st,fault-detect-recovery:
46 If present, then fault recovery will be enabled.
47
48 - st,ffx-power-output-mode: string
49 The FFX power output mode selects how the FFX output timing is
50 configured. Must be one of these values:
51 - "drop-compensation"
52 - "tapered-compensation"
53 - "full-power-mode"
54 - "variable-drop-compensation" (default)
55
56 - st,drop-compensation-ns: number
57 Only required for "st,ffx-power-output-mode" ==
58 "variable-drop-compensation".
59 Specifies the drop compensation in nanoseconds.
60 The value must be in the range of 0..300, and only
61 multiples of 20 are allowed. Default is 140ns.
62
63 - st,overcurrent-warning-adjustment:
64 If present, overcurrent warning adjustment is enabled.
65
66 - st,max-power-use-mpcc:
67 If present, then MPCC bits are used for MPC coefficients,
68 otherwise standard MPC coefficients are used.
69
70 - st,max-power-corr:
71 If present, power bridge correction for THD reduction near maximum
72 power output is enabled.
73
74 - st,am-reduction-mode:
75 If present, FFX mode runs in AM reduction mode, otherwise normal
76 FFX mode is used.
77
78 - st,odd-pwm-speed-mode:
79 If present, PWM speed mode run on odd speed mode (341.3 kHz) on all
80 channels. If not present, normal PWM spped mode (384 kHz) will be used.
81
82 - st,distortion-compensation:
83 If present, distortion compensation variable uses DCC coefficient.
84 If not present, preset DC coefficient is used.
85
86 - st,invalid-input-detect-mute:
87 If present, automatic invalid input detect mute is enabled.
88
89 - st,activate-mute-output:
90 If present, a mute output will be activated in ase the volume will
91 reach a value lower than -76 dBFS.
92
93 - st,bridge-immediate-off:
94 If present, the bridge will be switched off immediately after the
95 power-down-gpio goes low. Otherwise, the bridge will wait for 13
96 million clock cycles to pass before shutting down.
97
98 - st,noise-shape-dc-cut:
99 If present, the noise-shaping technique on the DC cutoff filter are
100 enabled.
101
102 - st,powerdown-master-volume:
103 If present, the power-down pin and I2C power-down functions will
104 act on the master volume. Otherwise, the functions will act on the
105 mute commands.
106
107 - st,powerdown-delay-divider:
108 If present, the bridge power-down time will be divided by the provided
109 value. If not specified, a divider of 1 will be used. Allowed values
110 are 1, 2, 4, 8, 16, 32, 64 and 128.
111 This property has to be specified as '/bits/ 8' value.
112
113Example:
114
115codec: sta350@38 {
116 compatible = "st,sta350";
117 reg = <0x1c>;
118 reset-gpios = <&gpio1 19 0>;
119 power-down-gpios = <&gpio1 16 0>;
120 st,output-conf = /bits/ 8 <0x3>; // set output to 2-channel
121 // (full-bridge) power,
122 // 2-channel data-out
123 st,ch1-output-mapping = /bits/ 8 <0>; // set channel 1 output ch 1
124 st,ch2-output-mapping = /bits/ 8 <0>; // set channel 2 output ch 1
125 st,ch3-output-mapping = /bits/ 8 <0>; // set channel 3 output ch 1
126 st,max-power-correction; // enables power bridge
127 // correction for THD reduction
128 // near maximum power output
129 st,invalid-input-detect-mute; // mute if no valid digital
130 // audio signal is provided.
131};