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.

Issues programming descriptor for PCM2706 via EEPROM

Other Parts Discussed in Thread: PCM2706

I am trying to create a custom descriptor for the PCM2706.

I have tried using the example external ROM data from the datasheet, but it does not name it properly. All I get are 'up arrows' for the name of the sound card. Here's what I used to I program the EEPROM:

0xBB, 0x08, 0x04, 0x27,
0x48, 0x61, 0x72, 0x6D, 0x6F, 0x6E, 0x79, 0x31, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x41, 0x72, 0x72, 0x61, 0x6B, 0x69, 0x73, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x73, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x80,
0x32,
0x0A, 0x93, 0x01

I converted these all to binary, and loaded my eeprom. Interestingly enough, when I change the product ID to 2706 (instead of 2704), it won't come up at all.

A couple questions:

1) Does it matter if the Product ID says 2706 instead of 2704? If so, then how do I change to 2706?

2) What are the default HID values when I don't modify the descriptor. I don't need any external control, and want it to do what it defaults to when there are no descriptor modifications. The example uses 0x0A, 0x93, 0x01 (AL A/V capture) and I don't even know what this is.

3) Are there any example tutorials on how to program the EEPROM so it works with the 2706?

4) Any example code for the 2706 that works?

  • Hi Ben,

    Have you verified that D+ pull up is not activated until the whole EEPROM descriptors are written?
    Using 2706 in product ID shouldn't be a problem.
    I think you could leave last three bytes as 0x00.
    Unfortunately there aren't application notes or examples other than what is included in the datasheets.

    Best regards,
    -Ivan Salazar
    Texas Instruments
  • Hi Ivan,


    Thank you very much for your help! You are correct, the pull up was the problem. So I have been able to name the first DAC. When I try to name the next two, they don't come up with the name. I have a TUSB hub, connecting qty 3 of the 2706 DAC's, and one 2900 codec. Anything I should check for for if I am trying to name 3 DAC's with different names?


    Thank you again for your help!

  • Hi Ben,

    Glad to hear you've identified the issue. I think there shouldn't be any problem to name the DACs with different names.

    Best regards,
    -Ivan Salazar
    Texas Instruments
  • Hello Ivan,
    We have a different, but probably related problem.
    So we ultimately figured out our previous problem by powering the custom EEPROM from the PCM2706C pin 2. We were originally powering the EEPROM direct.

    We are using the TUSB 2046B Hub, and have it connected to qty 3 of the PCM2706C DAC's. The 4th is a CODEC, PCM2900CDB. When the computer is already on, and we power up the sound cards, everything comes up properly. We have 3 custom names for the 2706, and the USB Audio Codec 2900 comes up properly as well. Everything works great.

    BUT, when I power the computer down, leaving the sound cards still powered on, and then turn the PC on again, it does not recognize the qty 3 2706 sound cards. It does however recognize the USB Audio Codec 2900. When I reset the power on the sound cards, everything comes up proper and works again.

    Any ideas of what is different for when the PC is turned on, and it doesn't recognize the sound cards on power up? We have tested it on a handful of PC's, with Windows OS7, 8 and 10. All the same results.

    Thank you very much for your help!

  • Hi Ben,

    I'll address this issue on your other post.

    Best regards,
    -Ivan Salazar
    Texas Instruments