Closed ginkage closed 5 months ago
What failure does this commit fix? Current mode is otg so usb-role-switch is okay.
I don't have PD negotiation failure issue with current code. Why otg mode would make PD negotiation fall? This commit will disable otg role switch, which is a working feature.
I don't have PD negotiation failure issue with current code. Why otg mode would make PD negotiation fall? This commit will disable otg role switch, which is a working feature.
In my view: this is trying to fix something Amazingfate had already fixed way before Radxa. ofc I might be wrong.
Tested on rock5b with no pd support in u-boot. Without this commit, cold boot tcpm log:
[ 2.708067] Setting usb_comm capable false
[ 2.712850] Setting voltage/current limit 0 mV 0 mA
[ 2.712864] polarity 0
[ 2.712920] Requesting mux state 0, usb-role 0, orientation 0
[ 2.714174] state change INVALID_STATE -> SNK_UNATTACHED [rev1 NONE_AMS]
[ 2.714194] CC1: 0 -> 0, CC2: 0 -> 0 [state SNK_UNATTACHED, polarity 0, disconnected]
[ 2.714203] 4-0022: registered
[ 2.714204] Setting usb_comm capable false
[ 2.718875] Setting voltage/current limit 0 mV 0 mA
[ 2.718882] polarity 0
[ 2.718883] Requesting mux state 0, usb-role 0, orientation 0
[ 2.719688] cc:=2
[ 2.725099] pending state change PORT_RESET -> PORT_RESET_WAIT_OFF @ 100 ms [rev1 NONE_AMS]
[ 2.725105] state change PORT_RESET -> PORT_RESET_WAIT_OFF [delayed 100 ms]
[ 2.725107] pending state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED @ 100 ms [rev1 NONE_AMS]
[ 2.825233] state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED [delayed 100 ms]
[ 2.825241] Start toggling
[ 2.842259] CC1: 0 -> 5, CC2: 0 -> 0 [state TOGGLING, polarity 0, connected]
[ 2.842265] state change TOGGLING -> SNK_ATTACH_WAIT [rev1 NONE_AMS]
[ 2.842270] pending state change SNK_ATTACH_WAIT -> SNK_DEBOUNCED @ 100 ms [rev1 NONE_AMS]
[ 2.942303] state change SNK_ATTACH_WAIT -> SNK_DEBOUNCED [delayed 100 ms]
[ 2.942312] state change SNK_DEBOUNCED -> SNK_ATTACHED [rev1 NONE_AMS]
[ 2.942315] polarity 0
[ 2.942318] Requesting mux state 1, usb-role 2, orientation 1
[ 2.943152] state change SNK_ATTACHED -> SNK_STARTUP [rev1 NONE_AMS]
[ 2.943164] state change SNK_STARTUP -> SNK_DISCOVERY [rev3 NONE_AMS]
[ 2.943166] Setting voltage/current limit 5000 mV 3000 mA
[ 2.943171] vbus=0 charge:=1
[ 2.943175] state change SNK_DISCOVERY -> SNK_WAIT_CAPABILITIES [rev3 NONE_AMS]
[ 2.948460] pending state change SNK_WAIT_CAPABILITIES -> SNK_SOFT_RESET @ 100 ms [rev3 NONE_AMS]
[ 2.962851] PD RX, header: 0x6fa1 [1]
[ 2.962857] PDO 0: type 0, 5000 mV, 3000 mA [E]
[ 2.962860] PDO 1: type 0, 9000 mV, 3000 mA []
[ 2.962862] PDO 2: type 0, 12000 mV, 3000 mA []
[ 2.962864] PDO 3: type 0, 15000 mV, 3000 mA []
[ 2.962866] PDO 4: type 0, 20000 mV, 2250 mA []
[ 2.962868] PDO 5: type 3, 3300-16000 mV, 3000 mA
[ 2.962869] state change SNK_WAIT_CAPABILITIES -> SNK_NEGOTIATE_CAPABILITIES [rev3 POWER_NEGOTIATION]
[ 2.962874] Setting usb_comm capable false
[ 2.962883] cc=2 cc1=5 cc2=0 vbus=0 vconn=sink polarity=0
[ 2.962885] Requesting PDO 4: 20000 mV, 2250 mA
[ 2.962887] PD TX, header: 0x1082
[ 2.969319] PD TX complete, status: 0
[ 2.969325] pending state change SNK_NEGOTIATE_CAPABILITIES -> HARD_RESET_SEND @ 60 ms [rev3 POWER_NEGOTIATION]
[ 2.973244] PD TX complete, status: 0
[ 2.975390] PD RX, header: 0x1a3 [1]
[ 2.975392] state change SNK_NEGOTIATE_CAPABILITIES -> SNK_TRANSITION_SINK [rev3 POWER_NEGOTIATION]
[ 2.975394] Setting standby current 5000 mV @ 500 mA
[ 2.975394] Setting voltage/current limit 5000 mV 500 mA
[ 2.975397] pending state change SNK_TRANSITION_SINK -> HARD_RESET_SEND @ 500 ms [rev3 POWER_NEGOTIATION]
[ 3.225410] PD RX, header: 0x3a6 [1]
[ 3.225425] Setting voltage/current limit 20000 mV 2250 mA
[ 3.225451] state change SNK_TRANSITION_SINK -> SNK_READY [rev3 POWER_NEGOTIATION]
[ 3.225608] AMS POWER_NEGOTIATION finished
[ 3.225620] AMS DISCOVER_IDENTITY start
[ 3.225626] PD TX, header: 0x128f
[ 3.231897] PD TX complete, status: 0
[ 3.241346] PD TX complete, status: 0
[ 3.245708] PD RX, header: 0x45af [1]
[ 3.245715] Rx VDM cmd 0xff00a041 type 1 cmd 1 len 4
[ 3.245723] AMS DISCOVER_IDENTITY finished
[ 3.245764] Identity: 22d9:0002.0002
[ 3.245774] AMS DISCOVER_SVIDS start
[ 3.245779] PD TX, header: 0x148f
[ 3.252353] PD TX complete, status: 0
[ 3.259847] PD TX complete, status: 0
[ 3.262635] PD RX, header: 0x7b0 [1]
[ 3.262649] AMS DISCOVER_SVIDS finished
[ 4.223306] PD RX, header: 0x9ab [1]
[ 4.223321] state change SNK_READY -> VCONN_SWAP_ACCEPT [rev3 VCONN_SWAP]
[ 4.223333] PD TX, header: 0x683
[ 4.229353] PD TX complete, status: 0
[ 4.229358] AMS VCONN_SWAP finished
[ 4.229360] state change VCONN_SWAP_ACCEPT -> VCONN_SWAP_START [rev3 NONE_AMS]
[ 4.229361] state change VCONN_SWAP_START -> VCONN_SWAP_TURN_ON_VCONN [rev3 NONE_AMS]
[ 4.229363] vconn:=1
[ 4.230228] PD TX, header: 0x886
[ 4.236005] PD TX complete, status: 0
[ 4.236027] state change VCONN_SWAP_TURN_ON_VCONN -> SNK_READY [rev3 NONE_AMS]
[ 4.278320] PD TX complete, status: 0
[ 4.280609] PD TX complete, status: 0
[ 4.282839] PD RX, header: 0xbab [1]
[ 4.282844] state change SNK_READY -> VCONN_SWAP_ACCEPT [rev3 VCONN_SWAP]
[ 4.282853] PD TX, header: 0xa83
[ 4.289045] PD TX complete, status: 0
[ 4.289066] AMS VCONN_SWAP finished
[ 4.289071] state change VCONN_SWAP_ACCEPT -> VCONN_SWAP_START [rev3 NONE_AMS]
[ 4.289076] state change VCONN_SWAP_START -> VCONN_SWAP_WAIT_FOR_VCONN [rev3 NONE_AMS]
[ 4.289082] pending state change VCONN_SWAP_WAIT_FOR_VCONN -> HARD_RESET_SEND @ 100 ms [rev3 NONE_AMS]
[ 4.308074] PD TX complete, status: 0
[ 4.310289] PD RX, header: 0xda6 [1]
[ 4.310295] state change VCONN_SWAP_WAIT_FOR_VCONN -> VCONN_SWAP_TURN_OFF_VCONN [rev3 NONE_AMS]
[ 4.310303] vconn:=0
[ 4.311597] state change VCONN_SWAP_TURN_OFF_VCONN -> SNK_READY [rev3 NONE_AMS]
With this commit, cold boot tcpm log:
[ 2.708165] Setting usb_comm capable false
[ 2.712816] Setting voltage/current limit 0 mV 0 mA
[ 2.712821] polarity 0
[ 2.712844] Requesting mux state 0, usb-role 0, orientation 0
[ 2.713657] state change INVALID_STATE -> SNK_UNATTACHED [rev1 NONE_AMS]
[ 2.713666] CC1: 0 -> 0, CC2: 0 -> 0 [state SNK_UNATTACHED, polarity 0, disconnected]
[ 2.713671] 4-0022: registered
[ 2.713672] Setting usb_comm capable false
[ 2.718319] Setting voltage/current limit 0 mV 0 mA
[ 2.718326] polarity 0
[ 2.718328] Requesting mux state 0, usb-role 0, orientation 0
[ 2.719128] cc:=2
[ 2.724548] pending state change PORT_RESET -> PORT_RESET_WAIT_OFF @ 100 ms [rev1 NONE_AMS]
[ 2.724554] state change PORT_RESET -> PORT_RESET_WAIT_OFF [delayed 100 ms]
[ 2.724557] pending state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED @ 100 ms [rev1 NONE_AMS]
[ 2.824573] state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED [delayed 100 ms]
[ 2.824579] Start toggling
[ 2.842811] CC1: 0 -> 5, CC2: 0 -> 0 [state TOGGLING, polarity 0, connected]
[ 2.842816] state change TOGGLING -> SNK_ATTACH_WAIT [rev1 NONE_AMS]
[ 2.842820] pending state change SNK_ATTACH_WAIT -> SNK_DEBOUNCED @ 100 ms [rev1 NONE_AMS]
[ 2.942971] state change SNK_ATTACH_WAIT -> SNK_DEBOUNCED [delayed 100 ms]
[ 2.942986] state change SNK_DEBOUNCED -> SNK_ATTACHED [rev1 NONE_AMS]
[ 2.942993] polarity 0
[ 2.942998] Requesting mux state 1, usb-role 2, orientation 1
[ 2.943852] state change SNK_ATTACHED -> SNK_STARTUP [rev1 NONE_AMS]
[ 2.943882] state change SNK_STARTUP -> SNK_DISCOVERY [rev3 NONE_AMS]
[ 2.943887] Setting voltage/current limit 5000 mV 3000 mA
[ 2.943898] vbus=0 charge:=1
[ 2.943907] state change SNK_DISCOVERY -> SNK_WAIT_CAPABILITIES [rev3 NONE_AMS]
[ 2.948761] pending state change SNK_WAIT_CAPABILITIES -> SNK_SOFT_RESET @ 100 ms [rev3 NONE_AMS]
[ 2.992627] PD RX, header: 0x61a1 [1]
[ 2.992634] PDO 0: type 0, 5000 mV, 3000 mA [E]
[ 2.992637] PDO 1: type 0, 9000 mV, 3000 mA []
[ 2.992640] PDO 2: type 0, 12000 mV, 3000 mA []
[ 2.992642] PDO 3: type 0, 15000 mV, 3000 mA []
[ 2.992645] PDO 4: type 0, 20000 mV, 2250 mA []
[ 2.992647] PDO 5: type 3, 3300-16000 mV, 3000 mA
[ 2.992649] state change SNK_WAIT_CAPABILITIES -> SNK_NEGOTIATE_CAPABILITIES [rev3 POWER_NEGOTIATION]
[ 2.992654] Setting usb_comm capable false
[ 2.992663] cc=2 cc1=5 cc2=0 vbus=0 vconn=sink polarity=0
[ 2.992665] Requesting PDO 4: 20000 mV, 2250 mA
[ 2.992668] PD TX, header: 0x1082
[ 2.999549] PD TX complete, status: 0
[ 2.999555] pending state change SNK_NEGOTIATE_CAPABILITIES -> HARD_RESET_SEND @ 60 ms [rev3 POWER_NEGOTIATION]
[ 3.003652] PD TX complete, status: 0
[ 3.005804] PD RX, header: 0x3a3 [1]
[ 3.005807] state change SNK_NEGOTIATE_CAPABILITIES -> SNK_TRANSITION_SINK [rev3 POWER_NEGOTIATION]
[ 3.005811] Setting standby current 5000 mV @ 500 mA
[ 3.005813] Setting voltage/current limit 5000 mV 500 mA
[ 3.005817] pending state change SNK_TRANSITION_SINK -> HARD_RESET_SEND @ 500 ms [rev3 POWER_NEGOTIATION]
[ 3.265762] PD RX, header: 0x5a6 [1]
[ 3.265777] Setting voltage/current limit 20000 mV 2250 mA
[ 3.265805] state change SNK_TRANSITION_SINK -> SNK_READY [rev3 POWER_NEGOTIATION]
[ 3.265959] AMS POWER_NEGOTIATION finished
[ 3.265971] AMS DISCOVER_IDENTITY start
[ 3.265978] PD TX, header: 0x128f
[ 3.273258] PD TX complete, status: 0
[ 3.282902] PD TX complete, status: 0
[ 3.286990] PD RX, header: 0x47af [1]
[ 3.287007] Rx VDM cmd 0xff00a041 type 1 cmd 1 len 4
[ 3.287017] AMS DISCOVER_IDENTITY finished
[ 3.287062] Identity: 22d9:0002.0002
[ 3.287073] AMS DISCOVER_SVIDS start
[ 3.287079] PD TX, header: 0x148f
[ 3.293655] PD TX complete, status: 0
[ 3.300800] PD TX complete, status: 0
[ 3.303027] PD RX, header: 0x9b0 [1]
[ 3.303040] AMS DISCOVER_SVIDS finished
[ 4.259544] PD RX, header: 0xbab [1]
[ 4.259559] state change SNK_READY -> VCONN_SWAP_ACCEPT [rev3 VCONN_SWAP]
[ 4.259571] PD TX, header: 0x683
[ 4.265802] PD TX complete, status: 0
[ 4.265807] AMS VCONN_SWAP finished
[ 4.265808] state change VCONN_SWAP_ACCEPT -> VCONN_SWAP_START [rev3 NONE_AMS]
[ 4.265810] state change VCONN_SWAP_START -> VCONN_SWAP_TURN_ON_VCONN [rev3 NONE_AMS]
[ 4.265811] vconn:=1
[ 4.266600] PD TX, header: 0x886
[ 4.272353] PD TX complete, status: 0
[ 4.272372] state change VCONN_SWAP_TURN_ON_VCONN -> SNK_READY [rev3 NONE_AMS]
[ 4.315292] PD TX complete, status: 0
[ 4.317488] PD TX complete, status: 0
[ 4.319696] PD RX, header: 0xdab [1]
[ 4.319711] state change SNK_READY -> VCONN_SWAP_ACCEPT [rev3 VCONN_SWAP]
[ 4.319724] PD TX, header: 0xa83
[ 4.325914] PD TX complete, status: 0
[ 4.325932] AMS VCONN_SWAP finished
[ 4.325940] state change VCONN_SWAP_ACCEPT -> VCONN_SWAP_START [rev3 NONE_AMS]
[ 4.325947] state change VCONN_SWAP_START -> VCONN_SWAP_WAIT_FOR_VCONN [rev3 NONE_AMS]
[ 4.325954] pending state change VCONN_SWAP_WAIT_FOR_VCONN -> HARD_RESET_SEND @ 100 ms [rev3 NONE_AMS]
[ 4.345304] PD TX complete, status: 0
[ 4.347517] PD RX, header: 0xfa6 [1]
[ 4.347538] state change VCONN_SWAP_WAIT_FOR_VCONN -> VCONN_SWAP_TURN_OFF_VCONN [rev3 NONE_AMS]
[ 4.347551] vconn:=0
[ 4.348853] state change VCONN_SWAP_TURN_OFF_VCONN -> SNK_READY [rev3 NONE_AMS]
Without this commit, reboot tcpm log:
[ 2.532173] Setting usb_comm capable false
[ 2.536978] Setting voltage/current limit 0 mV 0 mA
[ 2.536993] polarity 0
[ 2.537048] Requesting mux state 0, usb-role 0, orientation 0
[ 2.538353] state change INVALID_STATE -> SNK_UNATTACHED [rev1 NONE_AMS]
[ 2.538373] CC1: 0 -> 0, CC2: 0 -> 0 [state SNK_UNATTACHED, polarity 0, disconnected]
[ 2.538382] 4-0022: registered
[ 2.538384] Setting usb_comm capable false
[ 2.543057] Setting voltage/current limit 0 mV 0 mA
[ 2.543063] polarity 0
[ 2.543065] Requesting mux state 0, usb-role 0, orientation 0
[ 2.543867] cc:=2
[ 2.549279] pending state change PORT_RESET -> PORT_RESET_WAIT_OFF @ 100 ms [rev1 NONE_AMS]
[ 2.549285] state change PORT_RESET -> PORT_RESET_WAIT_OFF [delayed 100 ms]
[ 2.549289] pending state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED @ 100 ms [rev1 NONE_AMS]
[ 2.649450] state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED [delayed 100 ms]
[ 2.649466] Start toggling
[ 2.667146] CC1: 0 -> 5, CC2: 0 -> 0 [state TOGGLING, polarity 0, connected]
[ 2.667149] state change TOGGLING -> SNK_ATTACH_WAIT [rev1 NONE_AMS]
[ 2.667152] pending state change SNK_ATTACH_WAIT -> SNK_DEBOUNCED @ 100 ms [rev1 NONE_AMS]
[ 2.767225] state change SNK_ATTACH_WAIT -> SNK_DEBOUNCED [delayed 100 ms]
[ 2.767240] state change SNK_DEBOUNCED -> SNK_ATTACHED [rev1 NONE_AMS]
[ 2.767247] polarity 0
[ 2.767253] Requesting mux state 1, usb-role 2, orientation 1
[ 2.768133] state change SNK_ATTACHED -> SNK_STARTUP [rev1 NONE_AMS]
[ 2.768161] state change SNK_STARTUP -> SNK_DISCOVERY [rev3 NONE_AMS]
[ 2.768167] Setting voltage/current limit 5000 mV 3000 mA
[ 2.768177] vbus=0 charge:=1
[ 2.768187] state change SNK_DISCOVERY -> SNK_WAIT_CAPABILITIES [rev3 NONE_AMS]
[ 2.773019] pending state change SNK_WAIT_CAPABILITIES -> SNK_SOFT_RESET @ 100 ms [rev3 NONE_AMS]
[ 2.873190] state change SNK_WAIT_CAPABILITIES -> SNK_SOFT_RESET [delayed 100 ms]
[ 2.873204] AMS SOFT_RESET_AMS start
[ 2.873210] state change SNK_SOFT_RESET -> AMS_START [rev3 SOFT_RESET_AMS]
[ 2.873219] state change AMS_START -> SOFT_RESET_SEND [rev3 SOFT_RESET_AMS]
[ 2.878002] PD TX, header: 0x8d
[ 2.883702] PD TX complete, status: 0
[ 2.883722] pending state change SOFT_RESET_SEND -> HARD_RESET_SEND @ 60 ms [rev3 SOFT_RESET_AMS]
[ 2.888070] PD TX complete, status: 0
[ 2.890468] PD RX, header: 0x1a3 [1]
[ 2.890475] AMS SOFT_RESET_AMS finished
[ 2.890479] state change SOFT_RESET_SEND -> SNK_WAIT_CAPABILITIES [rev3 NONE_AMS]
[ 2.890489] pending state change SNK_WAIT_CAPABILITIES -> HARD_RESET_SEND @ 310 ms [rev3 NONE_AMS]
[ 2.896158] PD RX, header: 0x63a1 [1]
[ 2.896176] PDO 0: type 0, 5000 mV, 3000 mA [E]
[ 2.896185] PDO 1: type 0, 9000 mV, 3000 mA []
[ 2.896192] PDO 2: type 0, 12000 mV, 3000 mA []
[ 2.896200] PDO 3: type 0, 15000 mV, 3000 mA []
[ 2.896207] PDO 4: type 0, 20000 mV, 2250 mA []
[ 2.896213] PDO 5: type 3, 3300-16000 mV, 3000 mA
[ 2.896219] state change SNK_WAIT_CAPABILITIES -> SNK_NEGOTIATE_CAPABILITIES [rev3 POWER_NEGOTIATION]
[ 2.896234] Setting usb_comm capable false
[ 2.896259] cc=2 cc1=5 cc2=0 vbus=0 vconn=sink polarity=0
[ 2.896266] Requesting PDO 4: 20000 mV, 2250 mA
[ 2.896273] PD TX, header: 0x1282
[ 2.903839] PD TX complete, status: 0
[ 2.903844] pending state change SNK_NEGOTIATE_CAPABILITIES -> HARD_RESET_SEND @ 60 ms [rev3 POWER_NEGOTIATION]
[ 2.906207] PD RX, header: 0x5a3 [1]
[ 2.906213] state change SNK_NEGOTIATE_CAPABILITIES -> SNK_TRANSITION_SINK [rev3 POWER_NEGOTIATION]
[ 2.906223] Setting standby current 5000 mV @ 500 mA
[ 2.906228] Setting voltage/current limit 5000 mV 500 mA
[ 2.906243] pending state change SNK_TRANSITION_SINK -> HARD_RESET_SEND @ 500 ms [rev3 POWER_NEGOTIATION]
[ 2.908807] PD TX complete, status: 0
[ 2.941940] PD RX, header: 0x7a6 [1]
[ 2.941946] Setting voltage/current limit 20000 mV 2250 mA
[ 2.941959] state change SNK_TRANSITION_SINK -> SNK_READY [rev3 POWER_NEGOTIATION]
[ 2.942106] AMS POWER_NEGOTIATION finished
[ 2.942117] AMS DISCOVER_IDENTITY start
[ 2.942124] PD TX, header: 0x148f
[ 2.949003] PD TX complete, status: 0
[ 2.959493] PD TX complete, status: 0
[ 2.964188] PD RX, header: 0x49af [1]
[ 2.964196] Rx VDM cmd 0xff00a041 type 1 cmd 1 len 4
[ 2.964204] AMS DISCOVER_IDENTITY finished
[ 2.964242] Identity: 22d9:0002.0002
[ 2.964252] AMS DISCOVER_SVIDS start
[ 2.964258] PD TX, header: 0x168f
[ 2.971024] PD TX complete, status: 0
[ 2.979511] PD TX complete, status: 0
[ 2.982256] PD RX, header: 0xbb0 [1]
[ 2.982272] AMS DISCOVER_SVIDS finished
With this commit, reboot tcpm log:
[ 2.527839] Setting usb_comm capable false
[ 2.532490] Setting voltage/current limit 0 mV 0 mA
[ 2.532496] polarity 0
[ 2.532517] Requesting mux state 0, usb-role 0, orientation 0
[ 2.533332] state change INVALID_STATE -> SNK_UNATTACHED [rev1 NONE_AMS]
[ 2.533340] CC1: 0 -> 0, CC2: 0 -> 0 [state SNK_UNATTACHED, polarity 0, disconnected]
[ 2.533344] 4-0022: registered
[ 2.533345] Setting usb_comm capable false
[ 2.537998] Setting voltage/current limit 0 mV 0 mA
[ 2.538004] polarity 0
[ 2.538006] Requesting mux state 0, usb-role 0, orientation 0
[ 2.538802] cc:=2
[ 2.544211] pending state change PORT_RESET -> PORT_RESET_WAIT_OFF @ 100 ms [rev1 NONE_AMS]
[ 2.644242] state change PORT_RESET -> PORT_RESET_WAIT_OFF [delayed 100 ms]
[ 2.644251] pending state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED @ 100 ms [rev1 NONE_AMS]
[ 2.744489] state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED [delayed 100 ms]
[ 2.744504] Start toggling
[ 2.761475] CC1: 0 -> 5, CC2: 0 -> 0 [state TOGGLING, polarity 0, connected]
[ 2.761486] state change TOGGLING -> SNK_ATTACH_WAIT [rev1 NONE_AMS]
[ 2.761495] pending state change SNK_ATTACH_WAIT -> SNK_DEBOUNCED @ 100 ms [rev1 NONE_AMS]
[ 2.861545] state change SNK_ATTACH_WAIT -> SNK_DEBOUNCED [delayed 100 ms]
[ 2.861558] state change SNK_DEBOUNCED -> SNK_ATTACHED [rev1 NONE_AMS]
[ 2.861565] polarity 0
[ 2.861580] Requesting mux state 1, usb-role 2, orientation 1
[ 2.862732] state change SNK_ATTACHED -> SNK_STARTUP [rev1 NONE_AMS]
[ 2.862759] state change SNK_STARTUP -> SNK_DISCOVERY [rev3 NONE_AMS]
[ 2.862765] Setting voltage/current limit 5000 mV 3000 mA
[ 2.862776] vbus=0 charge:=1
[ 2.862786] state change SNK_DISCOVERY -> SNK_WAIT_CAPABILITIES [rev3 NONE_AMS]
[ 2.868632] pending state change SNK_WAIT_CAPABILITIES -> SNK_SOFT_RESET @ 100 ms [rev3 NONE_AMS]
[ 2.968809] state change SNK_WAIT_CAPABILITIES -> SNK_SOFT_RESET [delayed 100 ms]
[ 2.968825] AMS SOFT_RESET_AMS start
[ 2.968831] state change SNK_SOFT_RESET -> AMS_START [rev3 SOFT_RESET_AMS]
[ 2.968837] state change AMS_START -> SOFT_RESET_SEND [rev3 SOFT_RESET_AMS]
[ 2.973940] PD TX, header: 0x8d
[ 2.979715] PD TX complete, status: 0
[ 2.979737] pending state change SOFT_RESET_SEND -> HARD_RESET_SEND @ 60 ms [rev3 SOFT_RESET_AMS]
[ 2.983781] PD TX complete, status: 0
[ 2.986005] PD RX, header: 0x1a3 [1]
[ 2.986029] AMS SOFT_RESET_AMS finished
[ 2.986033] state change SOFT_RESET_SEND -> SNK_WAIT_CAPABILITIES [rev3 NONE_AMS]
[ 2.986044] pending state change SNK_WAIT_CAPABILITIES -> HARD_RESET_SEND @ 310 ms [rev3 NONE_AMS]
[ 2.991556] PD RX, header: 0x63a1 [1]
[ 2.991576] PDO 0: type 0, 5000 mV, 3000 mA [E]
[ 2.991585] PDO 1: type 0, 9000 mV, 3000 mA []
[ 2.991593] PDO 2: type 0, 12000 mV, 3000 mA []
[ 2.991600] PDO 3: type 0, 15000 mV, 3000 mA []
[ 2.991607] PDO 4: type 0, 20000 mV, 2250 mA []
[ 2.991614] PDO 5: type 3, 3300-16000 mV, 3000 mA
[ 2.991619] state change SNK_WAIT_CAPABILITIES -> SNK_NEGOTIATE_CAPABILITIES [rev3 POWER_NEGOTIATION]
[ 2.991647] Setting usb_comm capable false
[ 2.991676] cc=2 cc1=5 cc2=0 vbus=0 vconn=sink polarity=0
[ 2.991684] Requesting PDO 4: 20000 mV, 2250 mA
[ 2.991690] PD TX, header: 0x1282
[ 2.999405] PD TX complete, status: 0
[ 2.999410] pending state change SNK_NEGOTIATE_CAPABILITIES -> HARD_RESET_SEND @ 60 ms [rev3 POWER_NEGOTIATION]
[ 3.001772] PD RX, header: 0x5a3 [1]
[ 3.001778] state change SNK_NEGOTIATE_CAPABILITIES -> SNK_TRANSITION_SINK [rev3 POWER_NEGOTIATION]
[ 3.001787] Setting standby current 5000 mV @ 500 mA
[ 3.001792] Setting voltage/current limit 5000 mV 500 mA
[ 3.001806] pending state change SNK_TRANSITION_SINK -> HARD_RESET_SEND @ 500 ms [rev3 POWER_NEGOTIATION]
[ 3.004262] PD TX complete, status: 0
[ 3.036663] PD RX, header: 0x7a6 [1]
[ 3.036669] Setting voltage/current limit 20000 mV 2250 mA
[ 3.036681] state change SNK_TRANSITION_SINK -> SNK_READY [rev3 POWER_NEGOTIATION]
[ 3.036821] AMS POWER_NEGOTIATION finished
[ 3.036832] AMS DISCOVER_IDENTITY start
[ 3.036839] PD TX, header: 0x148f
[ 3.043197] PD TX complete, status: 0
[ 3.053185] PD TX complete, status: 0
[ 3.057377] PD RX, header: 0x49af [1]
[ 3.057384] Rx VDM cmd 0xff00a041 type 1 cmd 1 len 4
[ 3.057392] AMS DISCOVER_IDENTITY finished
[ 3.057430] Identity: 22d9:0002.0002
[ 3.057440] AMS DISCOVER_SVIDS start
[ 3.057445] PD TX, header: 0x168f
[ 3.064335] PD TX complete, status: 0
[ 3.071759] PD TX complete, status: 0
[ 3.074437] PD RX, header: 0xbb0 [1]
[ 3.074447] AMS DISCOVER_SVIDS finished
I did not encounter boot loop issues. And from the log I can't see significant difference before and after this commit.
usb-role-switch cannot be configured when set to host or peripheral mode.