mbox series

[v3,0/2] TCPM non-pd mode

Message ID 20210728092930.2552619-1-kyletso@google.com (mailing list archive)
Headers show
Series TCPM non-pd mode | expand

Message

Kyle Tso July 28, 2021, 9:29 a.m. UTC
The reason for this patch is to let the device/system policy decide
whether PD is going to be supported using devicetree properties.
                                                                                                    
A new dt property "pd-unsupported" is introduced and TCPM uses this
property as a flag to decide whether PD is supported. If the flag is
false (the dt property is not present), the RX functionality of the
low-level driver will not be enabled. The power negotiation related
states will be skipped as well. If the flag is true, everything is as
what it was before.                                                  
                                                                                                    
If "pd-unsupported" is present, and the port is SRC or DRP, another                               
existing dt property "typec-power-opmode" needs to be specified to                                  
indicate which Rp value should be used when the port is SRC.                                        
                                                                                                    
changes since v2:
- Negated the meaning and the name of the dt property. Now the name is
  "pd-unsupported"
- Changed the control flow if the port is SNK or DRP. Return directly if
  the flag is false (PD not supported). Read "self-powered" before that.

---
cover-letter in v2:
---
The reason for this patch is to let the device/system policy decide                                 
whether PD is going to be supported using devicetree properties.                                    
                                                                                                    
A new dt property "pd-supported" is introduced and TCPM uses this                                   
property as a flag to decide whether PD is supported. If the flag is                                
false, the RX functionality of the low-level driver will not be enabled.                            
The power negotiation related states will be skipped as well. If the                                
flag is true, everything is as what it was before.                                                  
                                                                                                    
If "pd-supported" is not present, and the port is SRC or DRP, another                               
existing dt property "typec-power-opmode" needs to be specified to                                  
indicate which Rp value should be used when the port is SRC.                                        
                                                                                                    
changes since v1:                                                                                   
- revise the patch to use dt properties

Kyle Tso (2):
  dt-bindings: connector: Add pd-supported property
  usb: typec: tcpm: Support non-PD mode

 .../bindings/connector/usb-connector.yaml     |  4 +
 drivers/usb/typec/tcpm/tcpm.c                 | 88 +++++++++++++++----
 2 files changed, 74 insertions(+), 18 deletions(-)