linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] drm/i2c: tda998x: Set the CEC I2C address based on the slave I2C address.
@ 2014-11-07  8:31 Andrew Jackson
  2015-01-21 18:44 ` Liviu Dudau
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Jackson @ 2014-11-07  8:31 UTC (permalink / raw)
  To: linux-arm-kernel

The I2C address for the TDA9989 and TDA19989 is fixed at 0x34
but the two LSBs of the TDA19988's address are set by two configuration
pins on the chip.  Irrespective of the chip, the associated CEC
peripheral's I2C address is based upon the main I2C address.

This patch avoids any special handling required to support
systems that contain multiple TDA19988 devices on the same
I2C bus.

Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 drivers/gpu/drm/i2c/tda998x_drv.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index d476279..eeab17a 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -1255,6 +1255,7 @@ static int tda998x_create(struct i2c_client *client, struct tda998x_priv *priv)
 	struct device_node *np = client->dev.of_node;
 	u32 video;
 	int rev_lo, rev_hi, ret;
+	unsigned short cec_addr;
 
 	priv->vip_cntrl_0 = VIP_CNTRL_0_SWAP_A(2) | VIP_CNTRL_0_SWAP_B(3);
 	priv->vip_cntrl_1 = VIP_CNTRL_1_SWAP_C(0) | VIP_CNTRL_1_SWAP_D(1);
@@ -1262,7 +1263,9 @@ static int tda998x_create(struct i2c_client *client, struct tda998x_priv *priv)
 
 	priv->current_page = 0xff;
 	priv->hdmi = client;
-	priv->cec = i2c_new_dummy(client->adapter, 0x34);
+	/* CEC I2C address bound to TDA998x I2C addr by configuration pins */
+	cec_addr = 0x34 + (client->addr & 0x03);
+	priv->cec = i2c_new_dummy(client->adapter, cec_addr);
 	if (!priv->cec)
 		return -ENODEV;
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-01-21 19:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-07  8:31 [PATCH v2] drm/i2c: tda998x: Set the CEC I2C address based on the slave I2C address Andrew Jackson
2015-01-21 18:44 ` Liviu Dudau
2015-01-21 18:46   ` Russell King - ARM Linux
2015-01-21 19:15     ` Liviu Dudau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).