[PATCH 2/2] drm/bridge: anx7625: Change TDM setting accroding to dt property
Robert Foss
rfoss at kernel.org
Mon May 6 12:12:55 UTC 2024
On Thu, May 2, 2024 at 11:03 AM Hsin-Te Yuan <yuanhsinte at chromium.org> 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 at chromium.org>
> ---
> 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
>
>
More information about the dri-devel
mailing list