File tree Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -1233,10 +1233,11 @@ static int sdw_slave_set_frequency(struct sdw_slave *slave)
1233
1233
1234
1234
/*
1235
1235
* frequency base and scale registers are required for SDCA
1236
- * devices. They may also be used for 1.2+/non-SDCA devices,
1237
- * but we will need a DisCo property to cover this case
1236
+ * devices. They may also be used for 1.2+/non-SDCA devices.
1237
+ * Driver can set the property, we will need a DisCo property
1238
+ * to discover this case from platform firmware.
1238
1239
*/
1239
- if (!slave -> id .class_id )
1240
+ if (!slave -> id .class_id && ! slave -> prop . clock_reg_supported )
1240
1241
return 0 ;
1241
1242
1242
1243
if (!mclk_freq ) {
Original file line number Diff line number Diff line change @@ -365,6 +365,9 @@ struct sdw_dpn_prop {
365
365
* @sink_dpn_prop: Sink Data Port N properties
366
366
* @scp_int1_mask: SCP_INT1_MASK desired settings
367
367
* @quirks: bitmask identifying deltas from the MIPI specification
368
+ * @clock_reg_supported: the Peripheral implements the clock base and scale
369
+ * registers introduced with the SoundWire 1.2 specification. SDCA devices
370
+ * do not need to set this boolean property as the registers are required.
368
371
*/
369
372
struct sdw_slave_prop {
370
373
u32 mipi_revision ;
@@ -388,6 +391,7 @@ struct sdw_slave_prop {
388
391
struct sdw_dpn_prop * sink_dpn_prop ;
389
392
u8 scp_int1_mask ;
390
393
u32 quirks ;
394
+ bool clock_reg_supported ;
391
395
};
392
396
393
397
#define SDW_SLAVE_QUIRKS_INVALID_INITIAL_PARITY BIT(0)
You can’t perform that action at this time.
0 commit comments