Skip to content

[Laptop 13 Pro] Core Ultra Series 3: EC latches BD PROCHOT (400 MHz) across reboot; second USB-C charger misdetected as sink (laptop sources 5V/1.5A) #266

Description

@smiggiddy

System Model or SKU

Framework Laptop 13 (Intel® Core™ Ultra Series 3) — Laptop 13 Pro, Core Ultra X7 358H

BIOS Version

03.02

DIY Edition Information

Memory: Micron CT32G75C2LP5X.M4QC1 (32 GB LPCAMM2, LPDDR5X)
Storage: WD_BLACK SN770 500GB (fw 731030WD)

Port/Peripheral Information

Peripheral vendor and name (Linux typec port names; I haven't mapped these to Framework's physical port numbers):

  • typec/port0: USB-C charger, 60 W USB PD. Negotiated correctly, laptop is sink at 20 V / 3 A.
  • typec/port2: second USB-C charger, 65 W (wall block, 120 V). Misdetected: the laptop puts this port in the SOURCE role at 5 V / 1.5 A Type-C with no PD contract.
  • typec/port1, typec/port3: empty

Standalone Operation

Full System, Standalone mode NOT enabled (normal usage)

Describe the Bug

The CPU was locked at 400 MHz on every core, even under full load, which made the system nearly unusable. The EC was asserting BD PROCHOT while the CPU was cold (~39 °C package, no thermal throttle events).

  • MSR_CORE_PERF_LIMIT_REASONS (0x64F) = 0x10001: PROCHOT active + logged, nothing else
  • IA32_PACKAGE_THERM_STATUS (0x1B1): PROCHOT active, thermal status inactive
  • MSR_POWER_CTL (0x1FC) bit 0 (BD PROCHOT) enabled
  • intel_pstate had no software cap: scaling_max_freq 4.7 GHz, no_turbo=0, max_perf_pct=100, RAPL PL1/PL2 35 W/60 W
  • A 60 W PD charger was connected and online; battery at 80 %, "Not charging" (charge limit)

Two chargers were connected: 60 W on port0 and 65 W on port2. The EC/PD controller did not treat the port2 charger as a power source. It put port2 in the source role and advertised 5 V / 1.5 A to the charger, and no PD contract was established (partner usb_power_delivery_revision = 0.0):

/sys/class/typec/port0: power_role=source [sink]  opmode=usb_power_delivery   <- 60 W charger, OK
/sys/class/typec/port2: power_role=[source] sink  opmode=1.5A  data=[host]   <- 65 W charger, wrong role

The throttle survived a warm reboot. It only cleared when I unplugged the charger on port2. After that, PROCHOT deasserted immediately and the cores went back to 3.4–4.5 GHz under load. Plugging the same charger back into the same port did not re-trigger PROCHOT, although port2 came back in the same wrong source role at 5 V / 1.5 A. The misdetection alone doesn't always cause it; it looks like the EC latched a fault state and did not release it after conditions returned to normal.

Every USB-C connect event logs these UCSI errors, which look similar to #264:

ucsi_acpi USBC000:00: unknown error 256
ucsi_acpi USBC000:00: GET_CABLE_PROPERTY failed (-5)
ucsi_acpi USBC000:00: con1: failed to register partner alt modes (-5)

Steps To Reproduce

I have not reproduced this reliably yet. What happened:

  1. Laptop in normal use with a 60 W USB-C PD charger on port0 and a second 65 W USB-C charger on port2.
  2. The system became extremely slow. All cores were pinned at 400 MHz and BD PROCHOT was asserted (see MSR values above).
  3. Rebooted. It was still pinned at 400 MHz after the reboot.
  4. Unplugged the 65 W charger on port2. PROCHOT cleared at once and full clocks returned.
  5. Replugged it into the same port. PROCHOT did not re-trigger, but port2 again came up in the source role (5 V / 1.5 A, no PD contract).

Expected Behavior

  • A USB-C charger on any port should be detected as a power source (sink role on the laptop), not treated as a device for the laptop to power at 5 V / 1.5 A.
  • The EC should not hold BD PROCHOT when the CPU is cool and plenty of power is available. If the EC does assert it in response to a transient USB-C/PD fault, it should release it once the fault clears, and a reboot should clear it too.

Operating System

Arch Linux

Linux Kernel Version

Linux 7.2.6-arch2-1 #1 SMP PREEMPT_DYNAMIC Mon, 14 Sep 2026 22:41:30 +0000 x86_64

Additional Context

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions