diff options
author | Xin Ji <xji@analogixsemi.com> | 2021-11-04 06:38:57 +0300 |
---|---|---|
committer | Robert Foss <robert.foss@linaro.org> | 2021-11-04 13:14:22 +0300 |
commit | 566fef1226c1df5a7e71718f9ae012d4c1cd13f7 (patch) | |
tree | a1c2bf8b75b50f3dcdbb715e6a317416da625404 /drivers/gpu/drm/bridge/analogix/anx7625.h | |
parent | fd0310b6fe7db694e553a5407594d1361e68ce1e (diff) | |
download | linux-566fef1226c1df5a7e71718f9ae012d4c1cd13f7.tar.xz |
drm/bridge: anx7625: add HDMI audio function
Add audio HDMI codec function support, enable it through device true
flag "analogix,audio-enable".
Reviewed-by: Robert Foss <robert.foss@linaro.org>
Signed-off-by: Xin Ji <xji@analogixsemi.com>
Signed-off-by: Robert Foss <robert.foss@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20211104033857.2634562-1-xji@analogixsemi.com
Diffstat (limited to 'drivers/gpu/drm/bridge/analogix/anx7625.h')
-rw-r--r-- | drivers/gpu/drm/bridge/analogix/anx7625.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.h b/drivers/gpu/drm/bridge/analogix/anx7625.h index 3ef1d8f4e575..3d79b6fb13c8 100644 --- a/drivers/gpu/drm/bridge/analogix/anx7625.h +++ b/drivers/gpu/drm/bridge/analogix/anx7625.h @@ -111,6 +111,7 @@ #define AUDIO_CHANNEL_STATUS_6 0xd5 #define TDM_SLAVE_MODE 0x10 #define I2S_SLAVE_MODE 0x08 +#define AUDIO_LAYOUT 0x01 #define AUDIO_CONTROL_REGISTER 0xe6 #define TDM_TIMING_MODE 0x08 @@ -367,6 +368,7 @@ struct anx7625_platform_data { int intp_irq; int is_dpi; int mipi_lanes; + int audio_en; int dp_lane0_swing_reg_cnt; int lane0_reg_data[DP_TX_SWING_REG_CNT]; int dp_lane1_swing_reg_cnt; @@ -387,6 +389,7 @@ struct anx7625_i2c_client { struct anx7625_data { struct anx7625_platform_data pdata; + struct platform_device *audio_pdev; int hpd_status; int hpd_high_cnt; /* Lock for work queue */ @@ -395,6 +398,8 @@ struct anx7625_data { struct anx7625_i2c_client i2c; struct i2c_client *last_client; struct s_edid_data slimport_edid_p; + struct device *codec_dev; + hdmi_codec_plugged_cb plugged_cb; struct work_struct work; struct workqueue_struct *workqueue; char edid_block; |