This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TAS2780:在 Qualcomm 平台上移植 TAS2780问题

Guru**** 2367800 points
Other Parts Discussed in Thread: TAS2780, TAS2781
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1476889/tas2780-porting-tas2780-issues-on-qualcomm-paltform

器件型号:TAS2780
Thread 中讨论的其他器件: TAS2781

工具与软件:

您好、TI:

我正在移植 tas2780驱动程序。

目前、我们可以在下面看到 tinymix 命令和 CAN 转储寄存器

5172   INT     1         tas2780 amp-gain-volume          20.

5174   INT     1         tas2780-数字卷           201

5175   INT     1         TASDEVICE 配置文件 ID            0

 

$ echo>fwload

[ 107.447594] tastdevice-codec 1-0038:fwload:count = 1

[107.447623] tasdevice-codec 1-0038:已加载 FW tas2780-1amp-reg.bin

 

问题1:

我使用生成程序 bin 工具文档并使用默认的  tas2780-1amp-reg.json  生成 bin 文件。

播放 www.youtube.com/watch

测量扬声器的输入

以下波形是正确的吗?

转储寄存器

Lahaina:/sys/bus/i2c/devices/1-0038 # cat regdump                                                                        

I2C-addr:0x38

DEVICEID:0x00

Chn0B0x00P0x00R0x00:0x00

Chn0B0x00P0x00R0x01:0x00

Chn0B0x00P0x00R0x02:0x02

Chn0B0x00P0x00R0x03:0x28

Chn0B0x00P0x00R0x04:0x21

Chn0B0x00P0x00R0x05:0x41

Chn0B0x00P0x00R0x06:0x00

Chn0B0x00P0x00R0x07:0x20

Chn0B0x00P0x00R0x08:0x09

Chn0B0x00P0x00R0x09:0x02

Chn0B0x00P0x00R0x0a:0x0a

Chn0B0x00P0x00R0x0b:0x80

Chn0B0x00P0x00R0x0c:0x10

Chn0B0x00P0x00R0x0d:0x01

Chn0B0x00P0x00R0x0e:0x00

Chn0B0x00P0x00R0x0F:0x00

Chn0B0x00P0x00R0x10:0x04

Chn0B0x00P0x00R0x11:0x05

Chn0B0x00P0x00R0x12:0x06

Chn0B0x00P0x00R0x13:0x08

Chn0B0x00P0x00R0x14:0x0a

Chn0B0x00P0x00R0x15:0x00

Chn0B0x00P0x00R0x16:0x40

Chn0B0x00P0x00R0x17:0x0c

Chn0B0x00P0x00R0x18:0x00

Chn0B0x00P0x00R0x19:0x0d

Chn0B0x00P0x00R0x1a:0x00

Chn0B0x00P0x00R0x1b:0x62

Chn0B0x00P0x00R0x1c:0x32

Chn0B0x00P0x00R0x1d:0x40

Chn0B0x00P0x00R0x1e:0x32

Chn0B0x00P0x00R0x1F:0x02

Chn0B0x00P0x00R0x20:0x06

Chn0B0x00P0x00R0x21:0x2C

Chn0B0x00P0x00R0x22:0x4c

Chn0B0x00P0x00R0x23:0x20

Chn0B0x00P0x00R0x24:0x02

Chn0B0x00P0x00R0x25:0x06

Chn0B0x00P0x00R0x26:0x32

Chn0B0x00P0x00R0x27:0x46

Chn0B0x00P0x00R0x28:0x20

Chn0B0x00P0x00R0x29:0x02

Chn0B0x00P0x00R0x2A:0x06

Chn0B0x00P0x00R0x2b:0x38

Chn0B0x00P0x00R0x2c:0x40

Chn0B0x00P0x00R0x2d:0x20

Chn0B0x00P0x00R0x2e:0x02

Chn0B0x00P0x00R0x2F:0x06

Chn0B0x00P0x00R0x30:0x3e

Chn0B0x00P0x00R0x31:0x37

Chn0B0x00P0x00R0x32:0x20

Chn0B0x00P0x00R0x33:0xff

Chn0B0x00P0x00R0x34:0xe6

Chn0B0x00P0x00R0x35:0xBD

Chn0B0x00P0x00R0x36:0xAD

Chn0B0x00P0x00R0x37:0xa8

Chn0B0x00P0x00R0x38:0x03

Chn0B0x00P0x00R0x39:0xff

Chn0B0x00P0x00R0x3a:0xff

Chn0B0x00P0x00R0x3b:0xFC

Chn0B0x00P0x00R0x3c:0xbf

Chn0B0x00P0x00R0x3d:0xdf

Chn0B0x00P0x00R0x3e:0xff

Chn0B0x00P0x00R0x3F:0xff

Chn0B0x00P0x00R0x40:0xf6

Chn0B0x00P0x00R0x41:0x00

Chn0B0x00P0x00R0x42:0x00

Chn0B0x00P0x00R0x43:0x00

Chn0B0x00P0x00R0x44:0x00

Chn0B0x00P0x00R0x45:0x80

Chn0B0x00P0x00R0x46:0x00

Chn0B0x00P0x00R0x47:0x00

Chn0B0x00P0x00R0x48:0x00

Chn0B0x00P0x00R0x49:0x04

Chn0B0x00P0x00R0x4a:0x02

Chn0B0x00P0x00R0x4b:0x19

Chn0B0x00P0x00R0x4c:0x80

Chn0B0x00P0x00R0x4d:0x00

Chn0B0x00P0x00R0x4e:0x1c

Chn0B0x00P0x00R0x4F:0x00

Chn0B0x00P0x00R0x50:0x20

Chn0B0x00P0x00R0x51:0x07

Chn0B0x00P0x00R0x52:0x24

Chn0B0x00P0x00R0x53:0x50

Chn0B0x00P0x00R0x54:0x1c

Chn0B0x00P0x00R0x55:0xa7

Chn0B0x00P0x00R0x56:0x7f

Chn0B0x00P0x00R0x57:0xff

Chn0B0x00P0x00R0x58:0xc0

Chn0B0x00P0x00R0x59:0xc8

Chn0B0x00P0x00R0x5a:0x40

Chn0B0x00P0x00R0x5b:0x88

Chn0B0x00P0x00R0x5c:0xd9

Chn0B0x00P0x00R0x5d:0x80

Chn0B0x00P0x00R0x5e:0x00

Chn0B0x00P0x00R0x5F:0xe0

Chn0B0x00P0x00R0x60:0x0d

Chn0B0x00P0x00R0x61:0x08

Chn0B0x00P0x00R0x62:0x3c

Chn0B0x00P0x00R0x63:0x48

Chn0B0x00P0x00R0x64:0x84

Chn0B0x00P0x00R0x65:0x08

Chn0B0x00P0x00R0x66:0xb2

Chn0B0x00P0x00R0x67:0x00

Chn0B0x00P0x00R0x68:0x24

Chn0B0x00P0x00R0x69:0x09

Chn0B0x00P0x00R0x6a:0x12

Chn0B0x00P0x00R0x6b:0x43

Chn0B0x00P0x00R0x6c:0x00

Chn0B0x00P0x00R0x6d:0x00

Chn0B0x00P0x00R0x6e:0x1a

Chn0B0x00P0x00R0x6F:0x00

Chn0B0x00P0x00R0x70:0x96

Chn0B0x00P0x00R0x71:0x02

Chn0B0x00P0x00R0x72:0x00

Chn0B0x00P0x00R0x73:0x00

Chn0B0x00P0x00R0x74:0x00

Chn0B0x00P0x00R0x75:0x00

Chn0B0x00P0x00R0x76:0x00

Chn0B0x00P0x00R0x77:0x00

Chn0B0x00P0x00R0x78:0x00

Chn0B0x00P0x00R0x79:0x00

Chn0B0x00P0x00R0x7a:0xc0

Chn0B0x00P0x00R0x7b:0x00

Chn0B0x00P0x00R0x7c:0x00

Chn0B0x00P0x00R0x7d:0x10

Chn0B0x00P0x00R0x7e:0x18

Chn0B0x00P0x00R0x7F:0x00

==== 捕获到 smartpa reg end ===

问题2:

带宽限制

我需要设置什么寄存器?

CHNL_0 (页=0x00地址=0x03)位7~6:10b

TDM_CFG0 (页=0x00地址=0x08)位5:0b

TDM_CFG0 (页=0x00地址=0x08)位4:0b

TDM_CFG0 (页=0x00地址=0x08)位3~1:100b

TDM_CFG2 (页=0x00地址=0x0A)位5~4:?

TDM_CFG2 (页=0x00地址=0x0A)位3~2:?

TDM_CFG2 (页=0x00地址=0x0A)位1~0:?

TDM_CFG3 (页=0x00地址=0x0C)位7~4:? //我们使用 i2c、不使用 TDM

TDM_CFG3 (页=0x00地址=0x0C)位3~0:? //我们使用 i2c、不使用 TDM

TDM_CFG12 (页=0x00地址=0x16)位7:1b

TDM_CFG12 (页=0x00地址=0x16)位6:1b

TDM_CFG12 (页=0x00地址=0x16)位5~0:?

CLOCK_CFG (页=0x00地址=0x60)位5~2:100b //我们的硬件 sbclk:3.068Mhz、Fsync:48kHz

和其他寄存器...

该项目在同一条 i2c 总线上具有三安培 IC。

我需要提供哪些规格?

