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:
- Laptop in normal use with a 60 W USB-C PD charger on
port0 and a second 65 W USB-C charger on port2.
- The system became extremely slow. All cores were pinned at 400 MHz and BD PROCHOT was asserted (see MSR values above).
- Rebooted. It was still pinned at 400 MHz after the reboot.
- Unplugged the 65 W charger on
port2. PROCHOT cleared at once and full clocks returned.
- 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
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: emptyStandalone 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 elseIA32_PACKAGE_THERM_STATUS (0x1B1): PROCHOT active, thermal status inactiveMSR_POWER_CTL (0x1FC)bit 0 (BD PROCHOT) enabledTwo chargers were connected: 60 W on
port0and 65 W onport2. The EC/PD controller did not treat theport2charger as a power source. It putport2in the source role and advertised 5 V / 1.5 A to the charger, and no PD contract was established (partnerusb_power_delivery_revision= 0.0):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, althoughport2came 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:
Steps To Reproduce
I have not reproduced this reliably yet. What happened:
port0and a second 65 W USB-C charger onport2.port2. PROCHOT cleared at once and full clocks returned.port2again came up in the source role (5 V / 1.5 A, no PD contract).Expected Behavior
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
unknown error 256/GET_CABLE_PROPERTY failedUCSI errors on this board with BIOS 03.02)modprobe msr, then read 0x64F / 0x1B1 / 0x1FC from/dev/cpu/0/msr