Re: [RFC PATCH] WIP: i2c: rcar: add HostNotify support

Alain Volmat
2020-07-01T12:32:19Z

On Wed, Jul 01, 2020 at 02:16:33PM +0200, Wolfram Sang wrote:
>
> > BTW I think the DTS additions don't look too bad? It is a grey area,
> > though...
> >
> > &i2c3 {
> > pinctrl-0 = <&i2c3_pins>;
> > pinctrl-names = "i2c-pwr";
> > +
> > + enable-host-notify;
>
> I got another idea. What about a boolean binding "smbus"?
>
> This describes the bus as SMBus (and not I2C bus), so the additional
> SMBus restrictions/requirements apply. HostNotify is required for SMBus,
> so address 0x08 can't be used. Alert is optional, but still it uses a
> reserved address. SMBus timeouts maybe can be handled through this as
> well (there is the HWMON specific "smbus-timeout-disable" so far).
>
> So, we have one simple binding for HostNotify and Alert which really
> describes the HW.

I much prefer this solution than the usage of the smbus_alert irq value
(in case of the i2c-stm32f7). In that case, I'd only set smbus boolean
to enable both SMBus Host-Notify & SMBus Alert.
In case of a device having a dedicated irq for SMBus Alert, smbus_alert
irq binding would still be needed.

Just my 2 cents about another aspect regarding SMBus Alert, since alert
is coming from another pin and not the usual SCL / SCK, when SMBus Alert
has to be used, there is a very good chance to have a pinctrl entry which
is different from not using SMBus Alert.
Indeed, even if we need SMBus, but don't need SMBus Alert, the SMBus Alert
input pin might be used for something else.
But this of course doesn't prevent to use the smbus boolean binding.

>