This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS65987D: Advertise Mask not working

Part Number: TPS65987D

I can't get the option Advertise only if Externally Powered to work. I'm using two TPS65987EVM evaluation modules:

  • One called Host: EVM with the default out of the box configuration
  • One called Device: EVM that is optionally externally powered, custom configuration. Dual power role, default role is sink, Barrel Jack Detect Event is enabled to make it a source when externally powerd.

My Transmit Source Capabilities are as follows (0x32):

  • Without an external power supply, only PDO1 is advertised. The settings 5 V, 0 A for a sink only should be in accordance with USB PD 3.1 specification (section 6.4.1.2.2)
  • With an external power supply (20 V), PDO2 to PDO4 should also be advertised. But they aren't. Only PDO1 is advertised (which leads to a CapabilityMismatch during PD conctract renegotiation because of the 0 A). And it doesn't matter if the Device is externally powered before or after the USB-C connection is established. The Barrel Jack Detect Event is triggerd, since the Externally Powered flag is set properly.

There's a different way of changing configurations described in slvae11a section 3.2 which is much more complicated. I've not tested it yet, because I would prefer the simpler solution (because of KISS: "Keep it simple, stupid!")

Best regards,

Florian

  • Good Afternoon Florian,

    Would you be able to provide me the project (.pjt) file? That will help me find the root of your issue.

    Kind regards,

    Conner Gillette

  • Hi Conner,

    thanks for your reply. Please have a look at the attached project file.

    usb_device_advanced.pjt

  • Thank you Florian, I will review your pjt file and reply by Thursday, EOB.

    Kind regards,

    Conner Gillette

  • My apologies for the delay Florian. I will be able to provide a meaningful update by tomorrow.

  • I see you have the Barrel_Jack_Event input GPIO configured for GPIO21. Are you able to confirm that this input is rising to logical 1 upon barrel jack plugin and that the dead battery flag is being cleared? (You can see this in the Debug mode or using a scope).

    Are you also able to get the PD negotiation logs? I want to see the source capabilities that are sent and the requested PDO from the sink.

    Kind regards,

    Conner Gillette

  • Hi Conner,

    I checked the PGOOD signal with a scope. It becomes logic high when I apply external power.

    The dead battery flag is TRUE when there is no external power. It becomes FALSE when I switch on the external power. The Extermally Powered Flag also changes from FALSE to TRUE.
    I'm using a devboard (USB Type-C and Power Delivery Discovery kit) to get the PD negotiation logs. I'm not sure how helpful this is. But here is logfile:

    • I changed some of the PDO settings in the meantime but the outcome is always the same.
    • The Host is externally powered, the Device is not.
    • I plug in the USB cable and the Device becomes the power sink
    • I plug in the external power supply of the Device and it issues a PR_SWAP (line 80).
    • The advertised PDO is still only [1] Fixed : 5V - 0A

    EVENT	2138210	1	EVENT_ATTACHED	0	
    DEBUG	2138210	1	VBUS:4074, CC:2	1	
    SRC	2138324	1	SOP	 PD3	s:006	    H:0x11A1    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 9690012F	
    Option: 	UNCHUNK	DRD	USB	EPW	DRP	
     [1] Fixed : 5V - 1.5A
    	2	
    SRC	2138325	1	SOP	 PD3	s:006	    H:0x11A1    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 9690012F	
    Option: 	UNCHUNK	DRD	USB	EPW	DRP	
     [1] Fixed : 5V - 1.5A
    	3	
    SRC	2138327	1	SOP	 PD3	s:006	    H:0x11A1    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 9690012F	
    Option: 	UNCHUNK	DRD	USB	EPW	DRP	
     [1] Fixed : 5V - 1.5A
    	4	
    SRC	2138506	1	SOP	 PD3	s:006	    H:0x13A1    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 9690012F	
    Option: 	UNCHUNK	DRD	USB	EPW	DRP	
     [1] Fixed : 5V - 1.5A
    	5	
    SRC	2138508	1	SOP	 PD3	s:006	    H:0x13A1    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 9690012F	
    Option: 	UNCHUNK	DRD	USB	EPW	DRP	
     [1] Fixed : 5V - 1.5A
    	6	
    SRC	2138509	1	SOP	 PD3	s:006	    H:0x13A1    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 9690012F	
    Option: 	UNCHUNK	DRD	USB	EPW	DRP	
     [1] Fixed : 5V - 1.5A
    	7	
    SRC	2138689	1	SOP	 PD3	s:006	    H:0x15A1    	(id:2, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 9690012F	
    Option: 	UNCHUNK	DRD	USB	EPW	DRP	
     [1] Fixed : 5V - 1.5A
    	8	
    SNK	2138689	1	SOP	s:002	    H:0x0441     (id:2, DR:UFP, PR:SNK) 	GOODCRC	9	
    SNK	2138694	1	SOP	 PD3	REQUEST	s:006	    H:0x1082    	(id:0, DR:UFP, PR:SNK)  DATA: 5A688113
    ObjectPosition:1
    GiveBack:0
    CapabilityMismatch:0
    USBCommunicationCapable:1
    NoUSBSuspend:1
    UnchunkedExtendedMessagesSupported:1
    MaximumOperatingCurrent:900mA
    OperatingCurrent:900mA	10	
    SRC	2138694	1	SOP	s:002	    H:0x0161     (id:0, DR:DFP, PR:SRC) 	GOODCRC	11	
    SRC	2138699	1	SOP	 PD3	ACCEPT	s:002	    H:0x07A3     (id:3, DR:DFP, PR:SRC) 	12	
    SNK	2138700	1	SOP	s:002	    H:0x0641     (id:3, DR:UFP, PR:SNK) 	GOODCRC	13	
    SRC	2138736	1	SOP	 PD3	PS_RDY	s:002	    H:0x09A6     (id:4, DR:DFP, PR:SRC) 	14	
    SNK	2138737	1	SOP	s:002	    H:0x0841     (id:4, DR:UFP, PR:SNK) 	GOODCRC	15	
    SNK	2138745	1	SOP	 PD3	GET_SNK_CAP	s:002	    H:0x0288     (id:1, DR:UFP, PR:SNK) 	16	
    SRC	2138746	1	SOP	s:002	    H:0x0361     (id:1, DR:DFP, PR:SRC) 	GOODCRC	17	
    SRC	2138751	1	SOP	 PD3	s:010	    H:0x2BA4    	(id:5, DR:DFP, PR:SRC) 	 [1] Fixed : (5V - 1A) [2] Variable : ([4.7V - 15.65V] - 1A)	
    SNK_CAPABILITIES	DATA: 6490012F64789193	18	
    SNK	2138752	1	SOP	s:002	    H:0x0A41     (id:5, DR:UFP, PR:SNK) 	GOODCRC	19	
    SRC	2138764	1	SOP	s:006	 PD3	    H:0x1DAF    	(id:6, DR:DFP, PR:SRC) 	VENDOR_DEFINED	
    	VDM:SVDM_DISCOVER_IDENTITY	INIT	 DATA:01A000FF
    	20	
    SNK	2138764	1	SOP	s:002	    H:0x0C41     (id:6, DR:UFP, PR:SNK) 	GOODCRC	21	
    SNK	2138770	1	SOP	s:018	 PD3	    H:0x448F    	(id:2, DR:UFP, PR:SNK) 	VENDOR_DEFINED	
    	VDM:SVDM_DISCOVER_IDENTITY	ACK	 DATA:41A000FF510440C45104000010070000
    
    ID HEADER
     	VID : 0x0451 : Texas Instruments
    	ProductTypeDFP: 000
     	ModalOperation: 1
     	ProductTypeUFPorCP: NOT_DFP
     	USBDeviceCapability: 1
     	USBHostCapability: 1
     	ConnectorType: 10
    CERT STAT
     	XID: 0x00000451
    PRODUCT
     	bcdDevice: 0x0710
     	USBProcuctID: 0x0000	22	
    SRC	2138770	1	SOP	s:002	    H:0x0561     (id:2, DR:DFP, PR:SRC) 	GOODCRC	23	
    SRC	2138789	1	SOP	s:006	 PD3	    H:0x1FAF    	(id:7, DR:DFP, PR:SRC) 	VENDOR_DEFINED	
    	VDM:SVDM_DISCOVER_SVIDS	INIT	 DATA:02A000FF
    	24	
    SNK	2138790	1	SOP	s:002	    H:0x0E41     (id:7, DR:UFP, PR:SNK) 	GOODCRC	25	
    SNK	2138794	1	SOP	s:006	 PD3	    H:0x168F    	(id:3, DR:UFP, PR:SNK) 	VENDOR_DEFINED	
    	VDM:SVDM_DISCOVER_SVIDS	NAK	 DATA:82A000FF
    	26	
    SRC	2138795	1	SOP	s:002	    H:0x0761     (id:3, DR:DFP, PR:SRC) 	GOODCRC	27	
    SNK	2163488	1	SOP	 PD3	PR_SWAP	s:002	    H:0x088A     (id:4, DR:UFP, PR:SNK) 	28	
    SRC	2163488	1	SOP	s:002	    H:0x0961     (id:4, DR:DFP, PR:SRC) 	GOODCRC	29	
    SRC	2163493	1	SOP	 PD3	ACCEPT	s:002	    H:0x01A3     (id:0, DR:DFP, PR:SRC) 	30	
    SNK	2163493	1	SOP	s:002	    H:0x0041     (id:0, DR:UFP, PR:SNK) 	GOODCRC	31	
    SRC	2163532	1	SOP	 PD3	PS_RDY	s:002	    H:0x02A6     (id:1, DR:DFP, PR:SNK) 	32	
    SNK	2163533	1	SOP	s:002	    H:0x0241     (id:1, DR:UFP, PR:SNK) 	GOODCRC	33	
    SNK	2163539	1	SOP	 PD3	PS_RDY	s:002	    H:0x0B86     (id:5, DR:UFP, PR:SRC) 	34	
    SRC	2163540	1	SOP	s:002	    H:0x0A61     (id:5, DR:DFP, PR:SNK) 	GOODCRC	35	
    SNK	2163617	1	SOP	 PD3	s:006	    H:0x1181    	(id:0, DR:UFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 0090012F	
    Option: 	UNCHUNK	DRD	USB	EPW	DRP	
     [1] Fixed : 5V - 0A
    	36	
    SRC	2163618	1	SOP	s:002	    H:0x0061     (id:0, DR:DFP, PR:SNK) 	GOODCRC	37	
    SRC	2163623	1	SOP	 PD3	REQUEST	s:006	    H:0x10A2    	(id:0, DR:DFP, PR:SNK)  DATA: 2C018017
    ObjectPosition:1
    GiveBack:0
    CapabilityMismatch:1
    USBCommunicationCapable:1
    NoUSBSuspend:1
    UnchunkedExtendedMessagesSupported:1
    MaximumOperatingCurrent:440mA
    OperatingCurrent:0mA	38	
    SNK	2163623	1	SOP	s:002	    H:0x0141     (id:0, DR:UFP, PR:SRC) 	GOODCRC	39	
    SNK	2163628	1	SOP	 PD3	ACCEPT	s:002	    H:0x0383     (id:1, DR:UFP, PR:SRC) 	40	
    SRC	2163628	1	SOP	s:002	    H:0x0261     (id:1, DR:DFP, PR:SNK) 	GOODCRC	41	
    SNK	2163665	1	SOP	 PD3	PS_RDY	s:002	    H:0x0586     (id:2, DR:UFP, PR:SRC) 	42	
    SRC	2163665	1	SOP	s:002	    H:0x0461     (id:2, DR:DFP, PR:SNK) 	GOODCRC	43	
    SRC	2163671	1	SOP	 PD3	PR_SWAP	s:002	    H:0x02AA     (id:1, DR:DFP, PR:SNK) 	44	
    SNK	2163671	1	SOP	s:002	    H:0x0341     (id:1, DR:UFP, PR:SRC) 	GOODCRC	45	
    SNK	2163676	1	SOP	 PD3	REJECT	s:002	    H:0x0784     (id:3, DR:UFP, PR:SRC) 	46	
    SRC	2163677	1	SOP	s:002	    H:0x0661     (id:3, DR:DFP, PR:SNK) 	GOODCRC	47	
    SRC	2163682	1	SOP	 PD3	GET_SNK_CAP	s:002	    H:0x04A8     (id:2, DR:DFP, PR:SNK) 	48	
    SNK	2163683	1	SOP	s:002	    H:0x0541     (id:2, DR:UFP, PR:SRC) 	GOODCRC	49	
    SNK	2163688	1	SOP	 PD3	s:006	    H:0x1984    	(id:4, DR:UFP, PR:SRC) 	 [1] Fixed : (5V - 0.9A)	
    SNK_CAPABILITIES	DATA: 5A90812E	50	
    SRC	2163688	1	SOP	s:002	    H:0x0861     (id:4, DR:DFP, PR:SNK) 	GOODCRC	51	
    

    Best regards,

    Florian

  • This is all very helpful, thank you. I apologize for asking you for more information, but I can't see a root cause to the problem yet (I've only been able to rule out causes). Would you be able to go into 'Debug' mode (from the top ribbon), then once connected, go to 'Debug' > 'Take Snapshot' and send me the output files? (This will allow me to see the state of all registers when the 5V 0A source PDO is negotiated).

    Kind regards,

    Conner

  • Hi, I really appreciate your help. If you need more information don't hesitate to ask.

    I took two snapshots from both EVMs:

    1. snapshot_device_ext_unpowered.txt & snapshot_host_ext_powered.txt: Both EVMs connected via USB cable, only the Host is externally powered
    2. snapshot_device_ext_powered.txt & snapshot_host_usb_powered.txt: Snapshot after I switched external supply of the Device on

    I compared the files from before and after the power role switch with a diff tool which was quite insightful. However, I still have no idea what's wrong.

    Best regards,

    Florian

    snapshots.zip

  • Thank you Florian. I will review these and have an update by EOB on Thursday.

    Kind regards,

    Conner

  • Hi Conner,

    do you have any updates? Or can you provide a project file (with any configuration) where the Advertise only if Externally Powered option works? This would help as as starting point.

    Best regards,

    Florian

  • Hi Florian,

    Apologies for any delay, this was just handed over to me and I am now working on reviewing these and trying to discern any useful information or an update for you, but need more time go over and understand the snapshots myself.

    Thanks,
    Field

  • Hi Florian,

    Using a python script I developed to determine the differences between the two snapshots, I was able to develop the corresponding documents which state the discrepancies between values/registers in the documents you gave me.

    • Device_Diff.txt  --- This is the difference between the < snapshot_device_ext_powered.txt > and < snapshot_device_ext_unpowered.txt > 
      Unpowered values: Port Configuration (0x28) - (0x1dfb61800)
      Powered values: Port Configuration (0x28) - (0x1dfb61802)
      Line #: 183
      Unpowered values: Port Configuration                           UFP (0x0)    
      Powered values: Port Configuration                           DRP (0x2)      
      Line #: 185
      Unpowered values: Port Control (0x29) - (0x313442)
      Powered values: Port Control (0x29) - (0x393442)
      Line #: 209
      Unpowered values: Externally Powered              False (0x0)
      Powered values: Externally Powered              True (0x1)
      Line #: 227
      Unpowered values: PK♥♦¶oF☼WZ☻▲]E´E´"DI Box, port 1 Debug Registers.txt
      Powered values: PK♥♦¶šF☼W¥µx    ¢´¢´"DI Box, port 1 Debug Registers.txt
      Line #: 1058
      Unpowered values: Status (0x1a) - (0xe0001d)
      Powered values: Status (0x1a) - (0xe0003f)
      Line #: 1405
      Unpowered values: Conn State                 Connection present, no Ra detected (Rd but no Ra) or Rp detected with no previous Ra detection, includes PD Controller that connected in Attached.SNK. (0x6)
      Powered values: Conn State                 Connection present, Ra detected (Rd and Ra detected) or Rp detected with previous Ra detection (assumes PD Controller started as Source and later swapped to Sink). (0x7)
      Line #: 1408
      Unpowered values: Port Role                  PD Controller is Sink (C_CCx pull-down active) or port is disabled/disconnected. (0x0)
      Powered values: Port Role                  PD Controller is Source (C_CCx pull-up active). (0x1)
      Line #: 1410
      Unpowered values: Power Path Status (0x26) - (0x80000000c0)
      Powered values: Power Path Status (0x26) - (0x4000000400)
      Line #: 1422
      Unpowered values: PP1switch               PP1 switch enabled (system input). (0x3)
      Powered values: PP1switch               PP1 switch disabled. (0x0)
      Line #: 1426
      Unpowered values: PP2switch               PP2 switch disabled. (0x0)
      Powered values: PP2switch               PP2 switch enabled (system output). (0x2)
      Line #: 1427
      Unpowered values: PowerSource             Dead Battery flag is set (PD Controller is powered from VBUS). (0x2)
      Powered values: PowerSource             PD Controller is powered from VIN_3P3. (0x1)
      Line #: 1436
      Unpowered values: Boot Flags (0x2d) - (0x30000006a20002001c)
      Powered values: Boot Flags (0x2d) - (0x30000006a200000018)
      Line #: 1440
      Unpowered values: Dead Battery Flag                  True (0x1)
      Powered values: Dead Battery Flag                  False (0x0)
      Line #: 1443
      Unpowered values: PP1 Switch                         True (0x1)
      Powered values: PP1 Switch                         False (0x0)
      Line #: 1455
      Unpowered values: Active Contract PDO (0x34) - (0x19096)
      Powered values: Active Contract PDO (0x34) - (0x19000)
      Line #: 1514
      Unpowered values: Maximum Current   1.5 A (0x96)
      Powered values: Maximum Current   0 A (0x0)
      Line #: 1516
      Unpowered values: Active Contract RDO (0x35) - (0x1381685a)
      Powered values: Active Contract RDO (0x35) - (0x1780012c)
      Line #: 1522
      Unpowered values: Max/Min Operating Current   0.9 A (0x5a)
      Powered values: Max/Min Operating Current   3 A (0x12c)
      Line #: 1524
      Unpowered values: Operating Current           0.9 A (0x5a)
      Powered values: Operating Current           0 A (0x0)
      Line #: 1525
      Unpowered values: Capability Mismatch         False (0x0)
      Powered values: Capability Mismatch         True (0x1)
      Line #: 1528
      Unpowered values: Sink Request RDO (0x36) - (0x0)
      Powered values: Sink Request RDO (0x36) - (0x1780012c)
      Line #: 1532
      Unpowered values: Max/Min Operating Current   0 A (0x0)
      Powered values: Max/Min Operating Current   3 A (0x12c)
      Line #: 1534
      Unpowered values: No USB Suspend              False (0x0)
      Powered values: No USB Suspend              True (0x1)
      Line #: 1536
      Unpowered values: USB Communication Capable   False (0x0)
      Powered values: USB Communication Capable   True (0x1)
      Line #: 1537
      Unpowered values: Capability Mismatch         False (0x0)
      Powered values: Capability Mismatch         True (0x1)
      Line #: 1538
      Unpowered values: Object Position             0 (0x0)
      Powered values: Object Position             1 (0x1)
      Line #: 1540
      Unpowered values: Power Status (0x3f) - (0xf)
      Powered values: Power Status (0x3f) - (0xd)
      Line #: 1542
      Unpowered values: Source or Sink             Sink (0x1)
      Powered values: Source or Sink             Source (0x0)
      Line #: 1545
      Unpowered values: PD Status (0x40) - (0xc)
      Powered values: PD Status (0x40) - (0x1541)
      Line #: 1550
      Unpowered values: Plug Details         USB Type-C full-featured plug (0x0)
      Powered values: Plug Details         USB 2.0 Type-C plug (0x1)
      Line #: 1552
      Unpowered values: CC Pull-up           3A Current (0x3)
      Powered values: CC Pull-up           Not in CC pull-down mode / no CC pull-up detected. (0x0)
      Line #: 1553
      Unpowered values: Present Role         Sink (0x0)
      Powered values: Present Role         Source (0x1)
      Line #: 1555
      Unpowered values: Soft Reset Details   Reset value, no soft reset (0x0)
      Powered values: Soft Reset Details   Soft reset sent to initialize SOP Prime controller in plug (0x15)
      Line #: 1556
      Unpowered values: Received SOP Prime Identity Data Object (0x49) - (0x0)
      Powered values: Received SOP Prime Identity Data Object (0x49) - (0x8604000000000000000001860315c44)
      Line #: 1605
      Unpowered values: Number of Received Identity Objects   0 (0x0)
      Powered values: Number of Received Identity Objects   4 (0x4)
      Line #: 1608
      Unpowered values: USB Vendor ID                0x0 (0x0)
      Powered values: USB Vendor ID                0x315c (0x315c)
      Line #: 1611
      Unpowered values: Connector Type               Reserved Legacy (0x0)
      Powered values: Connector Type               Plug (0x3)
      Line #: 1612
      Unpowered values: Product Type (UFP)           Undefined (0x0)
      Powered values: Product Type (UFP)           PSD (0x3)
      Line #: 1615
      Unpowered values: VBus Current Handling Capability   Reserved (0x0)
      Powered values: VBus Current Handling Capability   5 A (0x2)
      Line #: 1623
      Unpowered values: Cable Latency                      reserved (0000b) (0x0)
      Powered values: Cable Latency                      20-30nS (~3m) (0x3)
      Line #: 1626
      Unpowered values: Type-C Plug to Type-C/Captive      reserved (0x0)
      Powered values: Type-C Plug to Type-C/Captive      Type-C (0x2)
      Line #: 1627
      Unpowered values: RX VDM Register (0x4f) - (0xff00a00241)
      Powered values: RX VDM Register (0x4f) - (0x8604000000000000000001860315cff00a0416d)
      Line #: 1658
      Unpowered values: Number of Valid VDOs         1 (0x1)
      Powered values: Number of Valid VDOs         5 (0x5)
      Line #: 1661
      Unpowered values: SOP Message Source           VDM came from SOP (0x0)
      Powered values: SOP Message Source           VDM came from SOP* (0x1)
      Line #: 1662
      Unpowered values: Number of Register Updates   2 (0x2)
      Powered values: Number of Register Updates   3 (0x3)
      Line #: 1663
      Unpowered values: Command           Discover SVIDs (0x2)
      Powered values: Command           Discover Identity (0x1)
      Line #: 1666
      Unpowered values: Command Type      Initiator (0x0)
      Powered values: Command Type      Responder ACK (0x1)
      Line #: 1667
      Unpowered values: Data Object 2   0x0 (0x0)
      Powered values: Data Object 2   0x1860315c (0x1860315c)
      Line #: 1673
      Unpowered values: Data Object 5   0x0 (0x0)
      Powered values: Data Object 5   0x86040 (0x86040)
      Line #: 1679
      Unpowered values: Type C State Register (0x69) - (0x61050002)
      Powered values: Type C State Register (0x69) - (0x60020102)
      Line #: 1830
      Unpowered values: CC1 Pin State       Not connected (0x0)
      Powered values: CC1 Pin State       Ra detected (Source only) (0x1)
      Line #: 1833
      Unpowered values: CC2 Pin State       3.0A Advertisement detected (Sink only) (0x5)
      Powered values: CC2 Pin State       Rd detected (Source only) (0x2)
      Line #: 1834
      Unpowered values: Type C Port State   Attached SNK (0x61)
      Powered values: Type C Port State   Attached SRC (0x60)
      Line #: 1835
      Unpowered values: GPIO Status Register (0x72) - (0x12c00700000002)
      Powered values: GPIO Status Register (0x72) - (0x12c00700004002)
      Line #: 1852
      Unpowered values: GPIO14 Data        0x0 (0x0)
      Powered values: GPIO14 Data        0x1 (0x1)
      Line #: 1868
    • Host_Diff.txt --- This is the difference between the < snapshot_host_ext_powered.txt > and < snapshot_host_usb_powered.txt >. This one was a little trickier as there were missing values/rows so I had to insert NULL values in order to make the comparison correct and more reading-friendly. Note that where you see a NULL value in this document there is no value at all/this does not exist for this document. This should be under the received source/sink capabilities section. 
      HostExt values: PK♥♦¶     ♣J☼Wï›�¶’Û  ’Û  /   Host Device, port 1 Configuration Registers.txt
      HostUSB values: PK♥♦¶(J☼W‼&~ёۑÛ/Host Device, port 1 Configuration Registers.txt
      Line #: 1
      HostExt values: Autonegotiate Sink (0x37) - (0x190c800000000003d3def)
      HostUSB values: Autonegotiate Sink (0x37) - (0x168c800000000003e3def)
      Line #: 424
      HostExt values: Auto Negotiate Sink Min Required Power   15.25 W (0x3d)
      HostUSB values: Auto Negotiate Sink Min Required Power   15.5 W (0x3e)
      Line #: 436
      HostExt values: PK♥♦¶           J☼Wð♥\æ§®  §®  '   Host Device, port 1 Debug Registers.txt
      HostUSB values: PK♥♦¶,J☼W*�Ù↔ã³ã³'Host Device, port 1 Debug Registers.txt
      Line #: 1057
      HostExt values: Status (0x1a) - (0x20006f)
      HostUSB values: Status (0x1a) - (0xe0004f)
      Line #: 1404
      HostExt values: Port Role                  PD Controller is Source (C_CCx pull-up active). (0x1)
      HostUSB values: Port Role                  PD Controller is Sink (C_CCx pull-down active) or port is disabled/disconnected. (0x0)
      Line #: 1409
      HostExt values: USB Host Present           No far-end device present providing VBUS or PD Controller power role is Source. (0x0)
      HostUSB values: USB Host Present           VBUS is being provided by a far-end device that is a PD device capable of USB communications. (0x3)
      Line #: 1412
      HostExt values: Power Path Status (0x26) - (0x8001000403)
      HostUSB values: Power Path Status (0x26) - (0x18001000003)
      Line #: 1421
      HostExt values: PP2switch               PP2 switch enabled (system output). (0x2)
      HostUSB values: PP2switch               PP2 switch disabled. (0x0)
      Line #: 1426
      HostExt values: PP1_RCP                 0x0 (0x0)
      HostUSB values: PP1_RCP                 0x1 (0x1)
      Line #: 1436
      HostExt values: Device Info   TPS65988 HW0030 FWF707.10.00 ZAce1     ACE2 ►÷ (0xf7071000324543410000000000316563415a2030302e30312e37303746574620303330305748203838393536535054)
      HostUSB values: Device Info   TPS65988 HW0030 FWF707.10.00 ZAce1ACE2►÷ (0xf7071000324543410000000000316563415a2030302e30312e37303746574620303330305748203838393536535054)
      Line #: 1474
      HostExt values: Received Source Capabilities (0x30) - (0x1900000)
      HostUSB values: Received Source Capabilities (0x30) - (0x2f01900001)
      Line #: 1476
      HostExt values: Maximum Current                    NULL
      HostUSB values: Maximum Current                    0 A (0x0)
      Line #: 1479
      HostExt values: Voltage                            NULL
      HostUSB values: Voltage                            5 V (0x64)
      Line #: 1480
      HostExt values: Peak Current                       NULL
      HostUSB values: Peak Current                       100% (0x0)
      Line #: 1481
      HostExt values: reserved                           NULL
      HostUSB values: reserved                           reserved, set 0 (0x0)
      Line #: 1482
      HostExt values: Unchunked Extended Msg Supported   NULL
      HostUSB values: Unchunked Extended Msg Supported   True (0x1)
      Line #: 1483
      HostExt values: USB Capable                        NULL
      HostUSB values: USB Capable                        True (0x1)
      Line #: 1484
      HostExt values: USB Suspend Supported              NULL
      HostUSB values: USB Suspend Supported              False (0x0)
      Line #: 1485
      HostExt values: Dual Role Data                     NULL
      HostUSB values: Dual Role Data                     True (0x1)
      Line #: 1486
      HostExt values: Externally Powered                 NULL
      HostUSB values: Externally Powered                 True (0x1)
      Line #: 1487
      HostExt values: Dual Role Power                    NULL
      HostUSB values: Dual Role Power                    True (0x1)
      Line #: 1488
      HostExt values: Supply Type                        NULL
      HostUSB values: Supply Type                        Fixed Source (0x0)
      Line #: 1489
      HostExt values: Number of Source PDOs   0 (0x0)
      HostUSB values: Number of Source PDOs   1 (0x1)
      Line #: 1490
      HostExt values: Received Sink Capabilities (0x31) - (0x119000)
      HostUSB values: Received Sink Capabilities (0x31) - (0x3e81905a01)
      Line #: 1492
      HostExt values: Operating Current                            NULL
      HostUSB values: Operating Current                            0.9 A (0x5a)
      Line #: 1495
      HostExt values: Voltage                                      NULL
      HostUSB values: Voltage                                      5 V (0x64)
      Line #: 1496
      HostExt values: Peak Current                                 NULL
      HostUSB values: Peak Current                                 100% (0x0)
      Line #: 1497
      HostExt values: reserved                                     NULL
      HostUSB values: reserved                                     reserved, set 0 (0x0)
      Line #: 1498
      HostExt values: Fast Role Swap required USB Type-C Current   NULL
      HostUSB values: Fast Role Swap required USB Type-C Current   Default USB Power (0x1)
      Line #: 1499
      HostExt values: Dual Role Data                               NULL
      HostUSB values: Dual Role Data                               True (0x1)
      Line #: 1500
      HostExt values: USB Capable                                  NULL
      HostUSB values: USB Capable                                  True (0x1)
      Line #: 1501
      HostExt values: Externally Powered                           NULL
      HostUSB values: Externally Powered                           True (0x1)
      Line #: 1502
      HostExt values: Higher Capability                            NULL
      HostUSB values: Higher Capability                            True (0x1)
      Line #: 1503
      HostExt values: Dual Role Power                              NULL
      HostUSB values: Dual Role Power                              True (0x1)
      Line #: 1504
      HostExt values: Supply Type                                  NULL
      HostUSB values: Supply Type                                  Fixed Sink (0x0)
      Line #: 1505
      HostExt values: Number of Sink PDOs   0 (0x0)
      HostUSB values: Number of Sink PDOs   1 (0x1)
      Line #: 1506
      HostExt values: Active Contract PDO (0x34) - (0x1905a)
      HostUSB values: Active Contract PDO (0x34) - (0x19000)
      Line #: 1508
      HostExt values: Maximum Current   0.9 A (0x5a)
      HostUSB values: Maximum Current   0 A (0x0)
      Line #: 1510
      HostExt values: Active Contract RDO (0x35) - (0x1381685a)
      HostUSB values: Active Contract RDO (0x35) - (0x1780012c)
      Line #: 1516
      HostExt values: Max/Min Operating Current   0.9 A (0x5a)
      HostUSB values: Max/Min Operating Current   3 A (0x12c)
      Line #: 1518
      HostExt values: Operating Current           0.9 A (0x5a)
      HostUSB values: Operating Current           0 A (0x0)
      Line #: 1519
      HostExt values: Capability Mismatch         False (0x0)
      HostUSB values: Capability Mismatch         True (0x1)
      Line #: 1522
      HostExt values: Sink Request RDO (0x36) - (0x1381685a)
      HostUSB values: Sink Request RDO (0x36) - (0x0)
      Line #: 1526
      HostExt values: Max/Min Operating Current   0.9 A (0x5a)
      HostUSB values: Max/Min Operating Current   0 A (0x0)
      Line #: 1528
      HostExt values: Operating Current           0.9 A (0x5a)
      HostUSB values: Operating Current           0 A (0x0)
      Line #: 1529
      HostExt values: No USB Suspend              True (0x1)
      HostUSB values: No USB Suspend              False (0x0)
      Line #: 1530
      HostExt values: USB Communication Capable   True (0x1)
      HostUSB values: USB Communication Capable   False (0x0)
      Line #: 1531
      HostExt values: Object Position             1 (0x1)
      HostUSB values: Object Position             0 (0x0)
      Line #: 1534
      HostExt values: Power Status (0x3f) - (0xd)
      HostUSB values: Power Status (0x3f) - (0xf)
      Line #: 1536

    If you were interested you should be able to use the following information within the documents I generated and ctrl+f within the documents you gave me to find which specific registers these lay under. Unfortunately I am still unfamiliar, and still need to continue to pour through the differences myself and discern the issue. However due to government service I will out of office tomorrow (24AUG) and perhaps possibly (25AUG), so please expect some delay.

    Thanks,
    Field

  • Hi Field,

    thanks for taking care of my issue. Just in case you were wondering about the gibberish in the log files like PK •FWÈFë\sÛ sÛ * DI Box, port 1 Configuration Registers.txt: I saved the snapshots as .txt files. I realized later that the snapshots are uncompressd zip files. You can change back the extension to zip if you want the orignal files.

    I will be out of office for the next two weeks and won't be able to reply. So take you time. Slight smile

    Regards,

    Florian

  • Field was out of office as well. He will respond when is back.

  • Hi Florian,

    After further digging into this issue with another expert, I believe the correct method of resolving this would need to be through changing the configuration, and not using the KISS method. You will need to go in and change register 0x37 and make sure the following are all the values that you desire and what I believe:

    • Byte 1 bit 2. I believe this needs to be set to a 0.
    • Byte 2 bit 0. For this one you will want to set this to a 0
    • Byte 3-4 bit 9:0. Make sure these are set to the correct value.

    There may be more changes that are needed, but these may alleviate the/some concerns.

    Thanks,
    Field

  • Hi Field,

    sorry for the delay. Thanks for your message. I changed the suggested register values.

    The advertised current is still 0 A. Even if I power up the EVM configured as the device first, it advertises 5 V, 0A only.

    And I checked again the value in 0x29: Externally powered. It changes accordingly when I turn the power on or off. However it doesn't "activate" the PDOs 2,3 and 4 that are configured as Advertise only if Externally powered PDOs.

    Best regards,

    Florian

  • Hi Florian,

    No problem, I hope you enjoyed your vacation/time out! Interesting, I will dive into this. Are you still using the usb_device_advanced.pjt that you linked earlier in this thread?

    Thanks,
    Field

  • Hi Field,

    thanks, I had a great vacation :-)
    In the meantime I made some changes to the project file to get it more towards a configuration that's suitable for our final product. I kinda lost track of the changes I've made so far :-(. I've uploaded the current versions of the usb_device and usb_host project which are currently frozen (aside from changes we discuss here).
    I'm using the EVMs with their default jumper configuration. You should be able to replicate the behaviour if you have two EVMs at hand and flash them with the configurations.

    Best regards,
    Florian

    ProjectFiles.zip

  • Hi Florian,

    Good to hear! Thanks for providing these. I will continue looking into this and hopefully provide an update by tomorrow. 

    Thanks,
    Field

  • Hi Field,

    do you have any updates?

    Best regards,

    Florian

  • Hi Florian,

    I have been and will be out of the office until through the end of this week and apologize for any delay. I need to consult with another device expert about this as I am unsure of what is currently causing this but won't be able to at the moment.

    Thanks,
    Field

  • Hi Field,

    no problem. I just wanted to check if I was forgotten ;-)

    Best regards,

    Florian

  • Hi Florian,

    Apologies for the delay. I have finally returned to the office and I am diving back into this and should be able to provide insight, or inquiries tomorrow.

    Thanks,
    Field

  • Hi Florian,

    After diving through again, it appears that GPIO21 may not be high for either device when the device is 'externally powered', but believe this only pertains to the 'usb_device'.

    Could you ensure when you are doing this/externally powering the device, that you are driving this pin high? This may have some effect here.

    What could or may not help, can you go into the ACT and go to the tab labeled 'Port Control' and select the box for 'Externally Powered' and seeing if this helps? This is currently selected for the usb_host, but not for the usb_device. The following .bin file should also have this change implemented (and only that), but if it does not work feel free to do the above implementation I described. https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/196/usb_5F00_device_5F00_advanced_5F00_edit.bin

    Thanks,
    Field

  • Hi Field,

    thanks for your answer. You are right with your observation about the state of GPIO21: it doesn't ever change. I captured the ACT in debugging mode as an animated gif (don't know if ithe animation will play). GPIO21 Data stays at 0x0 while Externally Powered in the Port Control register changes accordingly when switching the external power supply. I also followed your recommendation to set the Externally Powered bit to 1 in the configuration file which didn't help. Apparently it changes dynamically to represent the actual status of the system. Any preset value is overwritten.

    The last two screenshot show the voltage at GPIO21 and of PWR_SYS just to ensure the hardware works as intended. And for me it looks OK: GPIO21 follows the external supply voltage.

    Best regards,

    Florian

  • Hi Florian,

    Yes, as I figured but was worth a try. I don't know why GPIO21 is not high, but it obviously responds accordingly as even in those debug files the device tested as 'True' for being externally powered. And based on your oscilloscope it is also high and the device reacts accordingly.

    Using two EVM's it looks like I was able to get 0.9A advertised after making some changes, but nothing more than this with the PDOs being set to 3A, including this one.. 

    And it looks like the sink was advertising as I had set up as well.

    This makes me think that there is some limit in place, but I am unable to immediately find this or where the issue relies. But upon developing a new project (instead of using the usb_device) and changing the PDOs, they are all advertised except the PDO I selected as ''advertise if externally powered''. Which may mean this is where the issue lies, but again I was unable to find anything immediately that remedied this. And it may be some combination of factors.

    Please allow me a little more time to continue testing with the EVM's and I apologize for the delay and time this has taken.

    Thanks,
    Field

  • Hi Field,

    thanks a lot for you efforts! I really appreciate it. And it's great to see you've made some progress.

    We are still in the early stage of product develpment, so it's not too time critical. What's more important to me is that I have confidence that a solution can be found. And getting supported certainly helps with the confidence Relaxed.

    Best regards,

    Florian

  • Hi Florian,

    It is much appreciated Slight smile

    After some tinkering it looks like I was able to get the 'Advertise only if Externally Powered' to work using and configuring a fresh project or using some changes to your usb_device project as well:

    Please try the following .bin file: https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/196/8686.usb_5F00_device_5F00_advanced_5F00_edit.bin

    Thanks,
    Field

  • Hi Field,

    thanks again for your help. Unfortunately I got sick last week and couldn't test your bin file.

    I've tested it now and can confrim that the advertising of the PDOs works! But there's still something wrong. The actual role swap seems to last only for a brief moment. Its hard for me to decode the PD logs (see screenshots, order left to right). But when I look at the voltage indicator LEDs on the EVMs, it seems that the device delivers 5V for a fraction of a second ("5V" LED lights up). After that the LED turns off again and the "5V" LED on the Host Device lights up agin. It seems that there is a "EVENT_DETACHED" that causes this and resets roles.

    If I switch off the power of the USB Host later on (fifth screenshot) to force it into sink mode, the Host EVM ends up in an infinite reboot loop. Could this be a hardware problem where the (Fast) Role Swap is to slow (to little capácity)?

    And another question: What did you change in your project? Could you please share the project file instead of the bin file?

    Best regards,

    Florian

  • Hi Florian,

    Of course, here is the .pjt file that I used to generate the .bin file: usb_device_advanced_edit.pjt. The change I made to the project was to use the bank 1 PDO's instead of bank 0 PDO's, and obviously changing the bank 1 PDO's to mirror the bank 0 PDO's that you had set up. And I also enabled the active bank to follow external power.

    I am noticing this issue as well, and do not know why. I made several attempts to resolve this, but all seemed to be futile in the end. So I will need more time to dive into this and see what I can find and give you. 

    Thanks,
    Field

  • Hi Field,

    thanks for the project file. Yesterday I made a snapshot from the EVM with your binary file figured out you were using bank 1 :-). I've been fiddeling around with various changes based on that. And it seems I got a working solution, although I don't know why: I simpy "removed" PDO1 of bank 1 by shifting the subsequent PDOs. Bank 1 now has only 3 PDOs: 5V, 9V and 12V all with currents  bigger than 0A and all set to "Always Advertise". With this configuration the USB Device becomes a 15 V power source as soon as I switch on the USB Device supply. Switching off the USB Host supply afterwards works as well as going back the whole sequence. But I have the feeling that your configuration should be right one. I'm going to do more tests in the next week.

    Here's the diff form the configuration register snapshot from your binary file and mine as described above. The latter is based on my original project. Both snapshots were taken after power up without any USB connections. Besides the intentional changes to bank 1 I made, there is a change in the interrupt mask and various IDs differ. Do you this is relevant for different behaviour?

    diff --git "a/.\\cfg_8686.txt" "b/.\\cfg_bank1.txt"
    index 62ed370..89b96fa 100644
    --- "a/.\\cfg_8686.txt"
    +++ "b/.\\cfg_bank1.txt"
    @@ -76,13 +76,13 @@ Interrupt Mask for I2C1 (0x16) - (0x2000008)
           Patch Loaded      False (0x0)
           Ready for Patch   False (0x0)
    
    -Interrupt Mask for I2C2 (0x17) - (0x2000008)
    +Interrupt Mask for I2C2 (0x17) - (0x0)
       Interrupt Event for I2C2
         Interrupt Event for I2C2
           Soft Reset                                    False (0x0)
           Hard Reset                                    False (0x0)
           Cable Reset Event                             False (0x0)
    -      Plug Insert or Removal                        True (0x1)
    +      Plug Insert or Removal                        False (0x0)
           PR Swap Complete                              False (0x0)
           DR Swap Complete                              False (0x0)
           FR Swap Complete                              False (0x0)
    @@ -104,7 +104,7 @@ Interrupt Mask for I2C2 (0x17) - (0x2000008)
           High Voltage Warning                          False (0x0)
           PP Switch Changed                             False (0x0)
           Power Status Update                           False (0x0)
    -      Data Status Update                            True (0x1)
    +      Data Status Update                            False (0x0)
           Status Update                                 False (0x0)
           PD Status Update                              False (0x0)
           VCONN Swap Complete                           False (0x0)
    @@ -234,7 +234,7 @@ Port Control (0x29) - (0x393442)
         USB Disable                     False (0x0)
         Charger Detect Enable           Charger Detect Disabled (0x0)
    
    -Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000000000000000000004b0780002d0c80001912c05019000005500550003e024)
    +Transmit Source Capabilities (0x32) - (0x4b0780002d0c80501912c0000000000000000000000000004b0780002d0c80001912c05019000001500550003ec19)
       Transmit Source Capabilities
         Tx Source PDO Config
           Active PDO Bank                Use Bank 1 (0x1)
    @@ -252,7 +252,7 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             USB Suspend Supported              False (0x0)
             Supply Type                        Fixed Source (0x0)
           Source PDO 2
    -        Advertised Mask   Advertise only if Externally Powered (0x0)
    +        Advertised Mask   Always Advertise (0x1)
             Switch Source     PP2 sources this PDO (0x1)
             Maximum Current   3 A (0x12c)
             Voltage           5 V (0x64)
    @@ -260,7 +260,7 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
           Source PDO 3
    -        Advertised Mask   Advertise only if Externally Powered (0x0)
    +        Advertised Mask   Always Advertise (0x1)
             Switch Source     PP2 sources this PDO (0x1)
             Maximum Current   2 A (0xc8)
             Voltage           9 V (0xb4)
    @@ -299,11 +299,11 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
    -      Number of Bank 0 Source PDOs   4 (0x4)
    +      Number of Bank 0 Source PDOs   1 (0x1)
         Bank 1 Settings
           Source PDO 1
             Switch Source                      PP2 sources this PDO (0x1)
    -        Maximum Current                    0 A (0x0)
    +        Maximum Current                    3 A (0x12c)
             Voltage                            5 V (0x64)
             Peak Current                       100% (0x0)
             reserved                           reserved, set 0 (0x0)
    @@ -312,26 +312,26 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             USB Suspend Supported              False (0x0)
             Supply Type                        Fixed Source (0x0)
           Source PDO 2
    -        Advertised Mask   Advertise only if Externally Powered (0x0)
    +        Advertised Mask   Always Advertise (0x1)
             Switch Source     PP2 sources this PDO (0x1)
    -        Maximum Current   3 A (0x12c)
    -        Voltage           5 V (0x64)
    +        Maximum Current   2 A (0xc8)
    +        Voltage           9 V (0xb4)
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
           Source PDO 3
    -        Advertised Mask   Advertise only if Externally Powered (0x0)
    +        Advertised Mask   Always Advertise (0x1)
             Switch Source     PP2 sources this PDO (0x1)
    -        Maximum Current   2 A (0xc8)
    -        Voltage           9 V (0xb4)
    +        Maximum Current   1.2 A (0x78)
    +        Voltage           15 V (0x12c)
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
           Source PDO 4
             Advertised Mask   Advertise only if Externally Powered (0x0)
    -        Switch Source     PP2 sources this PDO (0x1)
    -        Maximum Current   1.2 A (0x78)
    -        Voltage           15 V (0x12c)
    +        Switch Source     PP1 sources this PDO (0x0)
    +        Maximum Current   0 A (0x0)
    +        Voltage           0 V (0x0)
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
    @@ -359,7 +359,7 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
    -      Number of Bank 1 Source PDOs   4 (0x4)
    +      Number of Bank 1 Source PDOs   3 (0x3)
    
     Transmit Sink Capabilities (0x33) - (0x4001692c4000505a00000000000000000000000000000000000000000001905a3681905a01)
       Transmit Sink Capabilities
    @@ -472,22 +472,22 @@ PD3 Configuration Register (0x42) - (0x43a)
         Support Firmware Upgrade Message      False (0x0)
         Support County Code Info              False (0x0)
    
    -Transmit Identity Data Object (0x47) - (0x820201234071000000451180004510000000000000000000000000000071000000451c440045143)
    +Transmit Identity Data Object (0x47) - (0x0)
       Transmit Identity Data Object
         Record Counts
    -      Number of Identity Objects                        3 (0x3)
    -      Number of SOP' (Tethered Plug) Identity Objects   4 (0x4)
    +      Number of Identity Objects                        0 (0x0)
    +      Number of SOP' (Tethered Plug) Identity Objects   0 (0x0)
         Discover Identity Response
           UFP IDO Header
    -        USB Vendor ID                0x451 (0x451)
    -        Connector Type               Receptacle (0x2)
    +        USB Vendor ID                0x0 (0x0)
    +        Connector Type               Reserved Legacy (0x0)
             Product Type (DFP)           Undefined (0x0)
    -        Modal Operation Supported    True (0x1)
    +        Modal Operation Supported    False (0x0)
             Product Type (UFP)           Undefined (0x0)
    -        Data Capable as USB Device   True (0x1)
    -        Data Capable as USB Host     True (0x1)
    +        Data Capable as USB Device   False (0x0)
    +        Data Capable as USB Host     False (0x0)
           Product Vendor Defined Object
    -        BCD Device       0x710 (0x710)
    +        BCD Device       0x0 (0x0)
             USB Product ID   0x0 (0x0)
           Alternate Mode Adapter VDO
             USB SS Signalling       USB 2.0 Only (0x0)
    @@ -500,31 +500,31 @@ Transmit Identity Data Object (0x47) - (0x82020123407100000045118000451000000000
             SSTx 1 Directionality   Fixed (0x0)
             AMA Firmware Version    0x0 (0x0)
             AMA Hardware Version    0x0 (0x0)
    -      Certification Test ID   0x451 (0x451)
    +      Certification Test ID   0x0 (0x0)
           UFP IDO VDO #5          0x0 (0x0)
           UFP IDO VDO #6          0x0 (0x0)
         SOP' (Tethered Plug) Discover Identity Response
           SOP' (Tethered Plug) IDO Header
    -        USB Vendor ID                0x451 (0x451)
    +        USB Vendor ID                0x0 (0x0)
             Product Type (DFP)           Undefined (0x0)
             Modal Operation Supported    False (0x0)
    -        Product Type (Cable Plug)    Passive Cable (0x3)
    +        Product Type (Cable Plug)    Undefined (0x0)
             Data Capable as USB Device   False (0x0)
             Data Capable as USB Host     False (0x0)
           Product Vendor Defined Object
    -        BCD Device       0x710 (0x710)
    -        USB Product ID   0x1234 (0x1234)
    +        BCD Device       0x0 (0x0)
    +        USB Product ID   0x0 (0x0)
           Cable Vendor Defined Object
             USB SS Signalling                  USB 2.0 Only (0x0)
    -        VBus Current Handling Capability   3.0 A (0x1)
    +        VBus Current Handling Capability   Reserved (0x0)
             Maximum Vbus Voltage               20V (0x0)
             Cable Termination Type             Both Ends Passive, VConn Not Required (0x0)
    -        Cable Latency                      < 10nS (~1m) (0x1)
    -        Type-C Plug to Type-C/Captive      Type-C (0x2)
    +        Cable Latency                      reserved (0000b) (0x0)
    +        Type-C Plug to Type-C/Captive      reserved (0x0)
             VDO version                        0x0 (0x0)
             Cable Firmware Version             0x0 (0x0)
             Cable Hardware Version             0x0 (0x0)
    -      Certification Test ID             0x451 (0x451)
    +      Certification Test ID             0x0 (0x0)
           SOP' (Tethered Plug) IDO VDO #5   0x0 (0x0)
           SOP' (Tethered Plug) IDO VDO #6   0x0 (0x0)
    
    @@ -1005,11 +1005,11 @@ Tx Source Capabilities Extended Data Block (0x77) - (0x1200000000000000000000000
         Holdup Time       0x0 (0x0)
         Source PD Power   18 W (0x12)
    
    -Tx Battery Capabilities (0x7d) - (0x0)
    +Tx Battery Capabilities (0x7d) - (0x12340451)
       Tx Battery Capabilities
         Fixed Battery #1 Capabilities
    -      Vendor ID                           0x0 (0x0)
    -      Product ID                          0x0 (0x0)
    +      Vendor ID                           0x451 (0x451)
    +      Product ID                          0x1234 (0x1234)
           Battery Design Capacity             0x0 (0x0)
           Battery Last Full Charge Capacity   0x0 (0x0)
           Battery Type                        0x0 (0x0)
    index 62ed370..89b96fa 100644
    --- "a/.\\cfg_8686.txt"
    +++ "b/.\\cfg_bank1.txt"
    @@ -76,13 +76,13 @@ Interrupt Mask for I2C1 (0x16) - (0x2000008)
           Patch Loaded      False (0x0)
           Ready for Patch   False (0x0)
    
    -Interrupt Mask for I2C2 (0x17) - (0x2000008)
    +Interrupt Mask for I2C2 (0x17) - (0x0)
       Interrupt Event for I2C2
         Interrupt Event for I2C2
           Soft Reset                                    False (0x0)
           Hard Reset                                    False (0x0)
           Cable Reset Event                             False (0x0)
    -      Plug Insert or Removal                        True (0x1)
    +      Plug Insert or Removal                        False (0x0)
           PR Swap Complete                              False (0x0)
           DR Swap Complete                              False (0x0)
           FR Swap Complete                              False (0x0)
    @@ -104,7 +104,7 @@ Interrupt Mask for I2C2 (0x17) - (0x2000008)
           High Voltage Warning                          False (0x0)
           PP Switch Changed                             False (0x0)
           Power Status Update                           False (0x0)
    -      Data Status Update                            True (0x1)
    +      Data Status Update                            False (0x0)
           Status Update                                 False (0x0)
           PD Status Update                              False (0x0)
           VCONN Swap Complete                           False (0x0)
    @@ -234,7 +234,7 @@ Port Control (0x29) - (0x393442)
         USB Disable                     False (0x0)
         Charger Detect Enable           Charger Detect Disabled (0x0)
    
    -Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000000000000000000004b0780002d0c80001912c05019000005500550003e024)
    +Transmit Source Capabilities (0x32) - (0x4b0780002d0c80501912c0000000000000000000000000004b0780002d0c80001912c05019000001500550003ec19)
       Transmit Source Capabilities
         Tx Source PDO Config
           Active PDO Bank                Use Bank 1 (0x1)
    @@ -252,7 +252,7 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             USB Suspend Supported              False (0x0)
             Supply Type                        Fixed Source (0x0)
           Source PDO 2
    -        Advertised Mask   Advertise only if Externally Powered (0x0)
    +        Advertised Mask   Always Advertise (0x1)
             Switch Source     PP2 sources this PDO (0x1)
             Maximum Current   3 A (0x12c)
             Voltage           5 V (0x64)
    @@ -260,7 +260,7 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
           Source PDO 3
    -        Advertised Mask   Advertise only if Externally Powered (0x0)
    +        Advertised Mask   Always Advertise (0x1)
             Switch Source     PP2 sources this PDO (0x1)
             Maximum Current   2 A (0xc8)
             Voltage           9 V (0xb4)
    @@ -299,11 +299,11 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
    -      Number of Bank 0 Source PDOs   4 (0x4)
    +      Number of Bank 0 Source PDOs   1 (0x1)
         Bank 1 Settings
           Source PDO 1
             Switch Source                      PP2 sources this PDO (0x1)
    -        Maximum Current                    0 A (0x0)
    +        Maximum Current                    3 A (0x12c)
             Voltage                            5 V (0x64)
             Peak Current                       100% (0x0)
             reserved                           reserved, set 0 (0x0)
    @@ -312,26 +312,26 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             USB Suspend Supported              False (0x0)
             Supply Type                        Fixed Source (0x0)
           Source PDO 2
    -        Advertised Mask   Advertise only if Externally Powered (0x0)
    +        Advertised Mask   Always Advertise (0x1)
             Switch Source     PP2 sources this PDO (0x1)
    -        Maximum Current   3 A (0x12c)
    -        Voltage           5 V (0x64)
    +        Maximum Current   2 A (0xc8)
    +        Voltage           9 V (0xb4)
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
           Source PDO 3
    -        Advertised Mask   Advertise only if Externally Powered (0x0)
    +        Advertised Mask   Always Advertise (0x1)
             Switch Source     PP2 sources this PDO (0x1)
    -        Maximum Current   2 A (0xc8)
    -        Voltage           9 V (0xb4)
    +        Maximum Current   1.2 A (0x78)
    +        Voltage           15 V (0x12c)
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
           Source PDO 4
             Advertised Mask   Advertise only if Externally Powered (0x0)
    -        Switch Source     PP2 sources this PDO (0x1)
    -        Maximum Current   1.2 A (0x78)
    -        Voltage           15 V (0x12c)
    +        Switch Source     PP1 sources this PDO (0x0)
    +        Maximum Current   0 A (0x0)
    +        Voltage           0 V (0x0)
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
    @@ -359,7 +359,7 @@ Transmit Source Capabilities (0x32) - (0x4b0780002d0c80001912c050190000000000000
             Peak Current      100% (0x0)
             reserved          reserved, set 0 (0x0)
             Supply Type       Fixed Source (0x0)
    -      Number of Bank 1 Source PDOs   4 (0x4)
    +      Number of Bank 1 Source PDOs   3 (0x3)
    
     Transmit Sink Capabilities (0x33) - (0x4001692c4000505a00000000000000000000000000000000000000000001905a3681905a01)
       Transmit Sink Capabilities
    @@ -472,22 +472,22 @@ PD3 Configuration Register (0x42) - (0x43a)
         Support Firmware Upgrade Message      False (0x0)
         Support County Code Info              False (0x0)
    
    -Transmit Identity Data Object (0x47) - (0x820201234071000000451180004510000000000000000000000000000071000000451c440045143)
    +Transmit Identity Data Object (0x47) - (0x0)
       Transmit Identity Data Object
         Record Counts
    -      Number of Identity Objects                        3 (0x3)
    -      Number of SOP' (Tethered Plug) Identity Objects   4 (0x4)
    +      Number of Identity Objects                        0 (0x0)
    +      Number of SOP' (Tethered Plug) Identity Objects   0 (0x0)
         Discover Identity Response
           UFP IDO Header
    -        USB Vendor ID                0x451 (0x451)
    -        Connector Type               Receptacle (0x2)
    +        USB Vendor ID                0x0 (0x0)
    +        Connector Type               Reserved Legacy (0x0)
             Product Type (DFP)           Undefined (0x0)
    -        Modal Operation Supported    True (0x1)
    +        Modal Operation Supported    False (0x0)
             Product Type (UFP)           Undefined (0x0)
    -        Data Capable as USB Device   True (0x1)
    -        Data Capable as USB Host     True (0x1)
    +        Data Capable as USB Device   False (0x0)
    +        Data Capable as USB Host     False (0x0)
           Product Vendor Defined Object
    -        BCD Device       0x710 (0x710)
    +        BCD Device       0x0 (0x0)
             USB Product ID   0x0 (0x0)
           Alternate Mode Adapter VDO
             USB SS Signalling       USB 2.0 Only (0x0)
    @@ -500,31 +500,31 @@ Transmit Identity Data Object (0x47) - (0x82020123407100000045118000451000000000
             SSTx 1 Directionality   Fixed (0x0)
             AMA Firmware Version    0x0 (0x0)
             AMA Hardware Version    0x0 (0x0)
    -      Certification Test ID   0x451 (0x451)
    +      Certification Test ID   0x0 (0x0)
           UFP IDO VDO #5          0x0 (0x0)
           UFP IDO VDO #6          0x0 (0x0)
         SOP' (Tethered Plug) Discover Identity Response
           SOP' (Tethered Plug) IDO Header
    -        USB Vendor ID                0x451 (0x451)
    +        USB Vendor ID                0x0 (0x0)
             Product Type (DFP)           Undefined (0x0)
             Modal Operation Supported    False (0x0)
    -        Product Type (Cable Plug)    Passive Cable (0x3)
    +        Product Type (Cable Plug)    Undefined (0x0)
             Data Capable as USB Device   False (0x0)
             Data Capable as USB Host     False (0x0)
           Product Vendor Defined Object
    -        BCD Device       0x710 (0x710)
    -        USB Product ID   0x1234 (0x1234)
    +        BCD Device       0x0 (0x0)
    +        USB Product ID   0x0 (0x0)
           Cable Vendor Defined Object
             USB SS Signalling                  USB 2.0 Only (0x0)
    -        VBus Current Handling Capability   3.0 A (0x1)
    +        VBus Current Handling Capability   Reserved (0x0)
             Maximum Vbus Voltage               20V (0x0)
             Cable Termination Type             Both Ends Passive, VConn Not Required (0x0)
    -        Cable Latency                      < 10nS (~1m) (0x1)
    -        Type-C Plug to Type-C/Captive      Type-C (0x2)
    +        Cable Latency                      reserved (0000b) (0x0)
    +        Type-C Plug to Type-C/Captive      reserved (0x0)
             VDO version                        0x0 (0x0)
             Cable Firmware Version             0x0 (0x0)
             Cable Hardware Version             0x0 (0x0)
    -      Certification Test ID             0x451 (0x451)
    +      Certification Test ID             0x0 (0x0)
           SOP' (Tethered Plug) IDO VDO #5   0x0 (0x0)
           SOP' (Tethered Plug) IDO VDO #6   0x0 (0x0)
    
    @@ -1005,11 +1005,11 @@ Tx Source Capabilities Extended Data Block (0x77) - (0x1200000000000000000000000
         Holdup Time       0x0 (0x0)
         Source PD Power   18 W (0x12)
    
    -Tx Battery Capabilities (0x7d) - (0x0)
    +Tx Battery Capabilities (0x7d) - (0x12340451)
       Tx Battery Capabilities
         Fixed Battery #1 Capabilities
    -      Vendor ID                           0x0 (0x0)
    -      Product ID                          0x0 (0x0)
    +      Vendor ID                           0x451 (0x451)
    +      Product ID                          0x1234 (0x1234)
           Battery Design Capacity             0x0 (0x0)
           Battery Last Full Charge Capacity   0x0 (0x0)
           Battery Type                        0x0 (0x0)

    Best regards,

    Florian

  • Hi Florian,

    Similar to what you are saying, it looks like the problem originates from the first contract being 5V 0A, no matter where. Using this contract on bank 0 also produces this error. Until I increase the amperage to be 5V 3A, then the contracts work, but 5V 1A and 5V 2A did not work and produced the same output we saw before. But, still using the 'advertise only if externally powered' also works (on bank 1). 

    And adding in an additional PDO to bank 1 (I used 20V 1.2A) worked/this PDO was advertised. I looked into the 'minimum power' but since 1/2A did not take, I do not think this is the problem. Would this solution be okay for your design?

    These other changes, should be irrelevant. When trying to resolve these issues initially, I made changes to some of the masks, but to no avail and reverted my changes to them. I believe these changes are from us making different changes to the implementation.

    Please let me know if this okay or works for you, or what you think Slight smile

    Thanks,
    Field

  • Hi Field,

    your analysis sound very reaonable for to me. I guess the PDO1 on bank 1 being  set to 3A is OK. Since bank 1 is only active when external power is applied. So far I couldn't any problems while testing with this configuration. I guess this really solves my problem then Grinning. Thanks a lot for your help and for bearing with me over the last couple of weeks Thumbsup.

    Best regards,

    Florian

  • Hi Florian,

    This is good to hear and of course, I was happy to help and appreciate your patience similarly Slight smile Please reach back out through/to E2E if you need anything else!

    Thanks,
    Field