229 lines
No EOL
7 KiB
Text
Executable file
229 lines
No EOL
7 KiB
Text
Executable file
CS35L41 Speaker Amplifier
|
|
|
|
Required properties:
|
|
|
|
- compatible : "cirrus,cs35l41"
|
|
|
|
- reg : the SPI chip select line for the device
|
|
|
|
- VA-supply, VP-supply : power supplies for the device,
|
|
as covered in
|
|
Documentation/devicetree/bindings/regulator/regulator.txt.
|
|
|
|
Optional properties:
|
|
- cirrus,sclk-force-output : Audio serial port SCLK force
|
|
output control. Forces the SCLK to continue to drive even
|
|
if no ASP_TXn channels are enabled.
|
|
|
|
- cirrus,lrclk-force-output : Audio serial port LRCLK force
|
|
output control. Forces the LRCLK to continue to drive even
|
|
if no ASP_TXn channels are enabled.
|
|
|
|
- cirrus,right-channel-amp : Boolean to determine which channel
|
|
the amplifier is to receive the audio data on. If present the
|
|
amplifier receives data on the right channel of I2S data.
|
|
If not present the amplifier receives data on the left
|
|
channel of I2S data
|
|
|
|
- cirrus,boost-ctl-millivolt : Boost Voltage Value. Configures the
|
|
boost converter's output voltage in mV. The range is from 2550 mV to
|
|
11000 mV with increments of 50 mV.
|
|
(Default) VP
|
|
|
|
- cirrus,boost-peak-milliamp : Boost-converter peak current limit in mA.
|
|
Configures the peak current by monitoring the current through the boost FET.
|
|
Range starts at 1600 mA and goes to a maximum of 4500 mA with increments
|
|
of 50 mA.
|
|
(Default) 4.50 Amps
|
|
|
|
- cirrus,amp-gain-zc : Boolean to determine whether to use the amplifier
|
|
gain-change zero-crossing feature. If the feature is enabled, any
|
|
user-controlled amplifier gain change will occur on a zero-crossing point.
|
|
(Default) Disabled
|
|
|
|
- cirrus,asp-sdout-hiz : Audio serial port SDOUT Hi-Z control. Sets the Hi-Z
|
|
configuration for SDOUT pin of amplifier.
|
|
|
|
0 = Logic 0 during unused slots, and while all transmit channels disabled
|
|
1 = Hi-Z during unused slots but logic 0 while all transmit channels disabled
|
|
2 = (Default) Logic 0 during unused slots, but Hi-Z while all transmit channels disabled
|
|
3 = Hi-Z during unused slots and while all transmit channels disabled
|
|
|
|
|
|
- cirrus,temp-warn-threshold : Amplifier overtemperature warning threshold.
|
|
Configures the threshold at which the overtemperature warning condition occurs.
|
|
When the threshold is met, the ovetemperature warning attenuation is applied
|
|
and the TEMP_WARN_EINT interrupt status bit is set.
|
|
If TEMP_WARN_MASK = 0, INTb is asserted.
|
|
|
|
0 = 105C
|
|
1 = 115C
|
|
2 = 125C (Default)
|
|
3 = 135C
|
|
|
|
- cirrus,hw-noise-gate-select : Hardware Noise Gate feature. Each bit selects
|
|
a different block for detection.
|
|
|
|
000000 - All noise gating functionality disbled
|
|
xxxxx1 - Amplifier noise gating detection enabled
|
|
xxxx1x - Boost converter DCM detection enabled
|
|
xxx1xx - VMON low power mode detection enabled
|
|
xx1xxx - IMON low power mode detection enabled
|
|
x1xxxx - VP brownout prevention detection enabled
|
|
1xxxxx - VBST brownout prevention detection enabled
|
|
|
|
- cirrus,hw-noise-gate-delay : Time that the incoming audio signal must be
|
|
below the noise gate threshold prior to entering a noise gated state
|
|
|
|
0 = 5 ms
|
|
1 = 10 ms
|
|
2 = 25 ms
|
|
3 = 50 ms (default)
|
|
4 = 100 ms
|
|
5 = 250 ms
|
|
6 = 500 ms
|
|
7 = 1 s
|
|
|
|
- cirrus,hw-noise-gate-threshold : Threshold of audio signal input which the
|
|
noise gate considers the input audio to be at a low enough level to be
|
|
valid to enter a noise gating state of operation.
|
|
|
|
0 = 0.654 mVpk
|
|
1 = 0.328 mVpk
|
|
2 = 0.164 mVpk
|
|
3 = 0.082 mVpk (default)
|
|
4 = 0.041 mVpk
|
|
5 = 0.021 mVpk
|
|
6 = 0.010 mVpk
|
|
7 = True zero data (no LSB dither)
|
|
|
|
- cirrus,dsp-noise-gate-enable : DSP Noise Gate feature. If present, noise
|
|
gate feature will be enabled.
|
|
|
|
- cirrus,dsp-noise-gate-threshold : Threshold of audio signal input which the
|
|
noise gate considers the input audio to be at a low enough level to be
|
|
valid to enter a noise gating state of operation.
|
|
|
|
0 = -66 dBFS
|
|
1 = -72 dBFS
|
|
2 = -78 dBFS
|
|
3 = -84 dBFS (default)
|
|
4 = -90 dBFS
|
|
5 = -96 dBFS
|
|
6 = -102 dBFS
|
|
7 = -108 dBFS
|
|
|
|
- cirrus,dsp-noise-gate-delay : Time that the incoming audio signal must be
|
|
below the noise gate threshold prior to entering a noise gated state
|
|
|
|
0 = 5 ms
|
|
1 = 10 ms
|
|
2 = 25 ms
|
|
3 = 50 ms (default)
|
|
4 = 100 ms
|
|
5 = 250 ms
|
|
6 = 500 ms
|
|
7 = 1 s
|
|
8 = 5 s
|
|
9 = 10 s
|
|
10 = 20 s
|
|
11 = 30 s
|
|
12 = 40 s
|
|
13 = 50 s
|
|
14 = 60 s
|
|
15 = 120 s
|
|
|
|
- cirrus,invert-pcm : Invert PCM data before output
|
|
|
|
Optional H/G Algorithm sub-node:
|
|
|
|
The cs35l41 node can have a single "cirrus,classh-internal-algo" sub-node
|
|
that will disable automatic control of the internal H/G Algorithm.
|
|
|
|
It is strongly recommended that the Datasheet be referenced when adjusting
|
|
or using these Class H Algorithm controls over the internal Algorithm.
|
|
Serious damage can occur to the Device and surrounding components.
|
|
|
|
- cirrus,classh-internal-algo : Sub-node for the Internal Class H Algorithm
|
|
See Section 4.4 Internal Class H Algorithm in the Datasheet.
|
|
If not used, the device manages the ClassH Algorithm internally.
|
|
|
|
Optional properties for the "cirrus,classh-internal-algo" Sub-node
|
|
|
|
Section 7.9 Boost Control
|
|
- cirrus,classh-bst-override : Boolean
|
|
- cirrus,classh-bst-max-limit
|
|
|
|
Section 7.17 Class H, Weak-FET Control
|
|
- cirrus,classh-headroom
|
|
- cirrus,classh-release-rate
|
|
- cirrus,classh-mem-depth
|
|
- cirrus,classh-wk-fet-delay
|
|
- cirrus,classh-wk-fet-thld
|
|
|
|
|
|
Optional GPIO1 sub-node:
|
|
|
|
The cs35l41 node can have an single "cirrus,gpio-config1" sub-node for
|
|
configuring the GPIO1 pin.
|
|
|
|
- cirrus,gpio-polarity-invert : Boolean which specifies whether the GPIO1
|
|
level is inverted. If this property is not present the level is not inverted.
|
|
|
|
- cirrus,gpio-output-enable : Boolean which specifies whether the GPIO1 pin
|
|
is configured as an output. If this property is not present the
|
|
pin will be configured as an input.
|
|
|
|
- cirrus,gpio-src-select : Configures the function of the GPIO1 pin.
|
|
Note that the options are different from the GPIO2 pin.
|
|
|
|
0 = High Impedance (Default)
|
|
1 = GPIO
|
|
2 = Sync
|
|
3 = MCLK input
|
|
|
|
|
|
Optional GPIO2 sub-node:
|
|
|
|
The cs35l41 node can have an single "cirrus,gpio-config2" sub-node for
|
|
configuring the GPIO1 pin.
|
|
|
|
- cirrus,gpio-polarity-invert : Boolean which specifies whether the GPIO2
|
|
level is inverted. If this property is not present the level is not inverted.
|
|
|
|
- cirrus,gpio-output-enable : Boolean which specifies whether the GPIO2 pin
|
|
is configured as an output. If this property is not present the
|
|
pin will be configured as an input.
|
|
|
|
- cirrus,gpio-src-select : Configures the function of the GPIO2 pin.
|
|
Note that the options are different from the GPIO1 pin.
|
|
|
|
0 = High Impedance (Default)
|
|
1 = GPIO
|
|
2 = Open Drain INTB
|
|
3 = MCLK input
|
|
4 = Push-pull INTB (active low)
|
|
5 = Push-pull INT (active high)
|
|
|
|
|
|
Example:
|
|
|
|
cs35l41: cs35l41@2 {
|
|
compatible = "cirrus,cs35l41";
|
|
reg = <2>;
|
|
VA-supply = <&dummy_vreg>;
|
|
VP-supply = <&dummy_vreg>;
|
|
};
|
|
|
|
Optional Fixed HW Params sub-node:
|
|
|
|
The cs35l41 node can have a single "cirrus,fixed-hw-params" sub-node for
|
|
setting the HW params to a fixed rate, width, and word-length.
|
|
|
|
Example:
|
|
|
|
cirrus,fixed-hw-params {
|
|
cirrus,fixed-rate = <48000>;
|
|
cirrus,fixed-width = <16>;
|
|
cirrus,fixed-wl = <16>;
|
|
}; |