audio: TM2: bringup AMP ti5805 on ab301 [1/1]

PD#SWPL-7074

Problem:
speaker doesn't work

Solution:
bringup AMP ti5805 on ab301

Verify:
Verified on T962x3_ab301

Change-Id: Icb27691b4fd5a1e54070c4a6d3d3c68cdf3a60b7
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
This commit is contained in:
Zhe Wang
2019-04-12 17:54:48 +08:00
parent 7ba44fee32
commit 4f4dc5af5e
6 changed files with 1940 additions and 2094 deletions

View File

@@ -322,7 +322,7 @@
};
tdmacodec: codec {
//sound-dai = <&dummy_codec>;
sound-dai = </*&ad82584f*/ &tl1_codec>;
sound-dai = <&tl1_codec &tas5805>;
};
};
@@ -1642,12 +1642,10 @@
};
tdmout_a: tdmout_a {
mux { /* GPIOZ_1, GPIOZ_2, GPIOZ_3, GPIOZ_5, GPIOZ_6 */
mux { /* GPIOZ_1, GPIOZ_2, GPIOZ_3*/
groups = "tdma_sclk_z",
"tdma_fs_z",
"tdma_dout0_z",
"tdma_dout2_z",
"tdma_dout3_z";
"tdma_dout0_z";
function = "tdma_out";
bias-pull-down;
};
@@ -1758,17 +1756,18 @@
};
&i2c2 {
status = "disabled";
status = "okay";
pinctrl-names="default";
pinctrl-0=<&i2c2_z_pins>;
clock-frequency = <400000>;
tas5805: tas5805@36 {
tas5805: tas5805@5c {
compatible = "ti,tas5805";
#sound-dai-cells = <0>;
codec_name = "tas5805";
reg = <0x2d>;
status = "disable";
reg = <0x2e>;
reset_pin = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};

View File

@@ -319,7 +319,7 @@
};
tdmacodec: codec {
//sound-dai = <&dummy_codec>;
sound-dai = </*&ad82584f*/ &tl1_codec>;
sound-dai = <&tl1_codec &tas5805>;
};
};
@@ -1638,12 +1638,10 @@
};
tdmout_a: tdmout_a {
mux { /* GPIOZ_1, GPIOZ_2, GPIOZ_3, GPIOZ_5, GPIOZ_6 */
mux { /* GPIOZ_1, GPIOZ_2, GPIOZ_3*/
groups = "tdma_sclk_z",
"tdma_fs_z",
"tdma_dout0_z",
"tdma_dout2_z",
"tdma_dout3_z";
"tdma_dout0_z";
function = "tdma_out";
bias-pull-down;
};
@@ -1753,17 +1751,18 @@
};
&i2c2 {
status = "disabled";
status = "okay";
pinctrl-names="default";
pinctrl-0=<&i2c2_z_pins>;
clock-frequency = <400000>;
tas5805: tas5805@36 {
tas5805: tas5805@5c {
compatible = "ti,tas5805";
#sound-dai-cells = <0>;
codec_name = "tas5805";
reg = <0x2d>;
status = "disable";
reg = <0x2e>;
reset_pin = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};

View File

@@ -703,13 +703,11 @@ static int aml_tdm_set_lanes(struct aml_tdm *p_tdm,
unsigned int set_num = 0;
unsigned int i;
pr_debug("asoc channels:%d, slots:%d, lane_cnt:%d\n",
channels, setting->slots, p_tdm->lane_cnt);
/* calc lanes by channels and slots */
lanes = (channels - 1) / setting->slots + 1;
if (lanes > p_tdm->lane_cnt) {
pr_err("lanes setting error\n");
pr_err("set lane error! asoc channels:%d, slots:%d, lane_cnt:%d\n",
channels, setting->slots, p_tdm->lane_cnt);
return -EINVAL;
}

View File

@@ -137,7 +137,7 @@ struct tdm_chipinfo tm2_tdma_chipinfo = {
.sclk_ws_inv = true,
.oe_fn = true,
.same_src_fn = true,
.lane_cnt = LANE_MAX0,
.lane_cnt = LANE_MAX1,
};
struct tdm_chipinfo tm2_tdmb_chipinfo = {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff