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.

[参考译文] TAS2552:TAS2552 Linux驱动程序问题

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1093810/tas2552-tas2552-linux-driver-issue

部件号:TAS2552
主题中讨论的其他部件: TAS2563

我们运行lsmod,驱动程序显示在列表中。  但音频输出仍无法正常工作。 它在那里显示虚拟输出。  是否需要更新BIOS?  如果BIOS需要实施某项操作,是否需要任何信息或参考代码?  我们测试了I2C是否正常工作

lsmod messageDUMMY AUDIO OUTPUT

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

    你好,Fu-Ju,

    今天是TI的假期,因此对延误深表歉意。 预计下周一会有回复。

    Brian

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

    是否使用 www.ti.com/.../TAS2552SW-LINUX中的TAS2552驱动程序

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

    我们已经检查了它。 这就是Linux内核树中已包含的驱动程序。 但它是用于RISC CPU的,它有设备树来支持它。

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

    更多信息。  我们在Intel Apollo Lake平台中使用此功能。  谢谢你。

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

    我将与我们的中国软件团队核实一下,看看我们是否还有其他可以提供的东西。

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

    您好,Fu-ju

    您是否注册了声卡?  

    • 共享您的DTS文件
    • 运行以下代码数
    • cat /proc/asound/PCM

      cat /proc/asound/cards.

      cat /sys/kernel/debug/asoc/components (用于kernel 4.19 或更高版本)

      cat /sys/kernel/debug/asoc/codecs (用于内核4.14 或更低版本)

      ls /dev/snd

    还有一件事,告诉我您的内核版本。

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

    您好,胜利:

    我们使用Intel Apollo Lkae平台,x86系统,无DTS文件。

    如有其他问题,请参见附件图片。  谢谢你。

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

    根据我的经验,例如TI BBB或FSL paltform,声卡寄存器的方法是通过DTS,请参阅所附图片,

    我很好奇声卡如何在没有DTS的情况下注册到英特尔平台。

    请检查在insmod期间是否调用tas2552_componet_probe。

    也可以咨询平台供应商,了解如何在英特尔平台上注册声卡。

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

    您是否有将TAS2552或类似IC置于BIOS的示例?  BIOS代码示例?   您是否知道 以前在x86平台中使用此IC的项目?

    谢谢!

    李福柱

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

    您的意思是ACPI设置吗?

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

    是的,ACPI表。

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

    我的建议是在您当前的平台上使用ACPI工具。

     

    我们使用ACPI工具,从BIOS转储并更新DSDT.DSL。

    在Windows控制台中,以管理员身份运行以下命令:

    bcdedit /set TESTSIGNING ON (bcdedit /设置TESTSIGNING打开)

    acpidump > tab.bin

    acpixtract -a tab.bin

    iasl dsdt.dat

     

    下面是我们在 TAS2563的Windows平台中为DSDT.DSL添加的内容:

    _SB.I2CD应更改为当前连接。

    INT8866应更改为新的硬件ID。

    0x004C, 0x004D是 TAS2563器件的I2C从属地址。

    如果没有与设备连接中断,则可能不需要GpioInt。

     

      范围(_SB.I2CD)

      {

        设备(TAS)

        {

          名称(_HID,"INT8866") //_HID:硬件ID

          名称(_UID,零) //_UID:唯一ID

          方法(_CRS,0,未序列化) //_CRS:当前资源设置

          {

            名称(RBUF, ResourceTemplate ()

            {

              I2cSerialBusV2 (0x004C,ControllerInitiated,0x0.0061万A80,

                地址单列模式7位,"\\_SB.I2CD",

                0x00,ResourceConsumer,专用,

                )

              I2cSerialBusV2 (0x004D,ControllerInitialated,0x0.0061万A80,

                地址单列模式7位,"\\_SB.I2CD",

                0x00,ResourceConsumer,专用,

                )

              GpioInt (Edge,ActiveLow,SharedAndWake,PullNone,0x0000,

                "\\_SB.GPIO ",0x00,ResourceConsumer,,

                )

                {  //锁定列表

                  0x0020

                }

            })

            Return (RBUF)/*\_SB_.I2CD.TAS_._CRS.RBUF */

          }

     

          方法(_STA,0,未序列化) //_STA:状态

          {

            返回(0x0F)

          }

        }

      }

     

    DSDT.DSL更新后,通过以下命令编译并应用:

    iasl DSDT.DSL

    asl /loadtable -v DSDT.aml

     

    它将在系统重新启动后生效。

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

    范围(_SB.I2CD)

    设备(TAS)

    名称(_HID,"INT8866")//_HID:硬件ID
    名称(_UID,零)//_UID:唯一ID
    互斥锁(ECMT, 0x00)
    方法(_CRS,0,未序列化)//_CRS:当前资源设置

    名称(BFFR,ResourceTemplate ())

    I2cSerialBusV2 (0x004E,ControllerInitialated,0x0.0061万A80,
    地址单列模式7位,"\\_SB.I2CD",
    0x00,ResourceConsumer,专用,
    )
    I2cSerialBusV2 (0x004F,ControllerInitialated,0x0.0061万A80,
    地址单列模式7位,"\\_SB.I2CD",
    0x00,ResourceConsumer,专用,
    )
    GpioInt (Edge,ActiveLow,ExclusiveAndWake,PullNone,0x0000,
    "\\_SB.GPIO ",0x00,ResourceConsumer,,
    )
    {//锁定列表
    0x0003
    }
    })
    返回(BFFR)/*\_SB_.I2CD.TAS_._CRS.BFFR */
    }
    }
    }