请参考以下原理图

问题3:

在生成 bin 文件工具中、我找不到 TAS2780。

我需要选择哪种类型的器件?

问题4:

回波 CHN 0xBK 0xPG 0xRG 0xxx >寄存器

什么是 CHN?  是 i2c 通道吗?

我们的 tas2780位于/sys/bus/i2c/devices/1-0038

是否是 CHN 参数1?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题5:

    如何验证并确保功能正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您选择 tas2780

    Q3:不用考虑、您可以选择任何设备。

    Q4: CHN 表示设备编号,您的设备上有多少个 tas2780片? 如果只有一个、则 CHN 必须为0 (如果为三个)。 CHn 必须为0 ~2。

    请 从 json - lpaa-android-drivers/tasdevice-linux-driver - Unnamed repository 中选择 tas2780的 jsn 文件;编辑此文件"destination "以命名存储库。 

    在播放期间、请使用示波器测量 i2c bck 和 ws clk 并进行捕获、然后在此处上传波形。 我可以进行进一步分析。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    在播放期间、请使用示波器测量 i2c bck 和 ws clk 并进行捕获、然后在此处上传波形。 我可以进行进一步分析。
    =>请参考波形。

    Q4: CHN 表示设备编号,您的设备上有多少个 tas2780片? 如果只有一个、则 CHN 必须为0 (如果为三个)。 CHn 必须为0 ~2。
    =>
    而是在同一条 I2S、i2c 总线上实现三安培
    AMP_0 aw88399_0
    Amp_1 aw88399_1
    amp_2 ti tas2780
    我应该为 CHN 参数填写什么内容?

    请从 json - lpaa-android-drivers/tasdevice-linux-driver - Unnamed repository 中选择 tas2780的 jsn 文件;编辑此文件"destination "以命名存储库。
    =>
    而是在同一条 I2S、i2c 总线上实现三安培
    AMP_0 aw88399_0
    Amp_1 aw88399_1
    amp_2 ti tas2780
    我应该选择哪个文件?
    我应该选择 tas2780-1amp-reg.json。对吗?
    tas2780-1amp-reg.json
    tas2780-3amp-reg.json

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题6:
    我们通过 PVDD 23V 来驱动超声波扬声器
    我应该设置什么寄存器?
    请参阅 Q2原理图

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、选择  tas2780-1amp-reg.json。您将选择什么配置文件? 因为您的器件上有多个音频放大器。 请告诉我将播放哪个音频通道 tas2781?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Lahaina:/sys/bus/i2c/devices/1-0038 # cat regbininfo_list
    Regbin 文件版本:0x0105
    CONF 00:DSP-A 16位+回波
    CONF 01:2槽 I2S 16位+ECHO 基准
    CONF 02:延迟捕捉


    Lahaina:/sys/bus/i2c/devices/1-0038 # cat regcfg_list
    CONF 00:DSP-A 16位+回波
    块类型:PRE_POWER_UP 器件 idx = 0x00
    单字节:
    BOOK0x00 PAGE0x00 REG0x5c 值= 0xd9
    BOOK0x00 PAGE0x00 REG0x0d 值= 0x01
    BOOK0x00 PAGE0x00 REG0x16值= 0x40
    BOOK0x00 PAGE0x00 REG0x0e 值= 0x00
    BOOK0x00 PAGE0x00 REG0x0f 值= 0x00
    BOOK0x00 PAGE0x00 REG0x02值= 0x00
    块类型:pre_shutdown device idx = 0x00
    单字节:
    BOOK0x00 PAGE0x00 REG0x02值= 0x02


    Lahaina:/sys/bus/i2c/devices/1-0038 # tinymix "TASDEVICE 配置文件 id"
    TASDEVICE 配置文件 ID:0 (dsrange 0->2)


    抱歉、更新信息
    而是在同一条 I2S、i2c 总线上实现三安培
    AMP_0 awinic aw88399_0
    Amp_1 awinic aw88399_1
    amp_2 ti tas2780

    AMP_0 ->/sys/bus/i2c/devices/1-0034
    AMP_1 ->/sys/bus/i2c/devices/1-0035
    AMP_2 ->/sys/bus/i2c/devices/1-0038


    请告诉我将播放哪个音频通道 tas2781?
    =>
    我们的音频设计是双通道 I2S、32位、
    单声道播放

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们可以通过微信相互联系吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、可以。 我已经给您发送了邮件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已添加您的帐户。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Q7,如何调谐 tas2780实时?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我无法下载以下两个工具?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、大家好

    我已将您的请求转移至 Ken。 看来你已经通过邮件联系了他。 希望你能从他得到更多的支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TAS2780中是否有类似的 ID 代码?

    我们需要确认 IC 是 TAS2780。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Changruei:

    IC 中没有用于 ID 的寄存器。