Adds qcom,is-shared flag usage. Use this flag when I2C serial controller
needs to be shared in multiprocessor system(APPS,Modem,ADSP) environment.
Two clients from different processors can share an I2C controller for same
slave device OR their owned slave devices. Assume I2C Slave EEPROM device
connected with I2C controller. Each client from ADSP SS and APPS Linux SS
can perform i2c transactions.
Transfer gets serialized by Lock TRE + DMA xfer + Unlock TRE at HW level.
Signed-off-by: Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com>
---
Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
index 9f66a3bb1f80..fe36938712f7 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
@@ -60,6 +60,10 @@ properties:
power-domains:
maxItems: 1
+ qcom,shared-se:
+ description: True if I2C controller is shared between two or more system processors.
+ type: boolean
+
reg:
maxItems: 1
--
2.25.1
On Wed, Nov 13, 2024 at 09:44:10PM +0530, Mukesh Kumar Savaliya wrote: > Adds qcom,is-shared flag usage. Use this flag when I2C serial controller Doesn't match the property name. > needs to be shared in multiprocessor system(APPS,Modem,ADSP) environment. > > Two clients from different processors can share an I2C controller for same > slave device OR their owned slave devices. Assume I2C Slave EEPROM device > connected with I2C controller. Each client from ADSP SS and APPS Linux SS > can perform i2c transactions. > > Transfer gets serialized by Lock TRE + DMA xfer + Unlock TRE at HW level. > > Signed-off-by: Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com> > --- > Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml > index 9f66a3bb1f80..fe36938712f7 100644 > --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml > +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml > @@ -60,6 +60,10 @@ properties: > power-domains: > maxItems: 1 > > + qcom,shared-se: What is 'se'? Is that defined somewhere? > + description: True if I2C controller is shared between two or more system processors. > + type: boolean > + > reg: > maxItems: 1 > > -- > 2.25.1 >
Thanks Rob for your review and comments ! On 11/15/2024 11:01 PM, Rob Herring wrote: > On Wed, Nov 13, 2024 at 09:44:10PM +0530, Mukesh Kumar Savaliya wrote: >> Adds qcom,is-shared flag usage. Use this flag when I2C serial controller > > Doesn't match the property name. Sure, i need to change the name here as qcom,shared-se, will upload a new patch. > >> needs to be shared in multiprocessor system(APPS,Modem,ADSP) environment. >> >> Two clients from different processors can share an I2C controller for same >> slave device OR their owned slave devices. Assume I2C Slave EEPROM device >> connected with I2C controller. Each client from ADSP SS and APPS Linux SS >> can perform i2c transactions. >> >> Transfer gets serialized by Lock TRE + DMA xfer + Unlock TRE at HW level. >> >> Signed-off-by: Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com> >> --- >> Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml >> index 9f66a3bb1f80..fe36938712f7 100644 >> --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml >> +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml >> @@ -60,6 +60,10 @@ properties: >> power-domains: >> maxItems: 1 >> >> + qcom,shared-se: > > What is 'se'? Is that defined somewhere? > SE is Serial Engine acting as I2C controller. Let me add second line for SE here also. It's mentioned in source code in Patch 3 where it's used. >>> True if serial engine is shared between multiprocessors OR Execution Environment. >> + description: True if I2C controller is shared between two or more system processors. >> + type: boolean >> + >> reg: >> maxItems: 1 >> >> -- >> 2.25.1 >>
© 2016 - 2024 Red Hat, Inc.