Message ID | 1616075089-28115-2-git-send-email-alain.volmat@foss.st.com |
---|---|
State | Superseded |
Headers | show |
Series | i2c: stm32f7: add SMBus-Alert support | expand |
On Thu, Mar 18, 2021 at 02:44:48PM +0100, Alain Volmat wrote: > Based on the SMBus specification, SMBus Alert active state is low. > As often on SoC, the SMBus Alert pin is not only dedicated to this > feature and can also be used for another purpose (by configuring it > as alternate function for other functions via pinctrl). > > "smbus" dt-binding has been introduced recently [1], however it is also > used to indicate usage of host-notify feature. > Relying on 'smbus' binding for SMBus-Alert as well as it was discussed > previously [2] would lead to requiring the SMBALERT# pin to be configured > as alternate function for i2c/smbus controller even if only host-notify is > needed. > Indeed, not doing so would lead to spurious SMBus Alert interrupts since > the i2c/smbus controller would see the (not configured) SMBA pin as low > level. > > For that reason, SMBus-Alert needs to have its own binding in order > to only be enabled whenever SMBALERT# pin is configured as alternate > function for i2c/smbus controller. > > [1] https://marc.info/?l=linux-i2c&m=159531254413805&w=2 > [2] https://marc.info/?l=linux-renesas-soc&m=159361426409817&w=2 Please use lore.kernel.org links. > > Signed-off-by: Alain Volmat <alain.volmat@foss.st.com> > > --- > v2: introduce st,smbus-alert property > --- > Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml | 5 +++++ > 1 file changed, 5 insertions(+) With that, Reviewed-by: Rob Herring <robh@kernel.org> Though I defer to Wolfram whether this could/should be common instead. Rob
diff --git a/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml b/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml index d747f4990ad8..0d45ead7d835 100644 --- a/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml @@ -36,6 +36,11 @@ allOf: minItems: 3 maxItems: 3 + st,smbus-alert: + description: Enable the SMBus-Alert via SMBA pin, note SMBA pin + must also be configured via pinctrl. + type: boolean + - if: properties: compatible:
Based on the SMBus specification, SMBus Alert active state is low. As often on SoC, the SMBus Alert pin is not only dedicated to this feature and can also be used for another purpose (by configuring it as alternate function for other functions via pinctrl). "smbus" dt-binding has been introduced recently [1], however it is also used to indicate usage of host-notify feature. Relying on 'smbus' binding for SMBus-Alert as well as it was discussed previously [2] would lead to requiring the SMBALERT# pin to be configured as alternate function for i2c/smbus controller even if only host-notify is needed. Indeed, not doing so would lead to spurious SMBus Alert interrupts since the i2c/smbus controller would see the (not configured) SMBA pin as low level. For that reason, SMBus-Alert needs to have its own binding in order to only be enabled whenever SMBALERT# pin is configured as alternate function for i2c/smbus controller. [1] https://marc.info/?l=linux-i2c&m=159531254413805&w=2 [2] https://marc.info/?l=linux-renesas-soc&m=159361426409817&w=2 Signed-off-by: Alain Volmat <alain.volmat@foss.st.com> --- v2: introduce st,smbus-alert property --- Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml | 5 +++++ 1 file changed, 5 insertions(+)