01cab772aa
First USB 2.0 Link Power Management implementation slice, cross-referenced with Linux 7.1 drivers/usb/host/xhci.c: xhci_set_usb2_hardware_lpm() and xhci-port.h. capability.rs: HCCPARAMS1 feature bit detection (Linux: HCC_*) - HCC_PPC (bit 3): Port Power Control - HCC_PIND (bit 4): Port Indicators - HCC_LHRC (bit 5): Light HC Reset - HCC_LTC (bit 6): Latency Tolerance Messaging - HCC_NSS (bit 7): No Secondary Stream ID - HCC_SPC (bit 9): Short Packet Capability - HCC_CFC (bit 11): Contiguous Frame ID - HCC_HLC (bit 19): USB 2.0 Hardware LPM Capability (xHCI 1.1+) port.rs: PORTHLPMC register bit definitions (Linux: xhci-port.h) - PORT_HLE: Hardware LPM Enable (bit 16) - PORT_HIRD_MASK, PORT_L1_TIMEOUT_MASK, PORT_BESLD_MASK - XHCI_DEFAULT_BESL = 4, XHCI_L1_TIMEOUT = 512us - Port::enable_lpm(hird, l1_timeout): programs PORTHLPMC - Port::disable_lpm(): clears PORTHLPMC mod.rs: - init() logs HCC1.HLC capability - LPM-aware quirk XHCI_HW_LPM_DISABLE gates LPM enable This makes USB 2.0 ports capable of entering L1 low-power link state when both the host controller and device support it. Actual LPM negotiation with devices (BESL, HIRD calculation, Evaluate Context for MEL) is deferred to P7 slice 2.