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 Driver issue

Part Number: TAS2552
Other Parts Discussed in Thread: TAS2563

We run lsmod and the driver shows up in the list.  But the Audio output is not functioning correctly still. It shows Dummy Output there.  If the BIOS needs to update?  If BIOS needs to implement something, any information or the reference code?  We tested the I2C works correctly

lsmod messageDUMMY AUDIO OUTPUT

  • Hi Fu-Ju,

    Today is a holiday for TI, so apologies for the delay. Expect a response this coming Monday.

    Brian

  • We already checked it. That’s the driver which’s already included in Linux kernel tree. But it’s for the use of RISC CPUs which has device tree to support it.

  • Some more information.  We use this in intel Apollo Lake platform.  Thank you.

  • I am going to check with our China software team to see if there is anything else we can provide.

  • Hi Fu-ju

    Have you register the sound card? 

    • share your dts file
    • run following coomands
    • cat /proc/asound/pcm

      cat /proc/asound/cards

      cat /sys/kernel/debug/asoc/components (for kernel 4.19 or above)

      cat /sys/kernel/debug/asoc/codecs (for kernel 4.14 or below)

      ls /dev/snd

    One more thing, tell me your kernel version.

  • Hi, Shenghao:

    We use intel Apollo Lkae Platform, x86 system, no dts file.

    For other questions, please find in attached picture.  Thank you.

  • In my experience, such as TI BBB or FSL paltform, the method for sound card register is through dts, See the attached pic,

    I an curious how the sound card register into this Intel platform without dts.

    Kindly check whether tas2552_componet_probe is called, during insmod.

    May as well consult Platform vendor on how register sound card on Intel platform.

  • Do you have any example to put the TAS2552 or similar IC to BIOS?  BIOS code example?   Do you know if any projects using this IC in a x86 platform before?

    Thank you,

    FuJu Lee

  • Do you mean ACPI setting?

  • Yes, the ACPI Table.

  • My suggestion is use ACPI tools for your current platform.

     

    We use ACPI tools, dump from BIOS, and update DSDT.DSL.

    In windows console as administrator, run below commands:

    bcdedit /set TESTSIGNING ON

    acpidump > tab.bin

    acpixtract -a tab.bin

    iasl dsdt.dat

     

    Below is what we have added into DSDT.DSL in windows platform for TAS2563:

    _SB.I2CD should be changed as current connection.

    INT8866 should be changed as new hardware ID.

    0x004C, 0x004D is I2C slave address of TAS2563 devices.

    GpioInt may be not needed if no interrupt was connected with devices.

     

        Scope (_SB.I2CD)

        {

            Device (TAS)

            {

                Name (_HID, "INT8866")  // _HID: Hardware ID

                Name (_UID, Zero)  // _UID: Unique ID

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings

                {

                    Name (RBUF, ResourceTemplate ()

                    {

                        I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,

                            AddressingMode7Bit, "\\_SB.I2CD",

                            0x00, ResourceConsumer, , Exclusive,

                            )

                        I2cSerialBusV2 (0x004D, ControllerInitiated, 0x00061A80,

                            AddressingMode7Bit, "\\_SB.I2CD",

                            0x00, ResourceConsumer, , Exclusive,

                            )

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

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

                            )

                            {   // Pin list

                                0x0020

                            }

                    })

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

                }

     

                Method (_STA, 0, NotSerialized)  // _STA: Status

                {

                    Return (0x0F)

                }

            }

        }

     

    after DSDT.DSL was updated, compile and apply by below command:

    iasl dsdt.dsl

    asl /loadtable -v dsdt.aml

     

    It will take effective after system restart.

  • Scope (_SB.I2CD)
    {
    Device (TAS)
    {
    Name (_HID, "INT8866") // _HID: Hardware ID
    Name (_UID, Zero) // _UID: Unique ID
    Mutex (ECMT, 0x00)
    Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
    {
    Name (BFFR, ResourceTemplate ()
    {
    I2cSerialBusV2 (0x004E, ControllerInitiated, 0x00061A80,
    AddressingMode7Bit, "\\_SB.I2CD",
    0x00, ResourceConsumer, , Exclusive,
    )
    I2cSerialBusV2 (0x004F, ControllerInitiated, 0x00061A80,
    AddressingMode7Bit, "\\_SB.I2CD",
    0x00, ResourceConsumer, , Exclusive,
    )
    GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
    )
    { // Pin list
    0x0003
    }
    })
    Return (BFFR) /* \_SB_.I2CD.TAS_._CRS.BFFR */
    }
    }
    }