Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1711946 > unrolled thread

Re: [PATCH v5 0/6] drivers/i2c: Add FSI-attached I2C master algorithm

Started byJoel Stanley <joel@jms.id.au>
First post2017-08-15 10:20 +0200
Last post2017-08-15 20:00 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v5 0/6] drivers/i2c: Add FSI-attached I2C master algorithm Joel Stanley <joel@jms.id.au> - 2017-08-15 10:20 +0200
    Re: [PATCH v5 0/6] drivers/i2c: Add FSI-attached I2C master algorithm Christopher Bostic <cbostic@linux.vnet.ibm.com> - 2017-08-15 18:30 +0200
      Re: [PATCH v5 0/6] drivers/i2c: Add FSI-attached I2C master algorithm Eddie James <eajames@linux.vnet.ibm.com> - 2017-08-15 20:00 +0200

#1711946 — Re: [PATCH v5 0/6] drivers/i2c: Add FSI-attached I2C master algorithm

FromJoel Stanley <joel@jms.id.au>
Date2017-08-15 10:20 +0200
SubjectRe: [PATCH v5 0/6] drivers/i2c: Add FSI-attached I2C master algorithm
Message-ID<ueFeW-7hm-7@gated-at.bofh.it>
On Tue, Aug 15, 2017 at 4:06 PM, Peter Rosin <peda@axentia.se> wrote:
> On 2017-07-26 19:13, Eddie James wrote:
>> From: "Edward A. James" <eajames@us.ibm.com>
>>
>> This series adds an algorithm for an I2C master physically located on an FSI
>> slave device. The I2C master has multiple ports, each of which may be connected
>> to an I2C slave. Access to the I2C master registers is achieved over FSI bus.
>>
>> Due to the multi-port nature of the I2C master, the driver instantiates a new
>> I2C adapter for each port connected to a slave. The connected ports should be
>> defined in the device tree under the I2C master device.
>
> Hmmm, AFAIU fsi is a bus, and on this bus you have some "client" device that
> happens to be an i2c master, and this is a driver for that "client". Is it
> totally inconceivable to have some other client device in the future that is
> implementing an i2c master differently, but still using the fsi bus?
>
> With that in mind, is it wise to pick the driver name from the bus that the
> device is connected to, and nothing else without further qualification?
>
> I don't see any "i2c-usb" driver, but I think there are a couple of i2c master
> drivers that communicate via usb.

You make a fair point. When I did a prototype of this driver I called
it i2c-cfam, as it is part of the CFAM hardware unit inside of the
Power8/Power9 processors.

The documentation does call it FSI_I2CM, so that's an argument for the
current name.

I'm not sure how accurate that name is. Chris, Eddie, do you have any
other suggestions?

Cheers,

Joel

[toc] | [next] | [standalone]


#1712313

FromChristopher Bostic <cbostic@linux.vnet.ibm.com>
Date2017-08-15 18:30 +0200
Message-ID<ueMT7-3Ar-3@gated-at.bofh.it>
In reply to#1711946

On 8/15/17 3:10 AM, Joel Stanley wrote:
> On Tue, Aug 15, 2017 at 4:06 PM, Peter Rosin <peda@axentia.se> wrote:
>> On 2017-07-26 19:13, Eddie James wrote:
>>> From: "Edward A. James" <eajames@us.ibm.com>
>>>
>>> This series adds an algorithm for an I2C master physically located on an FSI
>>> slave device. The I2C master has multiple ports, each of which may be connected
>>> to an I2C slave. Access to the I2C master registers is achieved over FSI bus.
>>>
>>> Due to the multi-port nature of the I2C master, the driver instantiates a new
>>> I2C adapter for each port connected to a slave. The connected ports should be
>>> defined in the device tree under the I2C master device.
>> Hmmm, AFAIU fsi is a bus, and on this bus you have some "client" device that
>> happens to be an i2c master, and this is a driver for that "client". Is it
>> totally inconceivable to have some other client device in the future that is
>> implementing an i2c master differently, but still using the fsi bus?
>>
>> With that in mind, is it wise to pick the driver name from the bus that the
>> device is connected to, and nothing else without further qualification?
>>
>> I don't see any "i2c-usb" driver, but I think there are a couple of i2c master
>> drivers that communicate via usb.
> You make a fair point. When I did a prototype of this driver I called
> it i2c-cfam, as it is part of the CFAM hardware unit inside of the
> Power8/Power9 processors.
>
> The documentation does call it FSI_I2CM, so that's an argument for the
> current name.
>
> I'm not sure how accurate that name is. Chris, Eddie, do you have any
> other suggestions?
The I2C engine up to now has been always accessed via the FSI bus so 
historically I assume that's why its labelled as FSI_I2CM in the p8/p9 
specs.  There isn't any reason this I2C device couldn't be implemented 
in some other topology independent of FSI / CFAMs.  In other words there 
are no FSI details internal to this I2C engine, an argument for removing 
the 'FSI' tag.

