Hi, On Tue, Sep 03, 2024 at 03:42:51PM GMT, Sören Moch wrote: > On 03.09.24 13:00, Soeren Moch wrote: > > Hi Sebastian, > > > > On 31.08.24 15:36, Soeren Moch wrote: > > [...] > > > Unfortunately I see the same problem as in v3: boot loop when powering > > > the board from my notebook (ThinkPad X1 Nano running Ubuntu 24.04.1 > > > LTS), > > > see boot log below. > > > > > > Patch version v2 is still running totally fine in the exact same setup > > > (patch series on top of u-boot 2024.07, same board, same cabling). > > > > > > Unfortunately I currently have no access to the miniPC (Zotac ZBOX > > > CI620) > > > I used as additional test platform before. > > > > > > The boot log is unfortunately not very helpful. If you provide an > > > additional > > > patch enabling more debug output, I'm happy to retest with that (v2 > > > and/or v4). > > > > Here additional debug messages for the not working case (LOG_DEBUG > > enabled): > > > > U-Boot 2024.07-00006-g65a73892d9-dirty (Sep 03 2024 - 12:22:42 +0200) > > > > Model: Radxa ROCK 5 Model B > > DRAM: 8 GiB > > fusb302 usb-typec@22: set pd RX off > > fusb302 usb-typec@22: vconn is already off > > fusb302 usb-typec@22: TCPM: set polarity = 0 > > fusb302 usb-typec@22: pd header : sink, device > > fusb302 usb-typec@22: TCPM: state change INVALID_STATE -> SNK_UNATTACHED > > fusb302 usb-typec@22: TCPM: Start toggling > > fusb302 usb-typec@22: TCPM: state change SNK_UNATTACHED -> TOGGLING > > fusb302 usb-typec@22: get cc1 = open, cc2 = open > > fusb302 usb-typec@22: TCPM: CC1: 0 -> 0, CC2: 0 -> 0 [state TOGGLING, > > polarity 0, disconnected] > > fusb302 usb-typec@22: IRQ: 0x80, a: 0x00, b: 0x00, status0: 0x83 > > fusb302 usb-typec@22: IRQ: VBUS_OK, vbus=On > > fusb302 usb-typec@22: IRQ: 0x01, a: 0x40, b: 0x00, status0: 0x82 > > fusb302 usb-typec@22: IRQ: TOGDONE > > fusb302 usb-typec@22: get cc1 = rp-1.5, cc2 = open > > fusb302 usb-typec@22: TCPM: CC1: 0 -> 4, CC2: 0 -> 0 [state TOGGLING, > > polarity 0, connected] > > fusb302 usb-typec@22: TCPM: state change TOGGLING -> SNK_ATTACH_WAIT > > fusb302 usb-typec@22: TCPM: pending state change SNK_ATTACH_WAIT -> > > SNK_DEBOUNCED @ 200 ms [rev1] > > fusb302 usb-typec@22: detected cc1=rp-1.5, cc2=open > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x00, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x00, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x00, status0: 0xc2 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0xd1 > > fusb302 usb-typec@22: cc1: rp-1.5 -> rp-def > > fusb302 usb-typec@22: get cc1 = rp-def, cc2 = open > > fusb302 usb-typec@22: TCPM: CC1: 4 -> 3, CC2: 0 -> 0 [state > > SNK_ATTACH_WAIT, polarity 0, connected] > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x00, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: cc1: rp-def -> rp-1.5 > > fusb302 usb-typec@22: get cc1 = rp-1.5, cc2 = open > > fusb302 usb-typec@22: TCPM: CC1: 3 -> 4, CC2: 0 -> 0 [state > > SNK_ATTACH_WAIT, polarity 0, connected] > > fusb302 usb-typec@22: TCPM: state change SNK_ATTACH_WAIT -> > > SNK_DEBOUNCED [delayed 200 ms] > > fusb302 usb-typec@22: TCPM: state change SNK_DEBOUNCED -> SNK_ATTACHED > > fusb302 usb-typec@22: TCPM: set polarity = 0 > > fusb302 usb-typec@22: pd header : sink, device > > fusb302 usb-typec@22: TCPM: state change SNK_ATTACHED -> SNK_STARTUP > > fusb302 usb-typec@22: TCPM: state change SNK_STARTUP -> SNK_DISCOVERY > > fusb302 usb-typec@22: TCPM: set vbus = 0 charge = 1 > > fusb302 usb-typec@22: TCPM: state change SNK_DISCOVERY -> > > SNK_WAIT_CAPABILITIES > > fusb302 usb-typec@22: set pd RX on > > fusb302 usb-typec@22: TCPM: pending state change SNK_WAIT_CAPABILITIES > > -> SOFT_RESET_SEND @ 310 ms [rev3] > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x01, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: PD sent good CRC > > fusb302 usb-typec@22: Received PD message (header=0x17a1 len=4) > > fusb302 usb-typec@22: TCPM: PD RX, header: 0x17a1 [1] > > fusb302 usb-typec@22: TCPM: state change SNK_WAIT_CAPABILITIES -> > > SNK_NEGOTIATE_CAPABILITIES > > fusb302 usb-typec@22: TCPM: cc=0 cc1=4 cc2=0 vbus=0 vconn=sink polarity=0 > > fusb302 usb-typec@22: TCPM: PD TX, header: 0x1082 > > fusb302 usb-typec@22: Send PD message (header=0x1082 len=4) > > fusb302 usb-typec@22: IRQ: 0x41, a: 0x04, b: 0x00, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: PD tx success > > fusb302 usb-typec@22: Received PD message (header=0x161 len=0) > > fusb302 usb-typec@22: TCPM: PD TX complete, status: 0 > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x01, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: PD sent good CRC > > fusb302 usb-typec@22: Received PD message (header=0x9a3 len=0) > > fusb302 usb-typec@22: TCPM: PD RX, header: 0x9a3 [1] > > fusb302 usb-typec@22: TCPM: state change SNK_NEGOTIATE_CAPABILITIES -> > > SNK_TRANSITION_SINK > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x01, status0: 0x93 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: PD sent good CRC > > fusb302 usb-typec@22: Received PD message (header=0xba6 len=0) > > fusb302 usb-typec@22: TCPM: PD RX, header: 0xba6 [1] > > fusb302 usb-typec@22: TCPM: state change SNK_TRANSITION_SINK -> SNK_READY > > fusb302 usb-typec@22: IRQ: 0x01, a: 0x00, b: 0x00, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x01, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: PD sent good CRC > > fusb302 usb-typec@22: Received PD message (header=0x1daf len=4) > > fusb302 usb-typec@22: TCPM: PD RX, header: 0x1daf [1] > > fusb302 usb-typec@22: IRQ: 0x01, a: 0x00, b: 0x00, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: 0x41, a: 0x00, b: 0x01, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: PD sent good CRC > > fusb302 usb-typec@22: Received PD message (header=0x1faf len=4) > > fusb302 usb-typec@22: TCPM: PD RX, header: 0x1faf [1] > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x00, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: 0x01, a: 0x00, b: 0x00, status0: 0x93 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x93 > > fusb302 usb-typec@22: cc1: rp-1.5 -> rp-3.0 > > fusb302 usb-typec@22: get cc1 = rp-3.0, cc2 = open > > fusb302 usb-typec@22: TCPM: CC1: 4 -> 5, CC2: 0 -> 0 [state SNK_READY, > > polarity 0, connected] > > fusb302 usb-typec@22: IRQ: 0x01, a: 0x00, b: 0x00, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: cc1: rp-3.0 -> rp-1.5 > > fusb302 usb-typec@22: get cc1 = rp-1.5, cc2 = open > > fusb302 usb-typec@22: TCPM: CC1: 5 -> 4, CC2: 0 -> 0 [state SNK_READY, > > polarity 0, connected] > > fusb302 usb-typec@22: IRQ: 0x51, a: 0x00, b: 0x01, status0: 0x92 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x92 > > fusb302 usb-typec@22: IRQ: PD sent good CRC > > fusb302 usb-typec@22: Received PD message (header=0x11af len=4) > > fusb302 usb-typec@22: TCPM: PD RX, header: 0x11af [1] > > fusb302 usb-typec@22: IRQ: 0x01, a: 0x00, b: 0x00, status0: 0x93 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x93 > > fusb302 usb-typec@22: cc1: rp-1.5 -> rp-3.0 > > fusb302 usb-typec@22: get cc1 = rp-3.0, cc2 = open > > fusb302 usb-typec@22: TCPM: CC1: 4 -> 5, CC2: 0 -> 0 [state SNK_READY, > > polarity 0, connected] > > fusb302 usb-typec@22: TCPM: PD transmit data failed: -110 > > fusb302 usb-typec@22: TCPM: state change SNK_READY -> > > SNK_WAIT_CAPABILITIES > > fusb302 usb-typec@22: set pd RX on > > fusb302 usb-typec@22: TCPM: pending state change SNK_WAIT_CAPABILITIES > > -> HARD_RESET_SEND @ 310 ms [rev3] > > fusb302 usb-typec@22: TCPM: state change SNK_WAIT_CAPABILITIES -> > > HARD_RESET_SEND [delayed 310 ms] > > fusb302 usb-typec@22: TCPM: PD TX, type: 0x5 > > fusb302 usb-typec@22: IRQ: 0x41, a: 0x08, b: 0x00, status0: 0x93 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x93 > > fusb302 usb-typec@22: IRQ: PD hardreset sent > > fusb302 usb-typec@22: TCPM: PD TX complete, status: 0 > > fusb302 usb-typec@22: IRQ: 0x01, a: 0x00, b: 0x00, status0: 0x83 > > fusb302 usb-typec@22: IRQ: BC_LVL, handler pending > > fusb302 usb-typec@22: BC_LVL handler, status0 = 0x83 > > <Reset> > > > We already reached SNK_READY state, so everything should be fine and > finished. > But additional communication seams to cause a HARD_RESET sent by us, leading > to a boot loop. > > Seems to me we are not prepared for communication with port partners capable > of source and sink power roles. Just a guess, though.
I found two regressions in the code introduced in PATCHv3. After fixing them I got the Ravpower Powerbank working again. I will send PATCHv5 directly after this mail. By quickly going through your log, I think you also run into the polarity issue. -- Sebastian
signature.asc
Description: PGP signature