[PATCH v5 0/4] drm/xe: i2c support

Heikki Krogerus
2025-06-27T13:53:20Z

Hi,

Changed since v4:
- Cleanups requested by Andy.
- Casting the PCI power modes to make sparse happy - Raag.
- Limiting the use of this thing to Battlemage again. But I'm not sure
if this is the correct thing to do.

Changed since v3:
- Cleanups as requested by Rodrigo.
- The licence is now changed, but still need confirmation for it!

Changed since v2:
- Added dependency on regmap when i2c is enabled.

Changed since v1:
- Now rebased on top of drm-tip.
- No longer ignoring errors from xe_i2c_probe().
- Cleanups pointed out by Lucas.

I've also included followup patches from Raag and Riana to this
series.

Original cover letter:

Some of the future GPUs will provide access to the on-board Synopsys
DesignWare I2C host adapter. The i2c is used to connect various
microcontrollers. The initially supported microcontroller unit is
called Add-In Management Controller (AMC).

Thanks,

Heikki Krogerus (2):
i2c: designware: Add quirk for Intel Xe
drm/xe: Support for I2C attached MCUs

Raag Jadav (1):
drm/xe/pm: Wire up suspend/resume for I2C controller

Riana Tauro (1):
drm/xe/xe_i2c: Add support for i2c in survivability mode

drivers/gpu/drm/xe/Kconfig | 1 +
drivers/gpu/drm/xe/Makefile | 1 +
drivers/gpu/drm/xe/regs/xe_i2c_regs.h | 20 ++
drivers/gpu/drm/xe/regs/xe_irq_regs.h | 1 +
drivers/gpu/drm/xe/regs/xe_pmt.h | 2 +-
drivers/gpu/drm/xe/regs/xe_regs.h | 2 +
drivers/gpu/drm/xe/xe_device.c | 5 +
drivers/gpu/drm/xe/xe_device_types.h | 4 +
drivers/gpu/drm/xe/xe_i2c.c | 329 ++++++++++++++++++++
drivers/gpu/drm/xe/xe_i2c.h | 62 ++++
drivers/gpu/drm/xe/xe_irq.c | 2 +
drivers/gpu/drm/xe/xe_pm.c | 9 +
drivers/gpu/drm/xe/xe_survivability_mode.c | 23 +-
drivers/i2c/busses/i2c-designware-platdrv.c | 18 +-
14 files changed, 464 insertions(+), 15 deletions(-)
create mode 100644 drivers/gpu/drm/xe/regs/xe_i2c_regs.h
create mode 100644 drivers/gpu/drm/xe/xe_i2c.c
create mode 100644 drivers/gpu/drm/xe/xe_i2c.h

--
2.47.2