On Thu, May 2, 2024 at 11:03 AM Hsin-Te Yuan <yuanhsinte@xxxxxxxxxxxx> wrote: > > For some SoCs, the TDM setting is not to shift the first audio data bit, > which is not the default setting of anx7625. In such cases, the TDM > setting should be changed according to the device tree property. > > Signed-off-by: Hsin-Te Yuan <yuanhsinte@xxxxxxxxxxxx> > --- > drivers/gpu/drm/bridge/analogix/anx7625.c | 8 ++++++++ > drivers/gpu/drm/bridge/analogix/anx7625.h | 1 + > 2 files changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c > index 29d91493b101a..538edddf313c9 100644 > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c > @@ -1709,6 +1709,9 @@ static int anx7625_parse_dt(struct device *dev, > if (of_property_read_bool(np, "analogix,audio-enable")) > pdata->audio_en = 1; > > + if(!of_property_read_bool(np, "no-shift-audio-data")) > + pdata->shift_audio_data = 1; checkpatch --strict reports this: ERROR: space required before the open parenthesis '(' #27: FILE: drivers/gpu/drm/bridge/analogix/anx7625.c:1712: + if(!of_property_read_bool(np, "no-shift-audio-data")) > + > return 0; > } > > @@ -1866,6 +1869,11 @@ static int anx7625_audio_hw_params(struct device *dev, void *data, > ~TDM_SLAVE_MODE, > I2S_SLAVE_MODE); > > + if (!ctx->pdata.shift_audio_data) > + ret |= anx7625_write_or(ctx, ctx->i2c.tx_p2_client, > + AUDIO_CONTROL_REGISTER, > + TDM_TIMING_MODE); > + > /* Word length */ > switch (params->sample_width) { > case 16: > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.h b/drivers/gpu/drm/bridge/analogix/anx7625.h > index 39ed35d338363..41b395725913a 100644 > --- a/drivers/gpu/drm/bridge/analogix/anx7625.h > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.h > @@ -441,6 +441,7 @@ struct anx7625_platform_data { > u8 lane1_reg_data[DP_TX_SWING_REG_CNT]; > u32 low_power_mode; > struct device_node *mipi_host_node; > + int shift_audio_data; > }; > > struct anx7625_i2c_client { > > -- > 2.45.0.rc1.225.g2a3ae87e7f-goog > >