|
@@ -101,6 +101,34 @@ interface. ::
|
|
|
+--------------------+ | |
|
|
|
+----------------+
|
|
|
|
|
|
+Example 5: Stereo Stream with L and R channel is rendered by 2 Masters, each
|
|
|
+rendering one channel, and is received by two different Slaves, each
|
|
|
+receiving one channel. Both Masters and both Slaves are using single port. ::
|
|
|
+
|
|
|
+ +---------------+ Clock Signal +---------------+
|
|
|
+ | Master +----------------------------------+ Slave |
|
|
|
+ | Interface | | Interface |
|
|
|
+ | 1 | | 1 |
|
|
|
+ | | Data Signal | |
|
|
|
+ | L +----------------------------------+ L |
|
|
|
+ | (Data) | Data Direction | (Data) |
|
|
|
+ +---------------+ +-----------------------> +---------------+
|
|
|
+
|
|
|
+ +---------------+ Clock Signal +---------------+
|
|
|
+ | Master +----------------------------------+ Slave |
|
|
|
+ | Interface | | Interface |
|
|
|
+ | 2 | | 2 |
|
|
|
+ | | Data Signal | |
|
|
|
+ | R +----------------------------------+ R |
|
|
|
+ | (Data) | Data Direction | (Data) |
|
|
|
+ +---------------+ +-----------------------> +---------------+
|
|
|
+
|
|
|
+Note: In multi-link cases like above, to lock, one would acquire a global
|
|
|
+lock and then go on locking bus instances. But, in this case the caller
|
|
|
+framework(ASoC DPCM) guarantees that stream operations on a card are
|
|
|
+always serialized. So, there is no race condition and hence no need for
|
|
|
+global lock.
|
|
|
+
|
|
|
SoundWire Stream Management flow
|
|
|
================================
|
|
|
|