-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ASoC: Initial driver for TAS2555 Smart Amplifier
The initial version supports playback via ROM mode1 and FW loading.. Features: - support for 8-192KHz sampling rates - support for 16/20/24/32 bit samples - TDM time slot support support (in DSP interface modes) - ASI1, ASI2 and ASIM can be selected and configured - Clocking setup: MCLK source cen be selected and depending on the frequency the Amp will be configured to bypass or use the PLL. The PLL dividers and MDAC divider is calculated by the driver based on the MCLK and smapling frequency. - The driver will try to load the 'tas2555_uCDSP.bin' firmware when it is loading. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
- Loading branch information
Showing
6 changed files
with
1,205 additions
and
0 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,61 @@ | ||
Texas Instruments - tas2555 Class-D Mono Audio Amplifier | ||
http://www.ti.com/product/TAS2555 | ||
|
||
Required properties: | ||
- compatible - "ti,tas2555" | ||
- reg - I2C slave address | ||
- supply-*: Required supply regulators are: | ||
"iovdd" I/O power supply | ||
"avdd" Analog power supply | ||
"dvdd" Digital power supply | ||
|
||
Optional properties: | ||
- nreset-gpio - gpio pin to enable/disable the device | ||
- supply-vbat - Battery power supply | ||
|
||
tas2555 can receive it's reference clock via several pin: GPIO1-10, GPI1-3. | ||
Three digital audio interface is available for connecting to CPU or other | ||
audio component. | ||
|
||
For system integration the dt-bindings/sound/tas2555.h header file provides | ||
defined values to select the pin for MCLK and predefined values for selecting | ||
the DAI to be used. | ||
|
||
Example: | ||
|
||
tas2555: tas2555@4c { | ||
#sound-dai-cells = <1>; | ||
compatible = "ti,tas2555"; | ||
reg = <0x4c>; | ||
nreset-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; | ||
|
||
iovdd-supply = <&boardio_fixed>; | ||
avdd-supply = <&aud18v_fixed>; | ||
dvdd-supply = <&aud18v_fixed>; | ||
}; | ||
|
||
sound { | ||
compatible = "simple-audio-card"; | ||
simple-audio-card,name = "TAS2555 card"; | ||
simple-audio-card,widgets = | ||
"Speaker", "Speaker Port"; | ||
simple-audio-card,routing = | ||
"Speaker Port", "OUT", | ||
"Speaker Port", "OUT"; | ||
simple-audio-card,format = "i2s"; | ||
simple-audio-card,bitclock-master = <&sound_master>; | ||
simple-audio-card,frame-master = <&sound_master>; | ||
|
||
status = "okay"; | ||
|
||
sound_master: simple-audio-card,cpu { | ||
sound-dai = <&mcasp0>; | ||
system-clock-frequency = <24000000>; | ||
system-clock-id = <MCASP_CLK_HCLK_AUXCLK>; | ||
}; | ||
|
||
simple-audio-card,codec { | ||
sound-dai = <&tas2555 TAS2555_DAI_ASI1>; | ||
clocks = <&clkout2_ck>; | ||
}; | ||
}; |
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,23 @@ | ||
#ifndef __DT_TAS2555_H | ||
#define __DT_TAS2555_H | ||
|
||
#define TAS2555_MCLK_CLKIN_SRC_GPI2 (0) /* Default for MCLK */ | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO1 (1) /* Default for ASI1 BCLK */ | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO2 (2) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO3 (3) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO4 (4) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO5 (5) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO6 (6) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO7 (7) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO8 (8) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO9 (9) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPIO10 (10) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPI1 (11) | ||
#define TAS2555_MCLK_CLKIN_SRC_GPI3 (12) | ||
|
||
/* Digital audio interfaces */ | ||
#define TAS2555_DAI_ASI1 (0) | ||
#define TAS2555_DAI_ASI2 (1) | ||
#define TAS2555_DAI_ASIM (2) | ||
|
||
#endif /* __DT_TAS2555_H */ |
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
Oops, something went wrong.