From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vladimir Zapolskiy Subject: Re: [RFC,v2 2/6] i2c: add I2C Address Translator (ATR) support Date: Sun, 8 Sep 2019 23:45:53 +0300 Message-ID: References: <20190723203723.11730-1-luca@lucaceresoli.net> <20190723203723.11730-3-luca@lucaceresoli.net> <20190901143101.humomdehy5ee73sk@vino> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20190901143101.humomdehy5ee73sk@vino> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: jacopo mondi , Luca Ceresoli , Wolfram Sang , Peter Rosin Cc: linux-media@vger.kernel.org, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Mauro Carvalho Chehab , Rob Herring , Mark Rutland , Sakari Ailus , Hans Verkuil , Laurent Pinchart , Kieran Bingham List-Id: linux-i2c@vger.kernel.org Hi Luca, Jacopo, Wolfram, Peter, On 09/01/2019 05:31 PM, jacopo mondi wrote: > Hi Luca, > thanks for keep pushing this series! I hope we can use part of this > for the (long time) on-going GMSL work... > > I hope you will be patient enough to provide (another :) overview > of this work during the BoF Wolfram has organized at LPC for the next > week. > > In the meantime I would have some comments after having a read at the > series and trying to apply its concept to GMSL > I won't attend the LPC, however I would appreciate if you book some time to review my original / alternative implementation of the TI DS90Ux9xx I2C bridge device driver. For your convenience the links to the driver are given below: * dt bindings: https://lore.kernel.org/lkml/20181012060314.GU4939@dell/T/#mead5ea226550b * driver code: https://lore.kernel.org/lkml/20181012060314.GU4939@dell/T/#m2fe3664c5f884 * usage example: https://lore.kernel.org/lkml/20181012060314.GU4939@dell/T/#m56c146f5decdc The reasons why my driver is better/more flexible/more functional are discussed earlier, please let me know, if you expect anything else from me to add, also I would be happy to get a summary of your offline discussion. The undeniable fact is that the device tree bindings in my I2C bridge implementation can be improved further, thanks to Luca for the comments. > On Tue, Jul 23, 2019 at 10:37:19PM +0200, Luca Ceresoli wrote: >> An ATR is a device that looks similar to an i2c-mux: it has an I2C >> slave "upstream" port and N master "downstream" ports, and forwards >> transactions from upstream to the appropriate downstream port. But is >> is different in that the forwarded transaction has a different slave >> address. The address used on the upstream bus is called the "alias" >> and is (potentially) different from the physical slave address of the >> downstream chip. >> >> Add a helper file (just like i2c-mux.c for a mux or switch) to allow >> implementing ATR features in a device driver. The helper takes care or >> adapter creation/destruction and translates addresses at each transaction. >> >> Signed-off-by: Luca Ceresoli >> -- Best wishes, Vladimir