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. >