RE: [PATCH 2/2] drm: anx7625: add I2S input stream right justified control

From: Xin Ji

Date: Wed Aug 19 2026 - 04:21:12 EST


> >
> > The default audio data stream is left justify. When the property
> > "analogix,audio-right-justify-enable" is detected, the code enables
> > right justify.
> >
> > Signed-off-by: Xin Ji <xji@xxxxxxxxxxxxxxxx>
> > ---
> > drivers/gpu/drm/bridge/analogix/anx7625.c | 9 +++++++++
> > drivers/gpu/drm/bridge/analogix/anx7625.h | 3 +++
> > 2 files changed, 12 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c
> > b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > index c3af88e14f8b..f4bce0000676 100644
> > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > @@ -1883,6 +1883,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, "analogix,audio-right-justify-enable"))
> > + pdata->audio_right_justify = 1;
> > +
> > return 0;
> > }
> >
> > @@ -2083,6 +2086,12 @@ static int anx7625_audio_hw_params(struct
> device *dev, void *data,
> > ret |= anx7625_write_and(ctx, ctx->i2c.tx_p2_client,
> > AUDIO_CHANNEL_STATUS_6,
> > ~AUDIO_LAYOUT);
> >
> > + /* Right justified */
> > + if (ctx->pdata.audio_right_justify)
>
> As Sashiko already mentioned, this should check against the format (fmt->fmt
> here).
>
> Is the right justified format you want to support for I2S or TDM or both?
> For I2S you can check if format == HDMI_RIGHT_J. There is no right justified
> format for TDM in Linux, so you would need to add that to ASoC.

Hi ChenYu, thanks for the review, right justified format used for I2S only, and I'll try to use
HDMI_RIGHT_J and update patch later. Thanks!

>
> ChenYu
>
>
> > + ret |= anx7625_write_or(ctx, ctx->i2c.tx_p2_client,
> > + AUDIO_CONTROL_REGISTER,
> > + RIGHT_JUSTIFY_CTRL);
> > +
> > /* FS */
> > switch (params->sample_rate) {
> > case 32000:
> > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.h
> > b/drivers/gpu/drm/bridge/analogix/anx7625.h
> > index 957d234ec07c..9dd9970d2172 100644
> > --- a/drivers/gpu/drm/bridge/analogix/anx7625.h
> > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.h
> > @@ -154,6 +154,8 @@
> > #define HPD_TIME 54000
> >
> > #define AUDIO_CONTROL_REGISTER 0xe6
> > +#define RIGHT_JUSTIFY_CTRL BIT(0)
> > +
> > #define TDM_TIMING_MODE 0x08
> >
> > #define I2C_ADDR_72_DPTX 0x72
> > @@ -444,6 +446,7 @@ struct anx7625_platform_data {
> > int is_dpi;
> > int mipi_lanes;
> > int audio_en;
> > + int audio_right_justify;
> > int dp_lane0_swing_reg_cnt;
> > u8 lane0_reg_data[DP_TX_SWING_REG_CNT];
> > int dp_lane1_swing_reg_cnt;
> > --
> > 2.25.1
> >