Thread (1 message) 1 message, 1 author, 2012-11-16

RE: [PATCH] of_i2c: I2C child node 10-bit client addressing

From: Bharat Reddy <hidden>
Date: 2012-11-16 13:12:23

I guess the I2C spec does not restricts.(A device to have an address that fits in the first 7 bits, but still requires 10 bit address transactions)

But I don't think their will be any I2C slave doing this. 

Why a 7 bit slave want to have extra byte for every transaction?

Note: I am on vacation with limited e-mail access. I will be back on Nov 26.

Thanks,
-Bharat

From: grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org
Date: Thu, 15 Nov 2012 16:53:59 +0000
Subject: Re: [PATCH] of_i2c: I2C child node 10-bit client addressing
To: bharat_404-PkbjNfxxIARBDgjK7y7TUQ@public.gmane.org
CC: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org; jochen-NIgtFMG+Po8@public.gmane.org; jonsmirl@gmail.com

On Thu, Nov 15, 2012 at 9:35 AM,  [off-list ref] wrote:
quoted
From: Bharat Kumar Reddy <redacted>

I2C clients which has 10 bit address, struct i2c_board_info,
member "flags = I2C_CLIENT_TEN" is needed.

Signed-off-by: Bharat Kumar Reddy <redacted>
Did you see my questions from yesterday?

g.
quoted
diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c
index 3550f3b..28c5566 100644
--- a/drivers/of/of_i2c.c
+++ b/drivers/of/of_i2c.c
@@ -57,6 +57,10 @@ void of_i2c_register_devices(struct i2c_adapter *adap)
                        continue;
                }

+               /* Support for i2c 10 bit client address */
+               if ((info.addr > (1 << 7) - 1) && (info.addr <= (1 << 10) - 1))
+                       info.flags = I2C_CLIENT_TEN;
+
                info.irq = irq_of_parse_and_map(node, 0);
                info.of_node = of_node_get(node);
                info.archdata = &dev_ad;
--
1.7.6


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
 		 	   		  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help