Skip to content

dev-qemu: Introduce emulated I2C peripheral #27

@kurtjd

Description

@kurtjd

The motivation for this is to emulate I2C transactions between an emulated host machine running Windows and the emulated EC. This will allow us to test a hidi2c service fully in software.

The basic idea is:

  • Create a custom i2c device in QEMU that exposes a simple register interface and performs transfers over a socket that acts as bus
  • This custom i2c device will likely be designed to just be symmetrical so it can be used by both host (controller) and EC (target)
  • Windows communicates using existing inbox HID driver, but we will need to plug in a custom Windows driver somewhere that can speak the register interface of our custom i2c device
  • Update the qemu-risv HAL to provide an interface around this that implements I2C target traits so it can be consumed by a hidi2c service.
  • Then emulate a simple keyboard or something that can make use of the keyboard-service that talks over hidi2c.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No fields configured for Task.

Projects

Status
In progress
Status
In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions