summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/bridge/analogix/anx7625.h
diff options
context:
space:
mode:
authorXin Ji <xji@analogixsemi.com>2021-11-04 06:38:57 +0300
committerRobert Foss <robert.foss@linaro.org>2021-11-04 13:14:22 +0300
commit566fef1226c1df5a7e71718f9ae012d4c1cd13f7 (patch)
treea1c2bf8b75b50f3dcdbb715e6a317416da625404 /drivers/gpu/drm/bridge/analogix/anx7625.h
parentfd0310b6fe7db694e553a5407594d1361e68ce1e (diff)
downloadlinux-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.h5
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;