From: Andy Green andy.green@linaro.org
Set the initial audio packet settings to allow the audio driver to work.
Cc: David Airlie airlied@linux.ie Cc: Archit Taneja architt@codeaurora.org Cc: Laurent Pinchart laurent.pinchart@ideasonboard.com Cc: Wolfram Sang wsa+renesas@sang-engineering.com Cc: Srinivas Kandagatla srinivas.kandagatla@linaro.org Cc: "Ville Syrjälä" ville.syrjala@linux.intel.com Cc: Boris Brezillon boris.brezillon@free-electrons.com Cc: Andy Green andy@warmcat.com Cc: Dave Long dave.long@linaro.org Cc: Guodong Xu guodong.xu@linaro.org Cc: Zhangfei Gao zhangfei.gao@linaro.org Cc: Mark Brown broonie@kernel.org Cc: Lars-Peter Clausen lars@metafoo.de Cc: Jose Abreu joabreu@synopsys.com Cc: dri-devel@lists.freedesktop.org Signed-off-by: Andy Green andy.green@linaro.org [jstultz: Forward ported to mainline, changed to use register names rather then hex values, and removed config values set by audio driver.] Signed-off-by: John Stultz john.stultz@linaro.org --- drivers/gpu/drm/bridge/adv7511/adv7533.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c b/drivers/gpu/drm/bridge/adv7511/adv7533.c index 6798ecf..cced7c9 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7533.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c @@ -104,6 +104,28 @@ void adv7533_dsi_power_on(struct adv7511 *adv) /* disable test mode */ regmap_write(adv->regmap_cec, 0x55, 0x00);
+ /* hide Audio infoframe updates */ + regmap_update_bits(adv->regmap, ADV7511_REG_INFOFRAME_UPDATE, + BIT(5), BIT(5)); + /* enable N/CTS, enable Audio sample packets */ + regmap_update_bits(adv->regmap, ADV7511_REG_PACKET_ENABLE1, + BIT(5), BIT(5)); + /* enable N/CTS */ + regmap_update_bits(adv->regmap, ADV7511_REG_PACKET_ENABLE1, + BIT(6), BIT(6)); + /* not copyrighted */ + regmap_update_bits(adv->regmap, ADV7511_REG_AUDIO_CFG1, + BIT(5), BIT(5)); + /* enable audio infoframes */ + regmap_update_bits(adv->regmap, ADV7511_REG_PACKET_ENABLE1, + BIT(3), BIT(3)); + /* AV mute disable */ + regmap_update_bits(adv->regmap, ADV7511_REG_GC(0), + BIT(7) | BIT(6), BIT(7)); + /* use Audio infoframe updated info */ + regmap_update_bits(adv->regmap, ADV7511_REG_GC(1), + BIT(5), 0); + regmap_register_patch(adv->regmap_cec, adv7533_cec_fixed_registers, ARRAY_SIZE(adv7533_cec_fixed_registers)); }