Skip to content

dev-qemu: Add minimal tasks for completing HID handshake#31

Merged
kurtjd merged 1 commit into
OpenDevicePartnership:mainfrom
kurtjd:hid-handshake
Jun 26, 2026
Merged

dev-qemu: Add minimal tasks for completing HID handshake#31
kurtjd merged 1 commit into
OpenDevicePartnership:mainfrom
kurtjd:hid-handshake

Conversation

@kurtjd

@kurtjd kurtjd commented Jun 25, 2026

Copy link
Copy Markdown
Member

Updates dev-qemu to have a couple basic tasks that can complete the initial HID over i2c handshake that Windows will typically do on startup.

This it mainly to support the odp-platform-qemu-arm repo so that we can verify the Windows qemu instance can always successfully talk to the EC qemu instance and also serves as a basic example for further HIDI2C development within the qemu ec.

@kurtjd kurtjd marked this pull request as ready for review June 26, 2026 17:31
@kurtjd kurtjd requested a review from a team as a code owner June 26, 2026 17:32
@kurtjd kurtjd moved this from Todo to In progress in ODP Stack for QEMU SBSA (Arm64) Jun 26, 2026
@kurtjd kurtjd added the enhancement New feature or request label Jun 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a minimal HID-over-I2C implementation to the dev-qemu platform so a host (notably Windows) can complete the initial HID handshake during startup, enabling more reliable EC↔host comms validation in QEMU-based setups.

Changes:

  • Spawns new HID host/device Embassy tasks from dev-qemu’s main.
  • Introduces a minimal HID-over-I2C device implementation (descriptor + report descriptor + basic command acks).
  • Extends the QEMU board abstraction with an I2C target peripheral and an active-low GPIO “interrupt” line, plus required dependency updates.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
platform/dev-qemu/src/main.rs Wires up and spawns the new HID host/device tasks during boot.
platform/dev-qemu/src/hid.rs Implements the minimal HID-over-I2C handshake behavior and task loops.
platform/dev-qemu/src/board.rs Adds I2C target + GPIO interrupt line to the board bring-up.
platform/dev-qemu/Cargo.toml Adds HID-related dependencies and updates cargo-machete ignores.
platform/dev-qemu/Cargo.lock Locks new dependency graph entries introduced by HID support.

Comment thread platform/dev-qemu/src/hid.rs
Comment thread platform/dev-qemu/src/hid.rs
Comment thread platform/dev-qemu/src/hid.rs
@kurtjd kurtjd merged commit 41ef81a into OpenDevicePartnership:main Jun 26, 2026
40 checks passed
@github-project-automation github-project-automation Bot moved this from In progress to Done in ODP Stack for QEMU SBSA (Arm64) Jun 26, 2026
@kurtjd kurtjd deleted the hid-handshake branch June 26, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Development

Successfully merging this pull request may close these issues.

4 participants