-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'topic/component' of git://git.kernel.org/pub/scm/linux/…
…kernel/git/broonie/sound into asoc-dapm
- Loading branch information
Showing
68 changed files
with
2,646 additions
and
840 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
STA350 audio CODEC | ||
|
||
The driver for this device only supports I2C. | ||
|
||
Required properties: | ||
|
||
- compatible: "st,sta350" | ||
- reg: the I2C address of the device for I2C | ||
- reset-gpios: a GPIO spec for the reset pin. If specified, it will be | ||
deasserted before communication to the codec starts. | ||
|
||
- power-down-gpios: a GPIO spec for the power down pin. If specified, | ||
it will be deasserted before communication to the codec | ||
starts. | ||
|
||
- vdd-dig-supply: regulator spec, providing 3.3V | ||
- vdd-pll-supply: regulator spec, providing 3.3V | ||
- vcc-supply: regulator spec, providing 5V - 26V | ||
|
||
Optional properties: | ||
|
||
- st,output-conf: number, Selects the output configuration: | ||
0: 2-channel (full-bridge) power, 2-channel data-out | ||
1: 2 (half-bridge). 1 (full-bridge) on-board power | ||
2: 2 Channel (Full-Bridge) Power, 1 Channel FFX | ||
3: 1 Channel Mono-Parallel | ||
If parameter is missing, mode 0 will be enabled. | ||
|
||
- st,ch1-output-mapping: Channel 1 output mapping | ||
- st,ch2-output-mapping: Channel 2 output mapping | ||
- st,ch3-output-mapping: Channel 3 output mapping | ||
0: Channel 1 | ||
1: Channel 2 | ||
2: Channel 3 | ||
If parameter is missing, channel 1 is choosen. | ||
|
||
- st,thermal-warning-recover: | ||
If present, thermal warning recovery is enabled. | ||
|
||
- st,thermal-warning-adjustment: | ||
If present, thermal warning adjustment is enabled. | ||
|
||
- st,fault-detect-recovery: | ||
If present, then fault recovery will be enabled. | ||
|
||
- st,ffx-power-output-mode: string | ||
The FFX power output mode selects how the FFX output timing is | ||
configured. Must be one of these values: | ||
- "drop-compensation" | ||
- "tapered-compensation" | ||
- "full-power-mode" | ||
- "variable-drop-compensation" (default) | ||
|
||
- st,drop-compensation-ns: number | ||
Only required for "st,ffx-power-output-mode" == | ||
"variable-drop-compensation". | ||
Specifies the drop compensation in nanoseconds. | ||
The value must be in the range of 0..300, and only | ||
multiples of 20 are allowed. Default is 140ns. | ||
|
||
- st,overcurrent-warning-adjustment: | ||
If present, overcurrent warning adjustment is enabled. | ||
|
||
- st,max-power-use-mpcc: | ||
If present, then MPCC bits are used for MPC coefficients, | ||
otherwise standard MPC coefficients are used. | ||
|
||
- st,max-power-corr: | ||
If present, power bridge correction for THD reduction near maximum | ||
power output is enabled. | ||
|
||
- st,am-reduction-mode: | ||
If present, FFX mode runs in AM reduction mode, otherwise normal | ||
FFX mode is used. | ||
|
||
- st,odd-pwm-speed-mode: | ||
If present, PWM speed mode run on odd speed mode (341.3 kHz) on all | ||
channels. If not present, normal PWM spped mode (384 kHz) will be used. | ||
|
||
- st,distortion-compensation: | ||
If present, distortion compensation variable uses DCC coefficient. | ||
If not present, preset DC coefficient is used. | ||
|
||
- st,invalid-input-detect-mute: | ||
If not present, automatic invalid input detect mute is enabled. | ||
|
||
|
||
|
||
Example: | ||
|
||
codec: sta350@38 { | ||
compatible = "st,sta350"; | ||
reg = <0x1c>; | ||
reset-gpios = <&gpio1 19 0>; | ||
power-down-gpios = <&gpio1 16 0>; | ||
st,output-conf = <0x3>; // set output to 2-channel | ||
// (full-bridge) power, | ||
// 2-channel data-out | ||
st,ch1-output-mapping = <0>; // set channel 1 output ch 1 | ||
st,ch2-output-mapping = <0>; // set channel 2 output ch 1 | ||
st,ch3-output-mapping = <0>; // set channel 3 output ch 1 | ||
st,max-power-correction; // enables power bridge | ||
// correction for THD reduction | ||
// near maximum power output | ||
st,invalid-input-detect-mute; // mute if no valid digital | ||
// audio signal is provided. | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* | ||
* Platform data for ST STA350 ASoC codec driver. | ||
* | ||
* Copyright: 2014 Raumfeld GmbH | ||
* Author: Sven Brandau <info@brandau.biz> | ||
* | ||
* This program is free software; you can redistribute it and/or modify it | ||
* under the terms of the GNU General Public License as published by the | ||
* Free Software Foundation; either version 2 of the License, or (at your | ||
* option) any later version. | ||
*/ | ||
#ifndef __LINUX_SND__STA350_H | ||
#define __LINUX_SND__STA350_H | ||
|
||
#define STA350_OCFG_2CH 0 | ||
#define STA350_OCFG_2_1CH 1 | ||
#define STA350_OCFG_1CH 3 | ||
|
||
#define STA350_OM_CH1 0 | ||
#define STA350_OM_CH2 1 | ||
#define STA350_OM_CH3 2 | ||
|
||
#define STA350_THERMAL_ADJUSTMENT_ENABLE 1 | ||
#define STA350_THERMAL_RECOVERY_ENABLE 2 | ||
#define STA350_FAULT_DETECT_RECOVERY_BYPASS 1 | ||
|
||
#define STA350_FFX_PM_DROP_COMP 0 | ||
#define STA350_FFX_PM_TAPERED_COMP 1 | ||
#define STA350_FFX_PM_FULL_POWER 2 | ||
#define STA350_FFX_PM_VARIABLE_DROP_COMP 3 | ||
|
||
|
||
struct sta350_platform_data { | ||
u8 output_conf; | ||
u8 ch1_output_mapping; | ||
u8 ch2_output_mapping; | ||
u8 ch3_output_mapping; | ||
u8 ffx_power_output_mode; | ||
u8 drop_compensation_ns; | ||
unsigned int thermal_warning_recovery:1; | ||
unsigned int thermal_warning_adjustment:1; | ||
unsigned int fault_detect_recovery:1; | ||
unsigned int oc_warning_adjustment:1; | ||
unsigned int max_power_use_mpcc:1; | ||
unsigned int max_power_correction:1; | ||
unsigned int am_reduction_mode:1; | ||
unsigned int odd_pwm_speed_mode:1; | ||
unsigned int distortion_compensation:1; | ||
unsigned int invalid_input_detect_mute:1; | ||
}; | ||
|
||
#endif /* __LINUX_SND__STA350_H */ |
Oops, something went wrong.