TAS6424-Q1: Linux Device Driver Architecture Design Diagrams

Part Number: TAS6424-Q1
Other Parts Discussed in Thread: TAS6754-Q1, TAS6424,

Tool/software:

Dear folks!

I'm Isael García from Capgemini Engineering, and we're currently about to start a Linux device driver implementation for the new Class-D amplifier TAS6754-Q1.

Therefore, by digging into kernel examples I found the following Class-D amplifier tas6424 driver implementation:

tas6424.c « codecs « soc « sound - kernel/git/stable/linux.git - Linux kernel stable tree

Although, I managed to find the tas6424-q1 source code as a starting point to develop the new tas6754-q1, I am a newbie in the Linux device driver development process, more specifically, in the architecture design part of a Linux device driver to represent correctly the interaction between the Linux subsystems and the driver tas6424 itself.

I am looking for documentation about the tas6424 Device Driver Architecture Design Diagrams to have it as reference in order to document and design my tas6754-q1 driver implementation.

I tried to access the tidrive.ext.ti.com to see if I could find anything about sequence diagrams, block diagrams or any detailed architecture design diagrams since having the source code is not enough to understand the whole process and such interactions between the Linux subsystems and the driver tas6424 itself.

Unfortunately, I cannot access the tidrive.ext.ti.com and I would also appreciate any guidance to access this external drive from TI tidrive.ext.ti.com, perhaps I can find something interesting there too.

 

 Can anyone help me with the information highlighted in red above?

  • I just noticed the TI Drive External File Share link in my post was broken, here it is the one I found, but I cannot access it.

    tidrive.ext.ti.com/.../

  • Hi 

    There's some guidance file as below link.

    https://tidrive.ext.ti.com/u/mXiyXmL4snWLeLJV/ce0530b1-7f02-4858-bdc3-485ed73ddc35?l

    Access Code: b7b;97mV

    And sorry that our side can't provide further support on this, our team doesn't have the resource to develop Linux Driver anymore, suggest you to contact your SOC supplier for help. Thanks.

  • Thank you very much for these useful insights.

    Although, I was looking for some kind of UML (Visual) representation (like use case diagrams, sequence diagrams, class diagrams or any block diagrams) corresponding to the design of a device driver, I did a little research and it seems that in the Linux world community such practices are uncommon for documenting drivers, anyway I will try to create some of these diagrams based on my understanding of the information I have found + the one you provided.

    On the other hand, I am a little confused about the information I had found previously from the latest kernel release about tas6424 vs the information you provided: 

    I mean, so far, I found below samples from the kernel:

    linux-6.16.5/sound/soc/codecs/tas6424.c

    linux-6.16.5/sound/soc/codecs/tas6424.h

    linux-6.16.5/Documentation/devicetree/bindings/sound/ti,tas6424.txt

    linux-6.16.5/Documentation/sound/*.rst

     

    Shall I base my implementation for the new TAS6754-Q1 only with the template files you provided in this post instead of the samples that are built-in the official kernel repository listed above in blue?

    tidrive.ext.ti.com/.../ce0530b1-7f02-4858-bdc3-485ed73ddc35

    Access Code: b7b;97mV

    or

    Shall I use both and mix them somehow to create my new Class-D amplifier TAS6754-Q1?

    Thanks!

    BR

  • Hi BR

    Both should be fine to use.

    The one you found from kernel should already been using by lots of people. And the one I provided, is some software person sorted out documents and generated guidance based on them.

  • Great!

    Thanks a lot for the advice. I´ll get my hands dirty now and come back if I get stuck. I will close this discussion for now.

    Have a great day!