Thanks,
Chris

>
> Cheers,
>
> Joel
>

[toc] | [prev] | [next] | [standalone]


#1712397

FromEddie James <eajames@linux.vnet.ibm.com>
Date2017-08-15 20:00 +0200
Message-ID<ueOid-4oS-3@gated-at.bofh.it>
In reply to#1712313

On 08/15/2017 12:35 PM, Peter Rosin wrote:
> On 2017-08-15 18:28, Christopher Bostic wrote:
>> On 8/15/17 3:10 AM, Joel Stanley wrote:
>>> On Tue, Aug 15, 2017 at 4:06 PM, Peter Rosin <peda@axentia.se> wrote:
>>>> On 2017-07-26 19:13, Eddie James wrote:
>>>>> From: "Edward A. James" <eajames@us.ibm.com>
>>>>>
>>>>> This series adds an algorithm for an I2C master physically located on an FSI
>>>>> slave device. The I2C master has multiple ports, each of which may be connected
>>>>> to an I2C slave. Access to the I2C master registers is achieved over FSI bus.
>>>>>
>>>>> Due to the multi-port nature of the I2C master, the driver instantiates a new
>>>>> I2C adapter for each port connected to a slave. The connected ports should be
>>>>> defined in the device tree under the I2C master device.
>>>> Hmmm, AFAIU fsi is a bus, and on this bus you have some "client" device that
>>>> happens to be an i2c master, and this is a driver for that "client". Is it
>>>> totally inconceivable to have some other client device in the future that is
>>>> implementing an i2c master differently, but still using the fsi bus?
>>>>
>>>> With that in mind, is it wise to pick the driver name from the bus that the
>>>> device is connected to, and nothing else without further qualification?
>>>>
>>>> I don't see any "i2c-usb" driver, but I think there are a couple of i2c master
>>>> drivers that communicate via usb.
>>> You make a fair point. When I did a prototype of this driver I called
>>> it i2c-cfam, as it is part of the CFAM hardware unit inside of the
>>> Power8/Power9 processors.
>>>
>>> The documentation does call it FSI_I2CM, so that's an argument for the
>>> current name.
>>>
>>> I'm not sure how accurate that name is. Chris, Eddie, do you have any
>>> other suggestions?
>> The I2C engine up to now has been always accessed via the FSI bus so
>> historically I assume that's why its labelled as FSI_I2CM in the p8/p9
>> specs.  There isn't any reason this I2C device couldn't be implemented
>> in some other topology independent of FSI / CFAMs.  In other words there
>> are no FSI details internal to this I2C engine, an argument for removing
>> the 'FSI' tag.
> Note that I wasn't primarily concerned with this i2c engine growing some other
> non-fsi interface (like many devices have both i2c and spi interface versions).
> I was more concerned with some future and totally different i2c engine that
> naturally sports a totally different register map but still uses the fsi bus.
>
> But you have a point. If this i2c engine evolves and ends up supporting some
> other interface, then that too would be cause to regret the i2c-fsi name.

i2c-cfam would work, though it would also be possible for another type 
of i2c engine to exist on a CFAM... it has been done in the past.

Historically, this driver was called "iic-boe" for "Boeblingen". I'm not 
suggesting it's a good name for this driver, but it is unique...

Edduie

>
> Cheers,
> peda
>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web