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

View File

@@ -319,7 +319,7 @@
}; };
tdmacodec: codec { tdmacodec: codec {
//sound-dai = <&dummy_codec>; //sound-dai = <&dummy_codec>;
sound-dai = </*&ad82584f*/ &tl1_codec>; sound-dai = <&tl1_codec &tas5805>;
}; };
}; };
@@ -1638,12 +1638,10 @@
}; };
tdmout_a: tdmout_a { 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", groups = "tdma_sclk_z",
"tdma_fs_z", "tdma_fs_z",
"tdma_dout0_z", "tdma_dout0_z";
"tdma_dout2_z",
"tdma_dout3_z";
function = "tdma_out"; function = "tdma_out";
bias-pull-down; bias-pull-down;
}; };
@@ -1753,17 +1751,18 @@
}; };
&i2c2 { &i2c2 {
status = "disabled"; status = "okay";
pinctrl-names="default"; pinctrl-names="default";
pinctrl-0=<&i2c2_z_pins>; pinctrl-0=<&i2c2_z_pins>;
clock-frequency = <400000>; clock-frequency = <400000>;
tas5805: tas5805@36 { tas5805: tas5805@5c {
compatible = "ti,tas5805"; compatible = "ti,tas5805";
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
codec_name = "tas5805"; codec_name = "tas5805";
reg = <0x2d>; reg = <0x2e>;
status = "disable"; 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 set_num = 0;
unsigned int i; 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 */ /* calc lanes by channels and slots */
lanes = (channels - 1) / setting->slots + 1; lanes = (channels - 1) / setting->slots + 1;
if (lanes > p_tdm->lane_cnt) { 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; return -EINVAL;
} }

View File

@@ -137,7 +137,7 @@ struct tdm_chipinfo tm2_tdma_chipinfo = {
.sclk_ws_inv = true, .sclk_ws_inv = true,
.oe_fn = true, .oe_fn = true,
.same_src_fn = true, .same_src_fn = true,
.lane_cnt = LANE_MAX0, .lane_cnt = LANE_MAX1,
}; };
struct tdm_chipinfo tm2_tdmb_chipinfo = { 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