mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
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:
@@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
Reference in New Issue
Block a user