ARM client PC (CLIENTPC)
Introduction
The Client PC project aims to investigate and develop SystemReady-compliant UEFI and ACPI firmware and kernel solutions for enabling fully functional client PCs for Arm-based hardware running both Linux an Windows.
The project's initial focus will be to prototype and develop UEFI+ACPI firmware for a reference platform that can boot major client operating systems like Linux and Windows out of the box with full driver support, power and performance management capabilities, etc.
Future phases of the project will focus on other open-source solutions needed for the client PC market, such as firmware-based trusted platform modules.
Deliverables
Reference implementation of firmware (EDK2[ACPI] and TF-A).
Linux kernel extensions for missing ACPI features.
Evaluate the reference firmware with Windows.
Standardise missing ACPI bindings through ACPI working group and Arm SystemReady program.
Documentation (wiki/blogs etc.)
Reference Platforms
NXP I.MX8MP
RD-N2 FVP
ACPI Feature Enablement
https://linaro.atlassian.net/wiki/spaces/CLIENTPC/pages/28832038916
Achievements
The project is still in investigation phase and some of the key achievements are given below.
ACPI System Sleep States and Wake up Events - https://linaro.atlassian.net/wiki/spaces/CLIENTPC/pages/28867723303
Investigated ACPI system sleep states and wake up events with PSCI
ACPI Thermal Management - https://linaro.atlassian.net/wiki/spaces/CLIENTPC/pages/28832464918
Implemented Thermal Zones in RD-N2 Platform and tested with Linux including support for active and passive cooling devices.
Proposed patches to support CPUFreq (CPPC) for passive cooling with thermal framework
ACPI Device Power Management - https://linaro.atlassian.net/wiki/spaces/CLIENTPC/pages/28831416783
Investigated runtime device power management in ACPI with SCMI
Reference implementation on NXP I.MX8MP and RD-N2 platform
ACPI Clock Management - https://linaro.atlassian.net/wiki/spaces/CLIENTPC/pages/28832333867
Investigated clock framework requirements for Arm platform using NXP I.MX8MP platform
Reference implementation on NXP I.MX8MP with SCMI protocol
ACPI Pin Control - https://linaro.atlassian.net/wiki/spaces/CLIENTPC/pages/28831285713
Invesigated ACPI pin resources and implemented a reference implementation for I.MX8MP platform.
Implemented Linux pinctrl subsystem for ACPI and sent for upstream review.
DMA Controller - https://linaro.atlassian.net/wiki/spaces/CLIENTPC/pages/28837052418
Investigated shared DMA controller enablement with ACPI
Added ACPI bindings for I2C, SPI, UART, PCIe, USB, GPIO for the I.MX8MP platform.
Summary
Presentations
Linaro connect - London 2023
Related Projects
https://linaro.atlassian.net/wiki/spaces/WOAR
https://linaro.atlassian.net/wiki/spaces/WPERF
Active Members
Project Meetings
Wednesday 11:00-12:00 UTC
https://linaro.atlassian.net/wiki/spaces/CLIENTPC/pages/28736258049
Meeting Notes
Project Contacts
Project lead(s) @Niyas Sait (Deactivated)
Project manager @julianus.larson
Resources