Announcement

Collapse
No announcement yet.

SoundWire Subsystem Revised For The Linux Kernel

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SoundWire Subsystem Revised For The Linux Kernel

    Phoronix: SoundWire Subsystem Revised For The Linux Kernel

    SoundWire is being proposed again for being introduced to the Linux kernel as a new soundsystem...

    http://www.phoronix.com/scan.php?pag...x-Revised-2017

  • #2
    Where exactly in the stack does this fit? Like is it above alsa, bellow alsa, replace alsa, etc.

    Comment


    • #3
      Originally posted by SpyroRyder View Post
      Where exactly in the stack does this fit? Like is it above alsa, bellow alsa, replace alsa, etc.
      +SoundWire is a new interface ratified in 2015 by the MIPI Alliance.
      +SoundWire is used for transporting data typically related to audio
      +functions. SoundWire interface is optimized to integrate audio devices in
      +mobile or mobile inspired systems.
      +
      +SoundWire is a 2-Pin multi-drop interface with data and clock line. It
      +facilitates development of low cost, efficient, high performance systems.
      +Broad level key features of SoundWire interface include:
      + 1. Transporting all of payload data channels, control information, and setup
      + commands over a single two-pin interface.
      + 2. Lower clock frequency, and hence lower power consumption, by use of DDR
      + (Dual Data Rate) data transmission.
      + 3. Clock scaling and optional multiple data lanes to give wide flexibility
      + in data rate to match system requirements.
      + 4. Device status monitoring, including interrupt-style alerts to the Master.
      +
      +The SoundWire protocol supports up to eleven Slave interfaces. All the
      +interfaces share the common Bus containing data and clock line. Each of the
      +Slaves can support up to 14 Data Ports. 13 Data Ports are dedicated to audio
      +transport. Data Port0 is dedicated to transport of Bulk control information,
      +each of the audio Data Ports (1..14) can support up to 8 Channels in
      +transmit or receiving mode (typically fixed direction but configurable
      +direction is enabled by the specification). Bandwidth restrictions to
      +~19.2..24.576Mbits/s don't however allow for 11*13*8 channels to be
      +transmitted simultaneously.

      From: http://lkml.iu.edu/hypermail/linux/k...0.2/03398.html

      Comment


      • #4
        Originally posted by monraaf View Post

        +SoundWire is a new interface ratified in 2015 by the MIPI Alliance.
        +SoundWire is used for transporting data typically related to audio
        +functions. SoundWire interface is optimized to integrate audio devices in
        +mobile or mobile inspired systems.
        +
        +SoundWire is a 2-Pin multi-drop interface with data and clock line. It
        +facilitates development of low cost, efficient, high performance systems.
        +Broad level key features of SoundWire interface include:
        + 1. Transporting all of payload data channels, control information, and setup
        + commands over a single two-pin interface.
        + 2. Lower clock frequency, and hence lower power consumption, by use of DDR
        + (Dual Data Rate) data transmission.
        + 3. Clock scaling and optional multiple data lanes to give wide flexibility
        + in data rate to match system requirements.
        + 4. Device status monitoring, including interrupt-style alerts to the Master.
        +
        +The SoundWire protocol supports up to eleven Slave interfaces. All the
        +interfaces share the common Bus containing data and clock line. Each of the
        +Slaves can support up to 14 Data Ports. 13 Data Ports are dedicated to audio
        +transport. Data Port0 is dedicated to transport of Bulk control information,
        +each of the audio Data Ports (1..14) can support up to 8 Channels in
        +transmit or receiving mode (typically fixed direction but configurable
        +direction is enabled by the specification). Bandwidth restrictions to
        +~19.2..24.576Mbits/s don't however allow for 11*13*8 channels to be
        +transmitted simultaneously.

        From: http://lkml.iu.edu/hypermail/linux/k...0.2/03398.html
        While detailed that doesn't really answer my question. I really watned to know if this is something that replaces Alsa, replaces some of the stuff above alsa (pulse), or is it so low level that alsa is ontop of it. A question that occured to me after I posted originally is how hardware limited is this? Is it a generic thing or is it limitied to specific devices which confrom to it, sort of like how Vulkan is?

        Comment


        • #5
          Originally posted by SpyroRyder View Post

          While detailed that doesn't really answer my question. I really watned to know if this is something that replaces Alsa, replaces some of the stuff above alsa (pulse), or is it so low level that alsa is ontop of it. A question that occured to me after I posted originally is how hardware limited is this? Is it a generic thing or is it limitied to specific devices which confrom to it, sort of like how Vulkan is?
          seeing the code in the patches is neither, this looks like a sound system for SoC and devices of the sort not a general alsa replacement per se.

          I guess the point is you won't need ALSA on certain SoCs that support soundwire or at the very least an ALSA driver just soundwire compatibility

          Comment


          • #6
            The details are rather scarce, my understanding is that SoundWire sits at the same level as HDA audio. In other words, this is just a low-level interface to talk to codecs and discover their capabilities. Thus it should sit below ALSA. However the patch series does not seem to plug SoundWire into ALSA as far as I can tell. So probably there will be another patch series so that ALSA can abstract SoundWire just like it abstracts HDA audio.

            Comment


            • #7
              Originally posted by SpyroRyder View Post
              Where exactly in the stack does this fit? Like is it above alsa, bellow alsa, replace alsa, etc.
              well below ALSA. This is low-level stuff, it is a 2-contact interface for digital sound transfer between two chips on a board. Like between the SoC and the DAC in an embedded system.

              Comment


              • #8
                This is pure clickbait. I thought someone had the amazing idea of provide a better and saner sound system to Linux kernel! No more ALSA, JACK, PA, WTF, ETC

                Comment


                • #9
                  Sounds like it's a functional replacement for both I2S and I2C when used to connect audio codecs and digital converters / transceivers.

                  Comment


                  • #10
                    Originally posted by timofonic View Post
                    This is pure clickbait. I thought someone had the amazing idea of provide a better and saner sound system to Linux kernel! No more ALSA, JACK, PA, WTF, ETC
                    No offence, but here the issue is on your side. The title isn't clickbaity and the article states "SoundWire is a low-power, two-pin bus that's been around since 2014 for supporting multiple audio streams and embedded control/commands".

                    If you misread that it is your own problem. Others didn't understand the technical side, but they asked for explanations, they didn't jump to conclusions.

                    Comment

                    Working...
                    X