coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
soundwire.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 /*
4  * This header implements structures to describe the properties defined in the
5  * SoundWire Discovery and Configuration (DisCo) Specification Version 1.0.
6  *
7  * This is available for non-members after providing a name and email address at
8  * https://resources.mipi.org/disco_soundwire
9  *
10  * The structure members mirror the property names defined in the specification,
11  * with the exception that '-' is transformed into '_' for compatible naming.
12  *
13  * See Documentation/drivers/soundwire.md for more information.
14  */
15 
16 #ifndef __DEVICE_SOUNDWIRE_H__
17 #define __DEVICE_SOUNDWIRE_H__
18 
19 #include <types.h>
20 
21 /**
22  * enum soundwire_limits - Limits on number of SoundWire devices in topology.
23  * @SOUNDWIRE_MAX: Maximum value for lists of configuration values in SoundWire devices.
24  * @SOUNDWIRE_MIN_DPN: Data Port minimum value. DPn range is 1-14.
25  * @SOUNDWIRE_MAX_DPN: Data Port maximum value. DPn range is 1-14.
26  * @SOUNDWIRE_MAX_SLAVE: Maximum number of slave devices that can be attached to one master.
27  * @SOUNDWIRE_MAX_LINK: Maximum number of master link devices that can be on one controller.
28  * @SOUNDWIRE_MAX_LANE: Maximum number of lanes in a multi-lane slave device.
29  * @SOUNDWIRE_MAX_MODE: Maximum number of Audio or Bulk Register Access modes.
30  */
39 };
40 
41 /**
42  * enum soundwire_sw_version - Versions of SoundWire Discovery and Configuration Specification.
43  * @SOUNDWIRE_SW_VERSION_1_0: DisCo Specification Version 1.0 released November 2016.
44  */
46  SOUNDWIRE_SW_VERSION_1_0 = 0x00010000
47 };
48 
49 /**
50  * enum soundwire_version - Versions of SoundWire Specification supported by a device.
51  * @SOUNDWIRE_VERSION_1_0: SoundWire Specification Version 1.0 released January 2015.
52  * @SOUNDWIRE_VERSION_1_1: SoundWire Specification Version 1.1 released June 2016.
53  * @SOUNDWIRE_VERSION_1_2: SoundWire Specification Version 1.2 released April 2019.
54  */
59 };
60 
61 /**
62  * enum mipi_class - MIPI class encoding.
63  * @MIPI_CLASS_NONE: No further class decoding.
64  * @MIPI_CLASS_SDCA: Device implements SoundWire Device Class for Audio (SDCA).
65  *
66  * 0x02-0x7F: Reserved
67  * 0x80-0xFF: MIPI Alliance extended device class
68  */
69 enum mipi_class {
72 };
73 
74 /**
75  * struct soundwire_address - SoundWire Device Address Encoding.
76  * @version: SoundWire specification version from &enum soundwire_version.
77  * @link_id: Zero-based SoundWire master link id.
78  * @unique_id: Unique ID for multiple slave devices on the same bus.
79  * @manufacturer_id: Manufacturer ID from include/mipi/ids.h.
80  * @part_id: Vendor defined part ID.
81  * @class: MIPI class encoding in &enum mipi_class.
82  */
89  enum mipi_class class;
90 };
91 
92 /**
93  * struct soundwire_link - SoundWire master device properties.
94  * @clock_stop_mode0_supported: %true if clock stop mode0 is supported by this device.
95  * @clock_stop_mode1_supported: %true if clock stop mode1 is supported by this device.
96  * @max_clock_frequency: Maximum bus clock for this device in Hz.
97  * @supported_clock_gears_count: Number of entries in supported_clock_gears.
98  * @supported_clock_gears: One entry for each supported clock gear.
99  * @clock_frequencies_supported_count: Number of entries in clock_frequencies_supported.
100  * @clock_frequencies_supported: One entry for each clock frequency supported in Hz.
101  * @default_frame_rate: Controller default frame rate in Hz.
102  * @default_frame_row_size: Number of rows between 48-256.
103  * @default_frame_col_size: Number of columns: 2, 4, 8, 16.
104  * @dynamic_frame_shape: %true if bus driver may change frame shape dynamically.
105  * @command_error_threshold: Number of times that software may retry sending a command.
106  */
110  unsigned int max_clock_frequency;
115  unsigned int default_frame_rate;
120 };
121 
122 /**
123  * struct soundwire_controller - SoundWire controller properties.
124  * @master_count: Number of masters present on this device.
125  * @master_list: One entry for each master device.
126  */
128  unsigned int master_list_count;
130 };
131 
132 /* SoundWire port bitmask, used for slave source/sink port list property. */
133 #define SOUNDWIRE_PORT(port) BIT(port)
134 
135 /**
136  * struct soundwire_slave - SoundWire slave device properties.
137  * @wake_up_unavailable: Wake from this device is not supported or allowed.
138  * @test_mode_supported: %true if test mode is supported by this device.
139  * @clock_stop_mode1_supported: %true if clock stop mode1 is supported by this device.
140  * @simplified_clockstopprepare_sm_supported: %true if slave only supports the simplified
141  * clock stop prepare state machine and will
142  * always be ready for a stop clock transition.
143  * @clockstopprepare_timeout: Slave-specific timeout in milliseconds.
144  * @clockstopprepare_hard_reset_behavior: %true when slave keeps the status of the
145  * StopClockPrepare state machine after exit from
146  * mode1 and must be de-prepared by software.
147  * @slave_channelprepare_timeout: Slave-specific timeout in milliseconds.
148  * @highPHY_capable: %true if device is HighPHY capable.
149  * @paging_supported: %true if device implements paging registers.
150  * @bank_delay_supported: %true if device implements bank delay/bridge registers.
151  * @port15_read_behavior: %true if device supports read to Port15 alias.
152  * @master_count: Number of master links present on this slave.
153  * @source_port_list: Bitmap identifying supported source ports, starting at bit 1.
154  * @sink_port_list: Bitmap identifying supported sink ports, starting at bit 1.
155  */
168  size_t master_count;
171 };
172 
173 /**
174  * enum soundwire_multilane_dir - Direction of lane in slave multilane device.
175  * @MASTER_LANE: Lane is connected to a master device.
176  * @SLAVE_LINK: Lane is connected to a slave device.
177  */
181 };
182 
183 /**
184  * struct soundwire_multilane_map - Pair a soundwire lane with direction.
185  * @lane: Slave device lane number.
186  * @direction: Direction of the slave lane.
187  * @connection: The connection that this lane makes.
188  */
190  unsigned int lane;
192  union lane_type {
193  unsigned int master_lane;
194  unsigned int slave_link;
196 };
197 
198 /**
199  * struct soundwire_multilane - Multi-Lane SoundWire slave device.
200  * @lane_mapping_count: Number of entries in lane_mapping.
201  * @lane_mapping: One entry for each lane that is connected to lanes on a master device or
202  * slave devices via a slave link. Lane 0 is always connected to the master
203  * and entry 0 in this array is ignored.
204  * @lane_bus_holder_count: Number of entries in lane_bus_holder.
205  * @lane_bus_holder: One entry for each lane, %true if the device behaves as a bus holder.
206  */
212 };
213 
214 /**
215  * enum soundwire_prepare_channel_behavior - Specifies the dependencies between the
216  * Channel Prepare sequence and bus clock config.
217  * @CHANNEL_PREPARE_ANY_FREQUENCY: Channel Prepare can happen at any bus clock rate.
218  * @CHANNEL_PREPARE_SUPPORTED_FREQUENCY: Channel Prepare sequence shall happen only after
219  * the bus clock is changed to a supported frequency.
220  */
224 };
225 
226 /**
227  * struct soundwire_audio_mode - Properties for each supported Audio Mode.
228  * @sdw_name: SoundWire device name for this audio mode device instance.
229  * @max_bus_frequency: Maximum bus frequency of this mode in Hz.
230  * @min_bus_frequency: Minimum bus frequency of this mode in Hz.
231  * @bus_frequency_configs_count: Number of entries in bus_frequency_configs.
232  * @bus_frequency_configs: One entry for each supported bus frequency,
233  * if not all values in min to max range are valid.
234  * @max_sampling_frequency: Maximum sampling frequency of this mode in Hz.
235  * @min_sampling_frequency: Minimum sampling frequency of this mode in Hz.
236  * @sampling_frequency_configs_count: Number of entries in sampling_frequency_configs.
237  * @sampling_frequency_configs: One entry for each supported sampling frequency,
238  * if not all values in min to max range are valid.
239  * @prepare_channel_behavior: Dependencies between Channel Prepare and bus clock.
240  * @glitchless_transitions: Bitmap describing possible glitchless transitions from this audio
241  * mode to another audio mode. Not used for only one mode.
242  */
244  unsigned int max_bus_frequency;
245  unsigned int min_bus_frequency;
254 };
255 
256 /* Type of SoundWire Data Port supported for this device. */
261 };
262 
263 /* Number of samples that can be grouped together (0-based count). */
269 };
270 
271 /* Bitmap identifying the types of modes supported. */
277 };
278 
279 /* Bitmap identifying the encoding schemes supported. */
284 };
285 
286 /**
287  * struct soundwire_dpn - Configuration properties for SoundWire DPn Data Ports.
288  * @port_max_wordlength: Maximum number of bits in a Payload Channel Sample. (1-64)
289  * @port_min_wordlength: Minimum number of bits in a Payload Channel Sample. (1-64)
290  * @port_wordlength_configs_count: Number of entries in port_wordlength_configs.
291  * @port_wordlength_configs: One entry for each supported wordlength.
292  * Used if only specific wordlength values are allowed.
293  * @data_port_type: Type of data port from &enum soundwire_data_port_type.
294  * @max_grouping_supported: 0-based maximum number of samples that can be grouped for
295  * %FULL_DATA_PORT. The %SIMPLIFIED_DATA_PORT and %REDUCED_DATA_PORT
296  * require 4 samples in a group.
297  * @simplified_channelprepare_sm: %true if the channel prepare sequence is not required,
298  * and the Port Ready interrupt is not supported.
299  * @port_channelprepare_timeout: Port-specific timeout value in milliseconds.
300  * @imp_def_dpn_interrupts_supported: Bitmap for support of implementation-defined interrupts.
301  * @min_channel_number: Minimum channel number supported.
302  * @max_channel_number: Maximum channel number supported.
303  * @channel_number_list_count: Number of entries in channel_number_list.
304  * @channel_number_list: One entry for each available channel number.
305  * Used if only specific channels are available.
306  * @channel_combination_list_count: Number of entries in channel_combination_list.
307  * @channel_combination_list: One bitmap entry for each valid channel combination.
308  * @modes_supported: Bitmap identifying the types of modes supported by the device.
309  * @max_async_buffer: Number of samples that this port can buffer in asynchronous modes.
310  * Only required if the slave implements buffer larger than required.
311  * @block_packing_mode: %true if BlockPackingMode may be configured as BlockPerPort or
312  * BlocKPerChannel. %false if BlockPackingMode must be BlockPerPort.
313  * @port_encoding_type: Bitmap describing the types of Payload Channel Sample encoding
314  * schemes implemented by this port.
315  * @port_audio_mode_count: Number of entries in audio_mode_list.
316  * @port_audio_mode_list: One entry for each supported audio mode id.
317  */
319  unsigned int port_max_wordlength;
320  unsigned int port_min_wordlength;
328  unsigned int min_channel_number;
329  unsigned int max_channel_number;
335  unsigned int max_async_buffer;
340 };
341 
342 /**
343  * struct soundwire_bra_mode - Bulk Register Access mode properties.
344  * @max_bus_frequency: Maximum bus frequency of this mode in Hz.
345  * @min_bus_frequency: Minimum bus frequency of this mode in Hz.
346  * @bus_frequency_configs_count: Number of entries in bus_frequency_configs.
347  * @bus_frequency_configs: One entry for each supported bus frequency,
348  * Used if not all values in min to max range are valid.
349  * @max_data_per_frame: Maximum data bytes per frame, excluding header, CRC, and footer.
350  * @min_us_between_transactions: Amount of delay in uS required between transactions.
351  * @max_bandwidth: Maximum bandwidth in bytes per second that can be written/read.
352  * @block_alignment: Size of basic block in bytes.
353  */
355  unsigned int max_bus_frequency;
356  unsigned int min_bus_frequency;
359  unsigned int max_data_per_frame;
361  unsigned int max_bandwidth;
362  unsigned int block_alignment;
363 };
364 
365 /**
366  * struct soundwire_dp0 - Configuration properties for SoundWire DP0 Data Port.
367  * @port_max_wordlength: Maximum number of bits in a Payload Channel Sample. (1-64)
368  * @port_min_wordlength: Minimum number of bits in a Payload Channel Sample. (1-64)
369  * @port_wordlength_configs_count: Number of entries in port_wordlength_configs.
370  * @port_wordlength_configs: One entry for each supported wordlength.
371  * Used if only specific wordlength values are allowed.
372  * @bra_flow_controlled: Used if the slave can result in an OK_NotReady response.
373  * @bra_imp_def_response_supported: %true if implementation defined response is supported.
374  * @bra_role_supported: %true if the slave supports initiating BRA transactions.
375  * @simplified_channel_prepare_sm: %true if the channel prepare sequence is not required,
376  * and the Port Ready interrupt is not supported.
377  * @imp_def_dp0_interrupts_supported: If set, each bit corresponds to support for
378  * implementation-defined interrupts ImpDef.
379  * @imp_def_bpt_supported: %true if implementation defined Payload Type is supported.
380  * @bra_mode_count: Number of entries in bra_mode_list.
381  * @bra_mode_list: One entry for each supported Bulk Register Access mode id.
382  */
384  unsigned int port_max_wordlength;
385  unsigned int port_min_wordlength;
396 };
397 
398 /**
399  * struct soundwire_dpn_entry - Full duplex data port properties for DPn 1-14.
400  * @port: DPn data port number, starting at 1.
401  * @source: Source data port properties. (optional)
402  * @sink: Sink data port properties. (optional)
403  */
405  size_t port;
408 };
409 
410 /**
411  * struct soundwire_codec - Contains all configuration for a SoundWire codec slave device.
412  * @slave: Properties for slave device.
413  * @audio_mode: Properties for audio modes used by DPn data ports 1-14.
414  * @dpn: Properties for DPn data ports 1-14.
415  * @dp0_bra_mode: Properties for Bulk Register Access mode for data port 0. (optional)
416  * @dp0: Properties for data port 0. (optional)
417  * @multilane: Properties for slave multilane device. (optional)
418  */
426 };
427 
428 #endif /* __DEVICE_SOUNDWIRE_H__ */
#define BIT(nr)
Definition: ec_commands.h:45
soundwire_block_group_count
Definition: soundwire.h:264
@ BLOCK_GROUP_COUNT_3
Definition: soundwire.h:267
@ BLOCK_GROUP_COUNT_1
Definition: soundwire.h:265
@ BLOCK_GROUP_COUNT_2
Definition: soundwire.h:266
@ BLOCK_GROUP_COUNT_4
Definition: soundwire.h:268
soundwire_port_encoding_bitmap
Definition: soundwire.h:280
@ ENCODE_TWOS_COMPLEMENT
Definition: soundwire.h:281
@ ENCODE_SIGN_MAGNITUDE
Definition: soundwire.h:282
@ ENCODE_IEEE_32BIT_FP
Definition: soundwire.h:283
mipi_class
enum mipi_class - MIPI class encoding.
Definition: soundwire.h:69
@ MIPI_CLASS_SDCA
Definition: soundwire.h:71
@ MIPI_CLASS_NONE
Definition: soundwire.h:70
soundwire_multilane_dir
enum soundwire_multilane_dir - Direction of lane in slave multilane device.
Definition: soundwire.h:178
@ SLAVE_LINK
Definition: soundwire.h:180
@ MASTER_LANE
Definition: soundwire.h:179
soundwire_prepare_channel_behavior
enum soundwire_prepare_channel_behavior - Specifies the dependencies between the Channel Prepare sequ...
Definition: soundwire.h:221
@ CHANNEL_PREPARE_SUPPORTED_FREQUENCY
Definition: soundwire.h:223
@ CHANNEL_PREPARE_ANY_FREQUENCY
Definition: soundwire.h:222
soundwire_sw_version
enum soundwire_sw_version - Versions of SoundWire Discovery and Configuration Specification.
Definition: soundwire.h:45
@ SOUNDWIRE_SW_VERSION_1_0
Definition: soundwire.h:46
soundwire_limits
enum soundwire_limits - Limits on number of SoundWire devices in topology.
Definition: soundwire.h:31
@ SOUNDWIRE_MAX_DPN
Definition: soundwire.h:34
@ SOUNDWIRE_MAX_LINK
Definition: soundwire.h:36
@ SOUNDWIRE_MIN_DPN
Definition: soundwire.h:33
@ SOUNDWIRE_MAX_MODE
Definition: soundwire.h:38
@ SOUNDWIRE_MAX_SLAVE
Definition: soundwire.h:35
@ SOUNDWIRE_MAX
Definition: soundwire.h:32
@ SOUNDWIRE_MAX_LANE
Definition: soundwire.h:37
soundwire_mode_bitmap
Definition: soundwire.h:272
@ MODE_ISOCHRONOUS
Definition: soundwire.h:273
@ MODE_RX_CONTROLLED
Definition: soundwire.h:275
@ MODE_TX_CONTROLLED
Definition: soundwire.h:274
@ MODE_FULL_ASYNCHRONOUS
Definition: soundwire.h:276
soundwire_data_port_type
Definition: soundwire.h:257
@ SIMPLIFIED_DATA_PORT
Definition: soundwire.h:259
@ FULL_DATA_PORT
Definition: soundwire.h:258
@ REDUCED_DATA_PORT
Definition: soundwire.h:260
soundwire_version
enum soundwire_version - Versions of SoundWire Specification supported by a device.
Definition: soundwire.h:55
@ SOUNDWIRE_VERSION_1_0
Definition: soundwire.h:56
@ SOUNDWIRE_VERSION_1_2
Definition: soundwire.h:58
@ SOUNDWIRE_VERSION_1_1
Definition: soundwire.h:57
unsigned short uint16_t
Definition: stdint.h:11
unsigned int uint32_t
Definition: stdint.h:14
unsigned long long uint64_t
Definition: stdint.h:17
unsigned char uint8_t
Definition: stdint.h:8
uint8_t link_id
Definition: soundwire.h:85
uint16_t manufacturer_id
Definition: soundwire.h:87
uint16_t part_id
Definition: soundwire.h:88
enum soundwire_version version
Definition: soundwire.h:84
uint8_t unique_id
Definition: soundwire.h:86
struct soundwire_audio_mode - Properties for each supported Audio Mode.
Definition: soundwire.h:243
uint64_t bus_frequency_configs[SOUNDWIRE_MAX]
Definition: soundwire.h:247
unsigned int max_sampling_frequency
Definition: soundwire.h:248
unsigned int min_bus_frequency
Definition: soundwire.h:245
unsigned int min_sampling_frequency
Definition: soundwire.h:249
enum soundwire_prepare_channel_behavior prepare_channel_behavior
Definition: soundwire.h:252
uint64_t sampling_frequency_configs[SOUNDWIRE_MAX]
Definition: soundwire.h:251
unsigned int max_bus_frequency
Definition: soundwire.h:244
size_t bus_frequency_configs_count
Definition: soundwire.h:246
size_t sampling_frequency_configs_count
Definition: soundwire.h:250
uint32_t glitchless_transitions
Definition: soundwire.h:253
struct soundwire_bra_mode - Bulk Register Access mode properties.
Definition: soundwire.h:354
unsigned int block_alignment
Definition: soundwire.h:362
uint64_t bus_frequency_configs[SOUNDWIRE_MAX]
Definition: soundwire.h:358
unsigned int min_bus_frequency
Definition: soundwire.h:356
unsigned int max_bandwidth
Definition: soundwire.h:361
size_t bus_frequency_configs_count
Definition: soundwire.h:357
unsigned int max_bus_frequency
Definition: soundwire.h:355
unsigned int max_data_per_frame
Definition: soundwire.h:359
unsigned int min_us_between_transactions
Definition: soundwire.h:360
struct soundwire_codec - Contains all configuration for a SoundWire codec slave device.
Definition: soundwire.h:419
struct soundwire_dp0 * dp0
Definition: soundwire.h:424
struct soundwire_dpn_entry dpn[SOUNDWIRE_MAX_DPN - SOUNDWIRE_MIN_DPN]
Definition: soundwire.h:422
struct soundwire_slave * slave
Definition: soundwire.h:420
struct soundwire_bra_mode * dp0_bra_mode[SOUNDWIRE_MAX_MODE]
Definition: soundwire.h:423
struct soundwire_audio_mode * audio_mode[SOUNDWIRE_MAX_MODE]
Definition: soundwire.h:421
struct soundwire_multilane * multilane
Definition: soundwire.h:425
struct soundwire_controller - SoundWire controller properties.
Definition: soundwire.h:127
struct soundwire_link master_list[SOUNDWIRE_MAX_LINK]
Definition: soundwire.h:129
unsigned int master_list_count
Definition: soundwire.h:128
struct soundwire_dp0 - Configuration properties for SoundWire DP0 Data Port.
Definition: soundwire.h:383
bool bra_role_supported
Definition: soundwire.h:390
bool bra_imp_def_response_supported
Definition: soundwire.h:389
unsigned int bra_mode_list[SOUNDWIRE_MAX_MODE]
Definition: soundwire.h:395
bool simplified_channel_prepare_sm
Definition: soundwire.h:391
size_t port_wordlength_configs_count
Definition: soundwire.h:386
unsigned int port_min_wordlength
Definition: soundwire.h:385
bool imp_def_bpt_supported
Definition: soundwire.h:393
bool bra_flow_controlled
Definition: soundwire.h:388
unsigned int imp_def_dp0_interrupts_supported
Definition: soundwire.h:392
size_t bra_mode_count
Definition: soundwire.h:394
uint64_t port_wordlength_configs[SOUNDWIRE_MAX]
Definition: soundwire.h:387
unsigned int port_max_wordlength
Definition: soundwire.h:384
struct soundwire_dpn_entry - Full duplex data port properties for DPn 1-14.
Definition: soundwire.h:404
struct soundwire_dpn * sink
Definition: soundwire.h:407
size_t port
Definition: soundwire.h:405
struct soundwire_dpn * source
Definition: soundwire.h:406
struct soundwire_dpn - Configuration properties for SoundWire DPn Data Ports.
Definition: soundwire.h:318
enum soundwire_block_group_count max_grouping_supported
Definition: soundwire.h:324
unsigned int port_audio_mode_list[SOUNDWIRE_MAX_MODE]
Definition: soundwire.h:339
uint64_t port_wordlength_configs[SOUNDWIRE_MAX]
Definition: soundwire.h:322
uint64_t channel_number_list[SOUNDWIRE_MAX]
Definition: soundwire.h:331
size_t port_wordlength_configs_count
Definition: soundwire.h:321
enum soundwire_mode_bitmap modes_supported
Definition: soundwire.h:334
enum soundwire_data_port_type data_port_type
Definition: soundwire.h:323
unsigned int port_max_wordlength
Definition: soundwire.h:319
bool simplified_channelprepare_sm
Definition: soundwire.h:325
size_t channel_number_list_count
Definition: soundwire.h:330
unsigned int max_channel_number
Definition: soundwire.h:329
bool block_packing_mode
Definition: soundwire.h:336
uint32_t port_encoding_type
Definition: soundwire.h:337
size_t port_audio_mode_count
Definition: soundwire.h:338
size_t channel_combination_list_count
Definition: soundwire.h:332
unsigned int port_min_wordlength
Definition: soundwire.h:320
uint32_t imp_def_dpn_interrupts_supported
Definition: soundwire.h:327
unsigned int port_channelprepare_timeout
Definition: soundwire.h:326
unsigned int max_async_buffer
Definition: soundwire.h:335
uint64_t channel_combination_list[SOUNDWIRE_MAX]
Definition: soundwire.h:333
unsigned int min_channel_number
Definition: soundwire.h:328
struct soundwire_multilane_map - Pair a soundwire lane with direction.
Definition: soundwire.h:189
enum soundwire_multilane_dir direction
Definition: soundwire.h:191
union soundwire_multilane_map::lane_type connection
struct soundwire_multilane - Multi-Lane SoundWire slave device.
Definition: soundwire.h:207
size_t lane_mapping_count
Definition: soundwire.h:208
bool lane_bus_holder[SOUNDWIRE_MAX_LANE]
Definition: soundwire.h:211
size_t lane_bus_holder_count
Definition: soundwire.h:210
struct soundwire_multilane_map lane_mapping[SOUNDWIRE_MAX_LANE]
Definition: soundwire.h:209
struct soundwire_slave - SoundWire slave device properties.
Definition: soundwire.h:156
size_t master_count
Definition: soundwire.h:168
bool paging_supported
Definition: soundwire.h:165
bool test_mode_supported
Definition: soundwire.h:158
unsigned int clockstopprepare_timeout
Definition: soundwire.h:161
uint32_t source_port_list
Definition: soundwire.h:169
bool simplified_clockstopprepare_sm_supported
Definition: soundwire.h:160
unsigned int slave_channelprepare_timeout
Definition: soundwire.h:163
bool port15_read_behavior
Definition: soundwire.h:167
bool highPHY_capable
Definition: soundwire.h:164
bool bank_delay_supported
Definition: soundwire.h:166
bool clock_stop_mode1_supported
Definition: soundwire.h:159
uint32_t sink_port_list
Definition: soundwire.h:170
bool clockstopprepare_hard_reset_behavior
Definition: soundwire.h:162
bool wake_up_unavailable
Definition: soundwire.h:157